JVM,JRE,JDK是什么呢?它们有什么区别呢?
JVM是java虚拟机。我们说java有相对于其他语言的优势在于java是开源的,另一个优势是跨平台。而java之所以能够跨平台,就是因为java有能够在不同系统上运行的虚拟机,这个JVM就是那个虚拟机。
JRE是java的运行环境。它包括JVM和java运行时所需要的类库。
JDK是java开发人员用的java开发工具,它还包括JRE。因为开发人员编写好后要试运行,所以JDK中包含了JRE。
所以JDK > JRE > JVM
关键字是java中赋予特殊含义的单词。例如:public static void int long true false
但是有一个单词:main
它虽然是程序的执行入口,执行一个程序不可缺少的,但是它却不是关键字,它是标识符。
&和&& 的区别
格式: (表达式) & (表达式)
(表达式) && (表达式)
返回值是boolean类型。
它们两个都是逻辑运算符,都是要两侧的逻辑表达式为true的时候才为true,运算的结果都是一样的。但是&&具有短路的效果,当&&的左侧的表达式结果是false的时候,右边的表达式就不做判断,直接返回整个式子的结果false。因为这样能提高开发效率,所以在开发中,大多数都是用&&来进行判断。
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
switch语句能作用对象有short,int,char数据类型上。在JDK1.5版本后能作用在byte上,JDK1.7版本后能作用在String类型上。不能作用在long上。
关于break和continue关键字
break关键字能再switch和循环中使用。
continue关键字只能再循环中使用。
在循环break表示跳出,结束的意思,在循环中使用是结束整个循环。例如:
for(int i = 0 ; i < 5 ; i++){
if (i == 3) {
break;
}
System.out.print(i + ",");
}
System.out.println();
System.out.println("over");
程序输出结果:
0,1,2,
over
continue表示跳出....继续的意思,在循环中使用是结束本次循环,进行下一次循环。例如:
for(int i = 0 ; i < 5 ; i++){
if (i == 3) {
continue;
}
System.out.print(i + ",");
}
System.out.println();
System.out.println("over");
当程序执行到i=3的时候,结束本次循环,就是这次的循环剩下的循环体语句不执行了,直接执行控制条件语句,进行下一次循环。
所以最后打印出:
0,1,2,4,
over
说点题外话,
break是退出循环的作用,但当循环进行嵌套的话,例如两个for循环进行嵌套:
for(int i = 0 ; i < 5 ; i++){
for (int j = 0 ; j < 5 ; j++) {
if (j == 3) {
break;
}
System.out.print(j + ",");
}
System.out.println();
}
System.out.println("over");
这时候的break只跳出内层循环,外层循环继续下一次循环,并不是一次性跳到最外面。结果是:
0,1,2,
0,1,2,
0,1,2,
0,1,2,
0,1,2,
over
|
|