Java基础强化练习题2(附答案)

Java基础强化练习题2(附答案)
Java基础强化练习题2(附答案)

1. 下列代码的输出结果是:

public class Yikes {

public static void go(Long n) {

System.out.println("Long ");

}

public static void go(Short n) {

System.out.println("Short ");

}

public static void go(int n) {

System.out.println("int ");

}

public static void main(String[] args) {

short y = 6;

long z = 7;

go(y);

go(z);

}

}

A.

Long

Long

B.

Short

Long

C.

int

Long

D.

int

int

正确答案:C

2. 下面不属于接口的是:()。

A. java.sql.Connection

B. java.sql.Driver

C. java.sql.DriverManager

D. java.sql.ResultSet

正确答案:C

3. synchronized关键字做同步,可以使用在:()。

A. 方法上

B. 接口上

C. 变量上

D. 类上

正确答案:A

4. 类A的定义如下:

class A {

protected void f() throws FileNotFoundException { ………

}

}

下列代码段没有编译错误的是:()。

A.

class B extends A {

public void f() throws Exception {

………

}

}

B.

class B extends A {

public void g() throws IOException {

f();

}

}

C.

class B extends A {

public void g() {

try{

f();

………

}

catch(IOException e) {

………

}

catch(FileNotFoundException e1) {

………

}

}

}

D.

class B extends A {

public void g() {

try {

f();

}

catch(FileNotFoundException e) {

throw new RuntimeException(e);

}

}

}

正确答案:D

分析:子类重写父类的方法时候不能声明抛出比父类大的异常

5. 下列选项中能够得到字符串的一部分的单行函数是()。

A. INSERT

B. SUBSTR

C. LPAD

D. LEAST

正确答案:B

6. ResultSet提供了获取数据库中某个字段值的方法,如果某个字段为NUMBER类型,可以获取该字段值的方法是:( )。

A. getNumber()

B. getDouble()

C. setNumber()

D. setDouble()

正确答案:B

7. 下列代码编译和运行的结果是:

public class A {

void process() throws Exception {

throw new Exception();

}

public static void main(String[] args) {

A a = new B();

a.process();

}

}

class B extends A {

void process() {

System.out.println("B ");

}

}

A. 输出:B

B. 无输出

C. B类的process方法处,出现编译错误

D. 代码a.process();行,出现编译错误

正确答案:D

8. 下列代码编译和运行的结果是:

public static void main(String[] args) {

Float pi = new Float(3.14f);

if (pi > 3) {

System.out.print("pi is bigger than 3. ");

} else {

System.out.print("pi is not bigger than 3. ");

}

finally {

System.out.println("Have a nice day.");

}

}

A. 编译失败

B. 输出:pi is bigger than 3.

C. 输出:pi is bigger than 3. Have a nice day

D. 输出:pi is not bigger than 3. Have a nice day.

正确答案:A

9. 需要读取一个比较大的文本文件,这个文件里有很多字节的数据,那么下列最合适读这个文件的选项是:()。

A. new FileInputStream(“fileName”);

B. new InputStreamReader(new FileInputStream(“fileName”));

C. new BufferedReader(new InputStreamReader(new FileInputStream(“fileName”)));

D. new RandomAccessFile(“fileName”,”+rw”);

正确答案:C

10. 运行下列程序:

public static void main(String[] args) {

String str = "**oracle***oracle*****oracle***";

String str1 = "oracle";

int index = 0;

while ((index = str.indexOf(str1, index)) != -1) {

System.out.print(index + "");

index += str1.length();

}

}

控制台输出的结果是:()。

A. 1 10 21

B. 2 11 22

C. 3 13 23

D. 5 13 22

正确答案:B

11. 运行下列代码,输出为false的是:()。

A. String st1 = "abc";

System.out.println("abc" == st1);

B. String st2 = "abc";

System.out.println(st2.equals(new String("abc")));

C. Integer i = 100;

System.out.println(100 == i);

D. ArrayList list = new ArrayList();

System.out.println(list.contains(null));

