给定一下程序段:
int i = 0,j = -1;
switch(i) {
case 0:j=1;
//break;
case 1:j=2;
//break;
case 2:j=2;
//break;
default:j=5;
//break;
}
System.out.println("j=" + j)
String unset = null;
if (unset != null && unset.length() > 5) {
System.out.println("Hello World!");
}
A 运行时出现错误 B 编译正确但运行时空指针异常
int i = 0;
for (; i <100; i++){
if (i == 10) { break; }
}
System.out.println("i = " + i);
String a = "abcdefg";String b = new String("abcdefg");
System.out.println(a==b);
A 类名的首字母小写// 大写
B 变量的首字母大写// 小写
C 方法名首字母大写// 小写
temp = score[0];// 变量未定义不能使用,变量未初始化也不能使用
for (int index = 1; index < 5;index++){
if (score[index] < temp)
{
temp = score[index];
}
}
A. 求最大数 B 求最小数 C 找到数组最后一个元素 D 编译错误。
//粗心大意 temp没有经过初始化 int 类型和常量赋值。
int a[] = {1,2},b = 2, i = 0;则 a[i++] += b;执行后: i++ 后加加 先运算后相加 a[0] += 2 ---> a[0] = 3 ---> i++ ----> i =1
i=____1___,a[i] =___2______;
//i++只有经过运算之后才会自加 a[i++]+=b a[0]=a[0]+2 i++ 所谓 a[i]现在指向了a[1],而a[1]的值没有经过修改所以还是2
程序段 int i= 1;int j = i++;if(i ++ >j) i=i+j;运行后i的值是
int i = 1;
int j = i++;// j = 1 i = 2;
if((i++ > j) && (i++ == j))// j = 1 i =3
i = i+j;// 3 + 1
i的值 2
//j的i==处于if语句的上方,已经被读取了,所以i++生效。此时if里的语句i=2>j的全新的j++=1此时经过了第二级i++生效,进入if语句方法体内容,此时的j还是1并没有没多重的i++赋值,因为他的i每次运算过后才会运算,但是没有二次赋值,此时的i=3+1;