内测/月考
解答过程:标识符必须以字母下划线或者美元$开头,由字母、数字、下划线或美元符($)组成的字符串
46. public static void main(String args[]) { [同31]
double x,y; x = 2; y = x + 3/2;
System.out.println(y); }
编译运行以上Java语言中,输出结果应该为(选一项) A、3.5 B、3 C、2.0 D、3.0
解答过程:3/2 int/int精度丢失 结果为1
y的数据类型为double
47. 编译并运行下面的Java代码段:[68,69,87]
char c = 'a'; switch (c) { case 'a':
System.out.println(\default:
System.out.println(\}输出结果是(选一项)
A、代码无法编译,因为switch语句没有一个合法的表达式 B、adefault C、a D、default
解答过程:从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止。由于该程序中case语句后都没有break,程序会依次输出
48. 表示关系X<=Y<=Z的JAVA语言表达式为(选一项)
A、(X<=Y)&&(Y<=Z) B、(X<=Y)AND(Y<=Z) C、(X<=Y<=Z) D、(X<=Y)&(Y<=Z)
解答过程:在Java语言中有三种逻辑运算符,它们是NOT(非,以符号”!”表示)、AND(与,以符号”&&”表示)、OR(或,以符号”||”表示)。
第 13 页 共 45 页
内测/月考
49. 定如下java代码, 编译运行之后, 将会输出(选一项)
public class Test {
public static void 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
解答过程:三目运算符,对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
50. 定义了一个方法如下
public static void main( String[] args ){
int[] arr = {5,1,3,6,4,5,6,7,8,9}; changeValue( arr ); System.out.println( arr[2] ); }
public static void changeValue(int[] arr){ arr[2] = 5; }
程序运行后输出结果为(选一项) A、5 B、1 C、2 D、3
解答过程:数组作为参数传递,是引用传递,引用传递是改变原来属性的值的
51. 方法pr声明为
public static void pr ( float[] scores, int n ){ }
声明了三个变量 int[] ary = new[10]; int m=5; int n = 10; 那么下面正确调用pr方法的是(选一项) A、pr (ary); B、pr (ary,m); C、n = pr (ary,m); D、都不正确
解答过程:pr()方法有两个参数,一个为float数组,一个为整型。参考题5,发现int可以自动向float转换。
52. 分析如下Java代码片段,输出结果为(选一项)[83,118]
第 14 页 共 45 页
内测/月考
int price = 10, number = 0, monney = 0; for (int i = 0;i<2;i++){ number++; --price;
monney += number * price; }
System.out.println(monney); A、25 B、28 C、31 D、20
解答过程:先了解a++和++a的区别 第一种情况: a=3; b=a++; 运行后
第二种情况: a=3; b=++a; 运行后 b=4,a=4
b=3,a=4
不难看出无论是a++还是++a a的值都已经增大了1,只是在赋值给其他变量的过程中会有一些差别 money += 1*9 money+=2*8
53. 分析如下Java语言代码段,x、y均为int数据类型,下列说法正确的是(选一项)
if(x>y){ x+=y; ++y; } else{ y+=x; x++; }
System.out.println( x + \A、若x=2, y=0,则输出为1,1 B、若x=0, y=1,则输出为1,0 C、若x=1, y=1,则输出为2,2 D、若x=2, y=3,则输出为3,4
解答过程:A项若x=2,y=0,则输出为2,1
54. 分析如下JAVA语言代码片断
int i=6,j=4;
System.out.println(i%j); 输出结果为(选一项)
B项若x=0,y=1,则输出为1,1 D项若x=2,y=3,则输出为3,5
第 15 页 共 45 页
内测/月考
A、0 B、2 C、1.5 D、1
解答过程:%表示取余 方便理解6/4=1……2 6%4=2
55. 分析下面的Java程序:
public static void main(String args[]) { int num = 0; while(num <= 2){ num++;
System.out.print(num); }
}输出结果是(选一项) A、13 B、12 C、023 D、123
解答过程:while循环判断条件num<=2,所以此循环会循环3次,分别输出1 ,2,3
56. 分析下面的程序:(题目有些问题)
void fun(int a ,int b,int c) { a=456; b=567; c=678; }
public static void main(String args[]){ int x=10,y=20,z=30; fun(x,y,z);
System.out.println(z,y,x); }
输出结果是(选一项) A、30,20,10 B、10,20,30 C、456,567,678 D、678,567,456
解答过程:x,y,z作为值来传递,值传递是不改变原来属性的值的
57. 给定Java代码,如下:
public byte count(byte b1,byte b2){ return______; }
要使这段代码能够编译成功,横线处可以填入(选一项)
第 16 页 共 45 页