正确答案:D

12. 下面关于ResultSet说法错误的是()。

A. 查询结束后,所有的结果数据将一次被存储在ResultSet对象中

B. Statement对象close后,由其创建的ResultSet对象将自动的close

C. 查询结束后,ResultSet中的游标指向第一条记录之上,因此要先调用一次next()才有可能取得记录

D. ResultSet的的方法getString(...)意为取得该列的数据以字符串的形式返回,数据库中的该列类型并不一定必须是字符类型

正确答案:A

13. 下列属于DML语句的是:()。

A. COMMIT

B. INSERT

C. DROP

D. GRANT

正确答案:B

14. 下面关于事务(Transaction)的说法错误的是:()。

A. 事务具备ACID四个基本特性,即A(Atomicity)—原子性、C(Consistency)—一致性、I(Isolation)—隔离性、D(Durability)—持久性。

B. 事务的提交(Commit)指将事务中所有对数据库的更新写到磁盘上的物理数据库中去,事务正常结束。

C. 事务的回滚(Rollback)指在事务运行的过程中发生了某种故障,事务不能继续进行,将事务中对数据库的所有以完成的操作全部撤消,回滚到事务开始的状态。

D. JDBC通过Connection对象控制事务,默认方式下,在执行完更改语句后需要必须要调用Connection的commit方法,对数据的更改才能生效。

正确答案:D

15. 运行下面程序:

public class Foo {

public static void main(String[] args) {

try {

test();

System.out.println("condition 1");

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("condition 2");

} catch (Exception e) {

System.out.println("condition 3");

} finally {

System.out.println("finally");

}

}

public static void test() {

String str = "cc";

https://www.360docs.net/doc/0d7636781.html,pareTo("abc");

}

}

输出的结果是:()。

A. condition 1 finally

B. condition 2 finally

C. condition 1 condition 3 finally

D. condition 1 condition 2 finally

正确答案:A

16. 查询客户姓名以及他的推荐人,没有推荐人的客户信息不显示,下列sql语句正确的是:

A.

select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.id = a2.id;

B.

select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.recommender_id = a2.recommender_id;

C.

select a1.real_name customer, a2.real_name recommenderfrom account a1 join account a2on a1.recommender_id = a2.id;

D.

select a1.real_name customer, a2.real_name recommenderfrom account a1, a2on a1.recommender_id = a2.id;

正确答案:C

17. 下列代码的运行结果是()。

