//第一题
int a =2,b=3;
int c=(a+b>5?a++:b++)
答案: a=2 b=4 c =4
//第二题
Boolean b=true;
if(b=false){
System.out.println("a");
}
else if(b){
System.out.println("b");
}
else if(!b){
System.out.println("c");
}
else {
System.out.println("d");
}
}
答案: c 考点: if(b=false)将b的值改成了false
//第三题
int x =2,y=2;
if(x++==3&++y==3){
x=7;
}
System.out.println("x="+x+",y="+y);
}
答案: x=3 y=3 考点 &&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止
//第四题
for (int i = 1; i <=15 ; i++) {
if(i%3==0){
continue;
}
System.out.println("hello");
}
答案: 当==0的时候都跳出了循环,3 6 9 12 15 所以会输出10次hello 考点: continue 跳出当前循环执行下次循环
//第五题
int i =105;
while (true){
if(i++>105){
break;
}
System.out.println(i);
}
答案: i=106 执行了i++>105=false所以没有执行break; 但是执行了i++之后 i=106 所以输出106
//第六题
int a =3,b=3;
if(a++==b){
System.out.println("a="+a);
}
答案: a=4 同上原理一致
//第七题
int x=2,y=5;
switch (x){
default: y++;
case 3:
y++;
break:
case 4:
y++;
System.out.println("y="+y);
}
}
答案: y=8 因为case后面没有break所以会一直向下执行
//第八题
int x=0;
if(x>0){
System.out.println("hello");
}
else if(x>-3){
System.out.println(" iam tom");
}
else {
System.out.println("how are you");
}
}
答案: 这题比较弱智 就是输出 i am tom
//第九题
int a =10;
if(a++>10){
a=20;
}
System.out.println(a);
}
答案: 其实原理也是和前几题一样,执行了a++ 所以 输出a=11
//第十题
class Out {
private int age = 12;
class In {
private int age = 13;
public void print() {
int age = 14;
System.out.println("age:" + age);
System.out.println("this.age:" + this.age);
System.out.println("Out.this.age" + Out.this.age);
}
}
}
public class ClassDemo {
public static void main(String[] args) {
Out.In in = new Out().new In();
in.print();
}
}
答案: age:14 this.age:13 Out.this.age:12
//第11题
Math.round(-11.2)
答案: -11 +0.5 后向下取整 -11.2+0.5 = -10.7 向下取整 -11
1.下列哪一种叙述是正确的()
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{}包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
答案:D
分析: abstract不能修饰字段。既然是抽象方法,当然是没有实现的方法,根本就没有body部分。
2.下列语句正确的是()
A. 形式参数可被视为local variable
B. 形式参数可被字段修饰符修饰
C. 形式参数为方法被调用时,真正被传递的参数
D. 形式参数不可以是对象
答案A:
分析:
A:形式参数可被视为local variable。形参和局部变量一样都不能离开方法。都只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。
B:对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。 不过一般情况下,一个方法的形参不用final修饰。只有在特殊情况下,那就是:方法内部类。 一个方法内的内部类如果使用了这个方法的参数或者局部变量的话,这个参数或局部变量应该是final。
C:形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列),也就是说真正被传递的是实参。
D:方法的参数列表指定要传递给方法什么样的信息,采用的都是对象的形式。因此,在参数列表中必须指定每个所传递对象的类型及名字。想JAVA中任何传递对象的场合一样,这里传递的实际上也是引用,并且引用的类型必须正确。