1、下面哪个不是java中的关键字?()
A. public
B. true
C. main
D. class
考点:Java关键字。main是主方法的标识符,不是关键字。
2、下面程序的运行结果,哪个是正确的()
int b=1;
while(++b<3)
System.out.println("LOOP");
A. 程序将会进入死循环导致无输出
B. 输出一次LOOP
C. 会输出多次LOOP
D. 程序中含有编译错误
++b是先自加1然后再运算。b++是先运算再自加1。
3、关于数组的说法,正确的是()
A. 数组里面存放的是相同类型的数据
B. 获取数组的长度使用length属性
C. 获取数组的大小使用size方法
D. 数组的长度是可变的
数组可以存放不同类型的属性,只要类型兼容。数组的长度是不可变的,集合的长度是可变的。
4、下面哪种类型的文件可以在Java虚拟机中运行?()
A. .java B.jre C.exe D.class
5、下面语句中,正确的是( )
A.类名首字母为# B.一个类出现2个public修饰的方法
C.一个类中出现2个public修饰的类 D. 中文的字符编码为UTF-8
Java标识符规范,只能以字母下划线美元符号开头。一个类只能用1个public修饰的类。中文的字符编码为GBK。
6、 public static void main(String[] args){
int x = 12345;
switch (++x) {
case 12345:
System.out.println("A");
case 12346:
System.out.print("B");
break;
default:
System.out.println("C");
break;
}
}
A.A B. B C. BC D. AB
case中如果缺少break语句,会导致程序继续执行下一个case,直到遇到break,跳出switch选择。
7、下列 javaDoc 注释正确的是( )
A. /* 我爱北京天安门 */
B. //我爱北京天安门 */
C. /** 我爱北京天安门 */
D./* 我爱北京天安门 **/
Java注释三种格式
单行注释 //
多行注释 /*
语句 */
文档注释 /** */
8、我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.001米。请问,我折叠多少次,可以达到或者超过珠穆朗玛峰的高度( )
A.20
B. 22
C. 24
D.26
1 public class Test { 2 public static void main(String[] args) { 3 double a = 0.001; 4 int count = 0; //计数器 5 for (int i = 0; ; i++) { 6 a = a * 2; 7 count++; 8 if (a >= 8848) { 9 System.out.println(count);10 break;11 }12 }13 }14 }
9、在switch(expression)语句中,expression的数据类型不能是()
A. double
B. char
C. byte
D. short
expression的数据类型可以是整型或者char类型。
10、下面关于循环描述正确的是()多选
A. while循环先判断循环条件,后执行循环操作
B. while 至少会执行一次
C. do-while先进行循环条件判断,后执行循环操作
D. do-while循环至少执行一次,后进行循环判断
1、JDK、JRE和JVM的作用和关系。
2、写出一种从键盘中读入数据的方法。注意编码规范。类名定义为Main
3、Java注释的三种方式。
1、(13分)分析以下需求,并用代码实现:
(1)按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:9999 9988 9977 9966 9955
1 public class Answer1 { 2 public static void main(String[] args) { 3 int count = 0; //个数 4 for (int i = 9999;i>=1000 ;i--){ 5 //个位+百位=十位+千位 6 if (i % 10 + i / 100 % 10 == i / 10 % 10 + i / 1000 % 10){ 7 System.out.print(i+" "); 8 count ++; 9 if (count % 5 == 0){10 System.out.println();11 }12 }13 }14 15 System.out.println("个数为"+count);16 }17 }
2、(13分) 请设计一个类,这个类包含如下操作:
A:求两个数的和。
B:判断两个数是否相等。
C:输出九九乘法表。
最后在测试类中进行测试。
1 public class Answer3 { 2 3 public double sum(double a,double b){ 4 return a+b; 5 } 6 7 public boolean judge(double a,double b){ 8 return a == b; 9 }10 11 public void print(){12 for (int i = 1;i<=9;i++){13 for (int j = 1;j<=i;j++){14 System.out.print(i+"*"+j + "="+i*j +"\t");15 }16 System.out.println();17 }18 }19 20 21 22 public static void main(String[] args) {23 System.out.println(new Answer3().sum(1,2));24 System.out.println(new Answer3().judge(1,2));25 new Answer3().print();26 27 }28 29 30 }
3、(13分)一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
1 public class Answer3 { 2 public static void main(String[] ages) { 3 int sum; 4 for (int i = 1; i <= 1000; i++) { 5 sum = 0; 6 for (int j = 1; j < i; j++){ 7 if (i % j == 0) 8 sum = sum + j; 9 }10 if (i == sum){11 System.out.println(i);12 }13 }14 }15 }
4、(13分)求出1到100之间所有质数之和。
1 public class Prime { 2 public static void main(String[] args) { 3 int j; 4 int sum = 0; 5 for (int i = 2; i <= 100; i++) { // 1不是素数,所以直接从2开始循环 6 j = 2; 7 while (i % j != 0) { 8 j++; // 测试2至i的数字是否能被i整除,如不能就自加 9 }10 if (j == i) // 当有被整除的数字时,判断它是不是自身11 {12 sum+=i; // 如果是就sum+13 }14 }15 System.out.println(sum);16 }17 }