1.一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?
一个.java文件中可以包含多个类,但是只能有一个public类,且该public类的名字必须和文件名一致。
2.下面哪个函数是public void example(){…}的重载函数?()
A private void example(int m){…}
B. public int example(){…}
C. public void example2(){…}
D. public int example(int m.float f){…}
答案:AD
重载要满足的条件,只要名字相同,参数不同就行了。访问等级和参数类型没关系。B虽然名字相同,但是参数也相同了,虽然有不同的返回类型,但是也算是一个新的函数。
3.给定某java程序片段,该程序运行后,j的输出结果为()
int i=1;
Int j=i++;
If((j>++j)&&(i++==j)){j+=i:}
System.out.println(j);
A 1
B. 2
C. 3
D. 4
答案:B
i++ 是先引用后增加,++i是先增加后引用
逐句分许:
int i=1; // i 的值为1
int j=i++; // i++ 是先引用后增加。增加前 i的值为1,所以会先将1赋值给j。然后i才增加为2.
// 当这句话执行完后,i=2, j=1
If((j>++j)&&(i++==j)) // 在if判断中,从左至右顺序执行,先执行j > ++j. ++j是先增加后引用,所以左边的j为1,右边的j增加为2,1 > 2 不成立,&&具有短路的能力,后面的都不会执行了。if判断不通过。直接执行 最后一句
System.out.println(j); // 由于j在上一句已经自增为2了,所以打印出来的就是 2
4.打印结果:
package cn.wuliaokankan;
public class smaillT{
public static void main(String args[]){
smaillT t=new smaillT();
int b = t.get();
System.out.println(b);
}
public int get()
{
try {
return 1;
}finally{
return 2;
}
}
}
输出结果:2
finally不论什么情况都会被执行。这题很容易被try中的return 1误解,认为里面已经返回了就不会执行finally了。
5. 下列程序的运行结果
int i=9;
switch (i) {
default:
System.out.println(“default”);
case 0:
System.out.println(“zero”);
case 1:
System.out.println(“one”);
break;
case 2:
System.out.println(“two”);
break;
}
运行结果:
default
zero
one
解析:
这里将default写在了最前面,所以不论怎么都会被执行。但是default里面没有break语句,他就会继续往下执行,会执行后面的每一个case,知道有break出现,所以这里break在one打印后出现,所以才会有这样的结果。如果都没有break,它就会将所有的case都执行一遍