A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

丁振庭

初级黑马

  • 黑马币:76

  • 帖子:24

  • 精华:0

© 丁振庭 初级黑马   /  2018-3-24 22:52  /  1642 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
那个switch语句的说错了,
switch语句能作用对象有byte,short,int,char数据类型上。在JDK1.5版本后能作用在枚举上,JDK1.7版本后能作用在String类型上。不能作用在long上。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马