选择题
1. 下列各种符号的定义格式,那种在java语言中是正确的变量定义( )
A. int myVal =1; B.char $myVal =1;
C.byte _myVal =128; Dfloat 3.14myVal=1;
标识符必须以字母,下划线或美元符号开头,不能以数字开头
2. 下列对运算符的说法错误的是( )
A. x += 2;的功能是把x的值增加2
B. x -= 2;的功能是把x的值减去2
C. x *= 2的功能是把x的值变为原来的两倍
D. x ==2的功能是把2赋给了x
X==2的功能是x等于2
3. 关于下列循环语句,写法正确的是( )
A. while(true){}; B. for(;;){} C. do{}while(false); D. for(int a=0;a<5;a++);
循环语句的最后都不能有分号,分号代表停止,而循环是一直进行的
4. 关于数组的说法,正确的是( )
A. 数组里面存放的是相同类型的数据
B. 获取数组的长度使用length属性
C. 获取数组的大小使用size方法
D. 数组的长度是可变的
数组里面可以存放不同类型的数据
5. 若int[] a = {12,43,54,23},则a[3]的值是( )
A. 12 B. 43 C. 54 D. 23
6. 想要结果输出为0,则可以做哪些修改?( )
int [ ] arr = new int[1]; ①
arr[0] = 3; ②
System.out.println( arr[1] ); ③
A. ②处修改为arr[3] = 0;
B. ③处修改为System.out.println(0)
C. ①处修改为int [ ] arr = new int[2];
D. 不用修改了,结果就是0
7.下面程序代码的运行结果是( )
public static void main(String[] args){
for(int x=80; x < 90; x ++){
System.out.print(x);
}
}
A. 80
B. 90
C. 输出80、81…89、90
D. 输出8081…8889
Print不换行,println换行
8.下面哪种类型的文件可以在Java虚拟机中运行?( )
A. .java B.jre C.exe D.class
9. 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,不跳出循环,遇到break才跳出循环
10.下面语句中,正确的是( )
A.类名首字母为# B.一个类出现2个public修饰的方法
C.一个类中出现2个public修饰的类 D. 中文的字符编码为UTF-8
一个类中可以出现多个public修饰的方法,一个类中只能出现一个public修饰的类,国际的字符编码是UTF-8
简答题:
- JDK、JRE和JVM的作用和关系。
- 选做。选择(1)或者(2),标清题号就可以。
(1).Java代码的类修饰符,方法修饰符,属性(成员变量)修饰符有哪些?提示:只需写出类4,属性6,方法7。不必解释词义。
类:public、abstract、final、缺省
成员变量:public、private、protected、final 、static、缺省
方法:public、private、protected、final 、static、abstract、缺省
(2).写出一种从键盘中读入数据的方法。注意编码规范。类名定义为Main
- Java注释的三种方式。
编程题:
1.分析以下需求,并用代码实现:
(1)按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:9999 9988 9977 9966 9955
1 package yukebankaohe; 2 3 public class Answer1 { 4 public static void main(String[] args) { 5 int count = 0; 6 for(int i = 9999;i>=1000;i--) { 7 if(i%10+i/100%10 == i/10%10+i/1000%10) { 8 System.out.println(i+""); 9 count ++; 10 if(count % 5 == 0) { 11 System.out.println(); 12 } 13 } 14 } 15 System.out.println("个数为"+count); 16 } 17 18 }
2.给定一个顺序数组int a,未知从小到大还是从大到小。现给定一个字数b,请将数据插到合适的位置。数组和数字可以自己定义。
1 package yukebankaohe; 2 3 public class Answer2 { 4 public static void main(String[] args) { 5 boolean c = false; 6 int b = 9; 7 int[] a = { 5, 4, 3, 2, 1 }; 8 if (a[0] <= a[1]) { 9 c = !c; 10 } 11 int[] d = new int[6]; 12 for (int i = 0; i < a.length; i++) { 13 d[i] = a[i]; 14 } 15 d[5] = b; 16 if (c) { 17 for (int i = 0; i < d.length - 1; i++) { 18 for (int j = 0; j < d.length - 1 - i; j++) { 19 if (d[j] > d[j + 1]) { 20 int temp = d[j]; 21 d[j] = d[j + 1]; 22 d[j + 1] = temp; 23 } 24 } 25 } 26 for (int i : d) { 27 System.out.println(i + "\t"); 28 } 29 } else { 30 int temp; 31 for (int i = 0; i < d.length; i++) { 32 for (int j = i + 1; j < d.length; j++) { 33 if (d[i] < d[j]) { 34 temp = d[i]; 35 d[i] = d[j]; 36 d[j] = temp; 37 } 38 } 39 } 40 for (int i : d) { 41 System.out.println(i + "\t"); 42 } 43 } 44 } 45 }
3. 请设计一个类,这个类包含如下操作:
A:求两个数的和。
B:判断两个数是否相等。
C:输出九九乘法表。
最后在测试类中进行测试。方法名自定义。类名需符合考试规范。
1 package yukebankaohe; 2 3 public class Answer3 { 4 public double sum(double a,double b) { 5 return a+b; 6 } 7 public boolean judge(double a,double b) { 8 return a==b; 9 } 10 public void print() { 11 for(int i = 1;i<=9;i++) { 12 for(int j = 1;j<=i;j++) { 13 System.out.println(i+"*"+j+"="+i*j+"\t"); 14 } 15 System.out.println(); 16 } 17 } 18 19 }