public class Forest implements Serializable {

private Tree tree = new Tree();

public static void main(String[] args) {

Forest f = new Forest();

try {

FileOutputStream fs = new FileOutputStream("Forest.ser");

ObjectOutputStream os = new ObjectOutputStream(fs);

os.writeObject(f);

os.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

class Tree {

}

A. 编译失败

B. 运行时,抛出异常

C. Forest的实例被序列化到文件

D. Forest的实例和Tree的实例都被序列化到文件

正确答案:B

18. 关于Java 异常,下列说法错误的是()。

A. 异常是定义了程序中遇到的非致命的错误,而不是编译时的语法错误

B. try……catch语句中对try 内语句监测,如果发生异常,则把异常信息放入Exception类的对象中

C. throws 用来表示一个方法有可能抛出异常给上一层,则在调用该方法时必须捕捉异常,否则无法编译通过

D. main方法不可以使用throws 抛出异常

正确答案:D

19. 现有订单表(orders),包含字段:cid(顾客编号),pid(产品编号)。若查询既订购了产品P01,又订购了产品P02的顾客编号,下列Sql语句正确的是()

A. SELECT DISTINCT(cid) FROM orders o1 WHERE o1.pid IN(‘p01’,’p02’)

B. SELECT DISTINCT(cid) FROM ORDERS o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’ AND o1.cid=o2.cid

C. SELECT DISTINCT(cid) FROM orders WHERE pid=’p01’ AND cid IN(select cid FROM orders WHERE pid=’p02’)

D. SELECT DISTINCT(cid) FROM orders o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’

正确答案:C

20. 在JDBC中使用事务,想要回滚事务的方法是( )。

A. Connection的commit()

B. Connection的setAutoCommit()

C. Connection的rollback()

D. Connection的close()

正确答案:C

21. 包含事务控制方法setAutoCommit, commit, rollback的是:() 。

A. Connection

B. Statement

C. ResultSet

D. DriverManager

22. 如果查询表a(有3行数据)和表b(有4行数据),使用SELECT * FROM a,b,返回的查询结果的行数是:()。

A. 7

B. 1

C. 0

D. 12

正确答案:D

23. 关于String 和StringBuffer 下面说法正确的是()。

A. String操作字符串不改变原有字符串的内容

B. StringBuffer连接字符串速度没有String 快

C. String 可以使用append方法连接字符串

D. StringBuffer 在java.util包中

正确答案:A

24. 下列代码的运行结果是()

public class Foo {

static void test() throws RuntimeException {

try {

System.out.print("test ");

throw new RuntimeException();

} catch (Exception ex) {

System.out.print("exception ");

}

}

public static void main(String[] args) {

try {

test();

} catch (RuntimeException ex) {

System.out.print("runtime ");

}

System.out.print("end ");

}

}

A. test end

B. test

C. test runtime end

D. test exception end

正确答案:D

25. 下列不属于Collection接口的方法的是:

A. clear

B. contains

C. remove

D. listIterator

正确答案:D

26. 现有如下建表SQL语句:

CREATE TABLE departments (

department_id NUMBER(4) PRIMARY KEY,

department_name VARCHAR2(20),

city VARCHAR2(20),

province VARCHAR2(20) )

下面插入语句正确的是:( )。

A. INSERT INTO departments VALUES(300,’abc’);

B. INSERT INTO departments(department_nam e,department_id) VALUES(300,’design’);

C. INSERT INTO departments(department_name,city) VALUES(‘design’,’bj’);

D. INSERT INTO departments VALUES(300,’abc’,null,null);

正确答案:D

27. 下面的描述错误的是:( )。

A. Statement的executeQuery()方法会返回一个结果集

B. Statement的executeUpdate()方法会返回是否更新成功的boolean值

C. 使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值

D. ResultSet中的next()方法会使结果集中的下一行成为当前行

正确答案:B

28. 下列Oracle语句中,属于DDL语句的是()

A. DROP

B. INSERT

C. DELETE

D. SELECT

正确答案:A

29. 有一个表leanr,表里有三个字段分别是学号(student_id),课程(kc),成绩(grade)。查询表中存在课程重复2次以上的记录,显示课程和重复的次数,并且按照重复次数的降序排列,下列SQL语句正确的是:()。

A. SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc WHERE COUNT(kc)>=2 ;

B. SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc HAVING COUNT(kc)>=2 ;

C. SELECT kc,COUNT(kc) FROM leanr GROUP BY kc WHERE COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;

D. SELECT kc,COUNT(kc) FROM leanr GROUP BY kc HAVING COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;

正确答案:D

30. 在Oracle中,给Student表添加Address列,如下代码正确的是()。

A. ALTER TABLE student ADD COLUMN(address VARCHAR2(20))

B. UPDATE TABLE student ADD COLUMN(address VARCHAR2(20))

C. UPDATE TABLE student ADD(address VARCHAR2(20))

D. ALTER TABLE student ADD(address VARCHAR2(20))

正确答案:D

31. 下面关于结果集,说法错误的是:()。

A. 调用Connection对象的preparedStatement(String sql)方法所创建的PreparedStatement对象执行查询所得到的结果集不可以调用previous()方法。

B. Statement在执行完查询后,会把查询得到的所有数据通过网络一次加载到内存中。

C. ResultSet的getDate方法返回的类型是java.sql.Date而不是java.util.Date。

D. ResultSet的初始状态游标位于第一行之上,必须先调用其next方法,才可以获取到数据。正确答案:B

32. 请看下列代码:

public String makinStrings() {

String s = "Fred";

s = s + "47";

s = s.substring(2, 5);

s = s.toUpperCase();

return s.toString();

}

调用makinString方法,得到的字符串长度是:

A. 1

B. 2

C. 3

D. 4

正确答案:C

33. 下列代码编译和运行的结果是()

public class Foo {

public static void main(String[] args) {

java.util.List list = new java.util.ArrayList();

list.add(new B());

list.add(new C());

for (A a : list) {

a.x();

a.y();

}

}

}

interface A {

void x();

}

class B implements A {

public void x() {

}

public void y() {

}

}

class C extends B {

public void x() {

}

}

A. 代码运行没有输出

B. 运行时抛出异常

C. 代码a.y();行,编译错误

D. 代码java.util.List list = new java.util.ArrayList();行,编译错误

正确答案:C

34. 在JDBC连接数据库编程应用开发中,可以实现数据库连接的是()。

A. Connection接口

B. PreparedStatement类

C. CallableStatement类

D. Statement类

正确答案:A

35. 运行下面程序:

public static void main(String[] args) {

Map map = new HashMap();

map.put(String.valueOf(System.currentTimeMillis()) + "a", "1");

map.put(String.valueOf(System.currentTimeMillis()) + "b", "2");

map.put(String.valueOf(System.currentTimeMillis()) + "c", "3");

for (Map.Entry entry : map.entrySet()) {

System.out.println(entry.getValue());

}

}

输出的结果是:()。

A. 123

B. 312

C. 213

D. 123顺序无法确定

正确答案:D

36. 在Java语言中,下列说法正确的是:()。

A. StringBuffer和StringBuilder的区别在于:StringBuffer是线程安全的而StringBuilder不是。

B. String是不可变对象,而StringBuffer中封装的字符串数据是可以动态改变的。

C. 判断两个StringBuilder对象的字符序列是否相同,可以调用其equlas方法进行比较。

D. String的重写了equals方法,重写的逻辑是:字符序列相同的String对象equals方法返回true。

正确答案:ABD

37. 操作account表和age_segment表,查询客户huangrong 的年龄段,下列sql语句正确的是:

A. select real_name,birthdate,https://www.360docs.net/doc/0d7636781.html,from account a join age_segment son round((sysdate - birthdate)/365) between lowage and hiageand real_name = 'huangrong';

B. select real_name,birthdate,https://www.360docs.net/doc/0d7636781.html,from account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiageand real_name = 'huangrong';

C. select real_name,birthdate,https://www.360docs.net/doc/0d7636781.html,from account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiagewhere real_name = 'huangrong';

D. select real_name,birthdate,https://www.360docs.net/doc/0d7636781.html,from account a left join age_segment son round((sysdate - birthdate)/365) between lowage and hiage

正确答案:AC

38. 下面的方法属于StringBuffer的是:()。

A. size

B. insert

C. delete

D. length

正确答案:BCD

39. 下列语句在建表的同时在c2,c3列上创建了唯一约束,其中正确的是:

A.

create table test(

c1 number constraint test_c1_pk primary key,

c2 number constraint test_c2_uk foreign key,

c3 number constraint test_c3_ukforeign key);

B.

create table test(

c1 number constraint test_c1_pk primary key,

c2 number ,

c3 number ,

constraint test_c3_uk foreign key(c2,c3));

C.

create table test(

c1 number constraint test_c1_pk primary key,

c2 number ,

c3 number ,

constraint test_c3_uk unique(c2,c3));

D.

create table test(

c1 number constraint test_c1_pk primary key,

c2 number constraint test_c2_uk unique,

c3 number constraint test_c3_uk unique);

正确答案:CD

40. 请看下列代码:

public class Key {

private long id1;

private long 1d2;

// class Key methods

}

程序员开发Key类,作为java.util.HashMap的key,那么Key应该覆盖的两个方法是:

A. public int hashCode()

B. public boolean equals(Key k)

C. public int compareTo(Object o)

D. public boolean equals(Object o)

正确答案:AD

41. IO类实现了打开并读取一个文本文件,每次读取一行内容。将每行作为一个String字符串放入String数组里面返回。阅读代码并完成以下5题:

public class IO {

public String[] read(InputStream in) throws IOException {

String[] arr = new String[1];

String[] temp = null;

空白处1

String line ="";

while ((空白处2) != null) {

arr[arr.length - 1] = line;

空白处3

for (int i = 0; i < arr.length; i++) {

temp[i] = arr[i];

}

空白处4

for (int i = 0; i < arr.length; i++) {

arr[i] = temp[i];

}

}

arr = new String[temp.length - 1];

for (int i = 0; i < arr.length; i++) {

arr[i] = temp[i];

}

br.close();

return arr;

}

public static void main(String[] args) throws IOException {

String[] arr = new IO().read(new FileInputStream("data.txt"));

System.out.println(arr);

空白处5

System.out.println(str);

}

}

(1). 下列选项中,能填入空白处1的代码是( )

A. BufferedReader br = new BufferedReader(new InputStreamReader(in));

B. BufferedReader br = new BufferedReader(new FileReader(in));

C. FileReader br=new FileReader(in);

D. InputStreamReader br=new InputStreamReader(in);

正确答案:A

(2). 下列选项中,能填入空白处2的代码是( )

A. line = br.read();

B. line = br.readLine();

C. line = br.readString();

D. line = br.readUTF();

正确答案:B

(3). 下列选项中,能填入空白3的代码是( )

A. temp = new String[arr.length + 1];

B. temp = new String[arr.length];

C. temp = new String[arr.length-1];

D. temp = new String[arr.length/2];

正确答案:A

(4). 下列选项中,能填入空白处4的代码是( )

A. arr = new String[temp.length/2];

B. arr = new String[temp.length-1];

C. arr = new String[temp.length+1];

D. arr = new String[temp.length];

正确答案:D

(5). 下列选项中,能填入空白处5的代码是( )

A. for (arr: String str) {

B. for (arr[]:String str){

C. for (String str : arr) {

D. for (String str : arr[]) {

正确答案:C

42. ScoreManager类实现了成绩管理系统。该系统有如下功能供选则:录入成绩,成绩列表,查询成绩,退出。当用户在控制台输入1,用户选择的功能为录入成绩;输入2,用户选择的功能为成绩列表;输入3,用户选择的功能为根据姓名查找成绩;输入4,退出。ScoreManager类代码如下:

public class ScoreManager {

public static void main(String[] args) {

int numOfStudents = 10;

//学生名字信息数组

String[] students = NameUtils.randomNames(numOfStudents);

int[] scores = new int[numOfStudents];//学生成绩数组

//使用Scanner接收控制台的输入信息

空白处1

System.out.println("**********欢迎进入成绩管理系统**********");

while (true) {

System.out.println(" 请选择功能:1——成绩录入,2——成绩列表,3——成绩查询,4——退出");

String c = scanner.next().trim();

if ("1".equals(c)) {

System.out.println("开始录入成绩:");

for (int i = 0; i < students.length; i++) {

System.out.print((i + 1) + ". 学生姓名:" + students[i]+ ", 成绩:?");

//从控制台接收到学生成绩

空白处2

}

System.out.println("录入完毕。");

}

else if ("2".equals(c)) {

int avg = 0;

for (int i = 0; i < scores.length; i++) {

avg += scores[i];

}

//计算学生的平均成绩

空白处3

System.out.println(StringUtils.rightPad("编号", 20, " ")+ StringUtils.rightPad("姓名", 20, " ")

+ StringUtils.rightPad("成绩", 20, " "));

System.out.println(StringUtils.repeat("-", 30));

for (int i = 0; i < students.length; i++) {

System.out.println(StringUtils.rightPad(i + 1 + "", 10, " ")+ StringUtils.rightPad(students[i], 10, " ")+ StringUtils.rightPad(scores[i] + "", 10, " "));

}

System.out.println(StringUtils.repeat("-", 30));

System.out.println("平均成绩: " + avg);

}

else if ("3".equals(c)) {

System.out.print("请输入您要查询的学生姓名:");

String student = scanner.next().trim();

int i = 0;

for (; i < students.length; i++) {

//如果查找到某个学生的信息,退出当前循环

空白处4

}

if ( 空白处5 ) {

System.out.println((i + 1) + ". 学生姓名:" + students[i]+ ", 成绩:" + scores[i]);

}

else {

System.out.println("对不起,找不到学员的信息。");

}

}

else if ("4".equals(c)) {

System.out.println("**********谢谢使用**********");

break;

}

}

scanner.close();

}

}

(1). 下列选项中,能填入空白处1的代码是( )

A. Scanner scanner = new Scanner(System.out);

B. Scanner scanner = new Scanner(System.in);

C. Scanner scanner = new Scanner(new FileInputStream(System.in));

D. Scanner scanner = new Scanner(new FileOutputStream(System.out));

正确答案:B

(2). 下列选项中,能填入空白处2的代码是( )

A. scores[i] = scanner.nextInt();

B. scores[i] = scanner.next();

C. scores[i] = scanner.nextDouble();

D. scores[i] = scanner.nextString();

正确答案:A

(3). 下列选项中,能填入空白处3的代码是( )

A. avg *= scores.length;

B. avg /= scores.length;

C. avg *= scores.length-1;

D. avg /= scores.length-1;

正确答案:B

(4). 下列选项中,能填入空白处4的代码是( )

A. if (student.equalsIgnoreCase(students[i-1])) { break; }

B. if (student.equalsIgnoreCase(students[i])) { continue; }

C. if (student.equalsIgnoreCase(students[i-1])) { continue; }

D. if (student.equalsIgnoreCase(students[i])) { break; }

正确答案:D

(5). 下列选项中,能填入空白处5的代码是( )

A. scores.length < scores.length-1

B. scores.length < scores.length

C. i < students.length

D. i < students.length-1

正确答案:C

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

Java经典编程题50道

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】

Java基础知识问答题

Java 基础知识问答题 包含的模块 本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,如下图所示:

共包含208 道问答题,本文的宗旨是为读者朋友们整理一份基础知识的简单大纲,下面一起进入主题吧。 Java 基础 1. JDK 和JRE 有什么区别?

?JDK:Java Development Kit 的简称,Java 开发工具包,提供了Java 的开发环境和运行环境。 ?JRE:Java Runtime Environment 的简称,Java 运行环境,为Java 的运行提供了所需环境。 具体来说JDK 其实包含了JRE,同时还包含了编译Java 源码的编译器Javac,还包含了很多Java 程序调试和分析的工具。简单来说:如果你需要运行Java 程序,只需安装JRE 就可以了,如果你需要编写Java 程序,需要安装JDK。 2. == 和equals 的区别是什么? == 解读 对于基本类型和引用类型== 的作用效果是不同的,如下所示: ?基本类型:比较的是值是否相同; ?引用类型:比较的是引用是否相同; 代码示例: String x = "string"; String y = "string"; String z = new String("string"); System.out.println(x==y); // true System.out.println(x==z); // false System.out.println(x.equals(y)); // true System.out.println(x.equals(z)); // true 代码解读:因为x 和y 指向的是同一个引用,所以== 也是true,而new String()方法则重写开辟了内存空间,所以== 结果为false,而equals 比较的一直是值,所以结果都为true。 equals 解读

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

java循环结构while基础入门

1 while循环的基本格式 /* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) {

System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } } 2 while循环的实现 /* 练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } for(初始化语句;判断条件语句;控制条件语句) {

循环体语句; } */ class WhileDemo2 { public static void main(String[] args) { //求出1-100之和 //for语句版本 int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("sum:"+sum); System.out.println("--------"); //while语句版本 int sum2 = 0; int y=1; while(y<=100) { sum2+=y; y++; } System.out.println("sum2:"+sum2); System.out.println("--------"); } }

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.360docs.net/doc/0d7636781.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

java循环练习及答案

循环练习 1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。用户可以循环进行输入,如果输入n就退出系统。(使用do-while循环实现) public class A2 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String ke=""; do { S ystem.out.println("请输入代码:"); k e=scanner.next(); i f(ke.equals("1")){ System.out.println("使用Java语言理解程序逻辑"); } i f(ke.equals("2")){ System.out.println("使用HTML语言开发商业站点"); } i f(ke.equals("3")){ System.out.println("使用SQL Server管理和查询数据"); } i f(ke.equals("4")){ System.out.println("使用C#开发数据库应用程序"); } i f(ke.equals("n")){ System.out.println("出错!"); break; } } while (true); } } 2、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(使用for循环实现)

class A3 { public static void main(String[] args) { double mon = 10000; for( int i = 0; i < 5; i++){ mon *= 1+0.003; } System.out.println("5年后,获得的本金是"+mon+"元"); } } 3、求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现) public class A4 { public static void main(String[] args) { int i = 0,n=0; for (int a = 0; a < 10; a++) { for (int b = 0; b <= 9; b++) { if (b!=3) { i=a*10+b; n+=i; } } } n+=100; System.out.println(n); } } 4、输入一个正整数N,判断该数是不是质数,如果是质数输出“N是一个质数”,否则输出“N不是质数”。提示:质数的含义:除了1和它本身不能被任何数整除。(使用for循环实现) import java.util.Scanner; public class A5 { public static void main(String[] args) { int n,m=0; Scanner N=new Scanner(System.in); System.out.println("请输入要判断的数字:"); do{ n=N.nextInt(); for (int i = 2; i < n; i++) { if (n%i==0) { m=1; }

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0d7636781.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.360docs.net/doc/0d7636781.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0d7636781.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/0d7636781.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.360docs.net/doc/0d7636781.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

java基础练习题

1) 以下关于Java语言说法错误的是()。(选择两项) a) Java语言是一种OO语言,Java API是Java语言的帮助文档 b) Java语言具有平台无关性-Write Once,Run Anywhere c) Java语言的核心是Java Virtual Machine d) 使用Java语言,程序员要使用原始方法分配和释放内存空间 e) Java语言是一种编译执行语言 知识点: 第一章Java语言基础Java语言基本概念 2) 以下哪一项不是Java的关键字(b)。(选择一项) a) if b) then c) goto d) case e) while 知识点: 第二章Java编程基础Java中的关键字 3) 下列(a,e)不是合法的Java语言标识符。(选择两项) a) 2variable b) variable2 c) _whatavariable d) $anothervar e) #myvar f) _3_ 知识点: 第二章Java编程基础Java中的标识符 4) 执行下列代码段后,变量x的值是(c)。(选择一项) x=9; y=9; x=(y<=x++)?1:0; a) 1 b) 2 c) 0 d) 10 知识点: 第二章Java编程基础三元运算符 5) System.out.println(4 | 7);上面语句的输出结果是(d)。(选择一项) a) 4 b) 5 c) 6 d) 7 e) 0 知识点: 第二章Java编程基础位运算符 6) 以下会产生编译错误的Java语句是(b)。(选择一项) a) if (2 == 3) System.out.println("Hi"); b) if (2 = 3) System.out.println("Hi");

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

