适用于Java初级阶段的学者的考试题
1、依次写出下面程序的结果是:()
public class Main {
public static void main(String args[]) {
int i;
i = 8;
System.out.println(i);
System.out,println(i++);
System.out.println(i);
System.out.println(++i);
System.out.println(i);
}
}
答案:
第一个输出的是:8
第二个输出的是:8
第三个输出的是:9
第四个输出的是:10
第五个输出的是:10
分析有异议的点:
举例子:
int i = 1, a = 0;
① i++;
i++ 先运算在赋值,例如 a = i++, 先运算a = i, 后运算 i = i + 1, 所以结果是a == 1
② ++i;
++i 先赋值在运算, 例如 a = ++ i, 先运算i = i + 1, 后运算a = i, 所以结果是a == 2
从上面的例子就可以得知:
System.out,println(i++); //先输出 i = 8 的结果,再进行 +1 的操作。
所以第三个输出语句输出的结果是:9
当到第四个输出语句执行时,此时 i = 9。++i,先 +1 再输出,所以输出结果是:10。
最后一个输出语句,直接输出 i=10.(程序中代码逐行执行 ,从上到下一行一行执行 ,在一行中从左到右);
2、执行语句 int i = 1 , j = ++i; 后,i 和 j 的值分别是 i=( )j =( )
答案:
i = 2 ;
j = 2 ;
分析:
第一步 ,先执行 int i = 1 , 此时 i 的值为1。执行到 j = ++i ,i 先自增加 1 (i 之前是1 此时再加 1 就变成 2了)然后
再将自己赋值给 j ,此时 j 和 i 都是 2,所以输出的结果:i = 2 ,j = 2 。
3、程序的结构有哪些及每种结构的特点?
答:
顺序结构
特点:程序中代码逐行执行 ,从上到下一行一行执行 ,在一行中从左到右。
分支结构
特点:程序执行到某一行代码,根据判断条件如果条件为真 ,则执行某段代码 ,如果为假就跳过某段代码 ,继续执行后面的代码。
循环结构
特点:程序执行到某一行代码 ,根据判断条件,如果成立就反复执行某段代码 ,直到条件不成立为止就跳出循环结构 ,执行后面的代码 ,如果刚开始条件就不成立 ,循环结构一次都不执行 ,直接执行后面的代码。
4、有一段 java 应用程序,它的类名是 a1,那么保存它编译之后的文件名是?
答:
a1.class
可以自己去查看:在你的 eclipse工作空间,一般是 workspace 下的工程中,路径时你自己指定的,编译输出路径的默认位置,普通工程:bin 文件里
5、下面的方法,当 i = 2 时,result =0 最终输出的值是()
switch(i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
答案:
10,
解析:因为完整的 switch是“选择”语句,如下:
switch (i) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
注:switch 是“选择”语句,不是“循环”语句。
和试题对比发现,试题少了 break ; 和 default;当 switch “选择”语句 i 的值跟你给 i 的值跟那个 case值相等就执行那个 case 语句。因 break 的作用是停止循环,所以当没有 break 时 ,case 句就一直执行,直到遇到 break ,所以试题中 i = 2 , case 2:语句执行,一直执行完 case 3 语句才停止。
6、编译HelloWorld程序的命令是什么? 运行HelloWorld程序的命令是什么?
答:javac HelloWorld.java 程序编译命令,javac 是编译命令
java 是执行命令,java HelloWorld 执行该程序。
7、标识符由什么组成以及组成原则?
答:标识符就是用于Java 程序中变量,类,方法等命名的符号
组成原则:
① 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。
② 不能把关键字和保留字作为标识符。
③ 标识符没有长度限制。
④ 标识符对大小写敏感。
8、Java 语言跨平台性是什么及原因?
答:
Java——编译器——jvm——平台。具体的步骤是这样的:写好的Java源文件通过javac命令编译生成class文件(中间文件),然后 jvm 对 class 文件进行执行生成机器语言然后机器语言在平台中操作。而这个整个过程与上面C语言的过程的区别就是有一个jvm虚拟机和中间文件(class文件)的存在。这个 class 文件是可以运用在各类 jvm 中,而再有jvm生成机器语言(当然 jvm 是不具有跨平台的,不同的平台对应不同版本的jvm)。因为有jvm这个东西的存在,使得你用java语言可以跨越平台间来使用,所以说Java语言是跨平台性。