java运用循环编程题及答案

1.编写一个数的阶乘和。eg. Sum=1!+2!+3!+4!+5! public class j1_20 { public static void main(String[] args) { int a,sum,b=0,i; sum=0; for(b=1;b<=5;b++){ a=1; for(i=1;i<=b;i++){ a=a*i; } sum+=a; } System.out.println("1到5的结成和"+sum); } } 结果 2.把一个数组里的数字按照从小到大的顺序排列出来 public class j_sort { public static void main(String[] args) { int a[]=new int[]{12,15,63,56,21,71,91,3,16,43}; for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){ if(a[i]>a[j]){ int t; t=a[i]; a[i]=a[j]; a[j]=t; } } } System.out.println("从小到大的顺序为:"); for(int i=0;i<10;i++){ System.out.print(a[i]+" "); } } } 结果是

3.输出一个三角形 public class j_triangle1 { public static void main(String[] args) { int a=5,b=5; for(int i=1;i<5;i++){ for(int j=0;j<5-i;j++){ System.out.print(" "); } for(int e=1;e<=i;e++){ System.out.print("@"+" "); } System.out.println(""); } System.out.println("-----------"); for(int i=1;i<5;i++){ for(int j=0;j<5-i;j++){ System.out.print(" "); } for(int e=1;e<2*i;e++){ System.out.print("@"); } System.out.println(""); } } } 结果是

《Java编程基础知识点汇总及习题集》--答案

目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。

2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。

Java循环结构习题

A,求1到100以内的素数.要求每10个数换一行。 1.public class SuShu{ 2.public static void main(String[] args) { //求1到100的素数,实际就是求2 到99的素数,要知道的知识点是除2以为,所有的偶数都是素数。 3.inti,y;//必须在for语句之前定义,可以不对变量赋值 4.int t=0; 5.for(i=2;i<=99;i++){ 6. for( y=2;y<=i;y++) 7. { if(i%y==0) 8. break; 9. } 10.if(y==i){ 11.System.out.print(" "+y); 12.t++; 13.} 14. if(t%10==0){ 15.System.out.println(); 16. } 17. 18. 19.} 20.} 21.} B,一个自然数是素数,且它的数字位置任意对换后形成的数仍未素数,这种数叫做绝对素数,例如13 和31。编写一个程序,显示100以内的所有绝对素数。 分析,由题意可以知道必须是两位数字,而且只能有1、3、7、9组合,个位为5的能被5整数,不是素数。 publicclass Demo{ publicstaticvoid main(String[] args) { for(int i=10;i<=100;i++) { if(isSushu(i)&&isSushu(conveter(i))) { System.out.print(i+" "); }

} } staticboolean isSushu(int i)//i是否为素数 { int j=2; //用2到i-1之间的任一整数去整除 for(;j

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

java50道经典逻辑题

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序1】 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:咋一看不知道如何下手,但是你在草稿纸上写写分析一下,就很快发现其中的规律了package logic; import java.util.Scanner; public class RabbitNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("你想知道前几个月的兔子的数量"); int month = in.nextInt(); int[] mon = new int[month]; if(month < 3){ System.out.println("第" + month + "个月有1 对兔子,共2 只"); } else for(int i = 2; i < month; i++){ mon[0] = mon[1] = 1; mon[i] = mon[i - 1] + mon[i - 2]; System.out.printf("第%d 个月有%d 对兔子,共%d 只兔子\n", i + 1, mon[i], 2 * mon[i]); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 分析:如果知道素数是什么,该题就应该不难了 package logic; public class Prime { public static void main(String[] args) { System.out.print("101--200中的素数有:"); for(int i = 101; i <= 200; i++){ if(isPrime(i)) System.out.print(" " + i); } } //isPrime方法用来判断一个数是否是素数private static boolean isPrime(int i) { // TODO Auto-generated method stub for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0) return false; } return true; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:解决这个题目主要要知道怎么把一个数的各个位上的数拆分出来 package logic; import java.util.Scanner; public class NarcissisticNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("水仙花数有:"); for(int num = 100; num < 1000; num++){ if(isNarcissisticNum(num)) System.out.println(" " + num); } } //一个判断正整数是否为水仙花数的方法private static boolean isNarcissisticNum(int num) { // TODO Auto-generated method stub int a = num / 100; //分离出百位a int b = (num / 10) % 10; //分离出十位b int c = num % 10; //分离出个位 c int sum = a * a * a + b * b * b + c * c * c; if(sum == num) return true; else return false; } } 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 分析:按步骤实现就可以了(有多种实现方式,以下代码供参考。我也参考了别人的)package logic; import java.util.Scanner; public class PrimeFactorOfInteger { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

相关文档
最新文档