JavaJDK9新特性、流程控制

1.JDK9新特性

  • JShell:轻量级的、便捷的小工具,极其简单轻量的时候采用JShell,脚本,一步一执行,退出脚本命令:/exit
  • 编译器的两点优化:1.对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过左侧的范围,那么javac编译器会自动隐含地补上一个(byte)、(short)、(char),即编译器自动补上强转,例如byte a = 1;如果超过了左侧的范围,那么直接编译器报错,例如byte b = 128;2.编译器的常量优化:在给变量进行赋值的时候,如果右侧的表达式中全都是常量,没有任何变量,那么编译器javac会直接将若干个常量表达式计算得到结果,而不是程序运行的时候耗费资源计算,一旦表达式中有变量参与,那么就不能进行这种优化了,例如short result = 5 + 8; 不报错,而short a = 5; short b = 8; short result = a + b;报错,左侧需要是int类型的

2.流程控制

  • 顺序结构
  • 判断(选择)结构:单if语句、标准的if…else、复合的扩展的if…else语句、switch,使用if语句可以替换三元运算符。
if (判断条件1) {
    语句体1;
} else if (判断条件2) {
    语句体2;
}
……
} else if (判断条件n) {
    语句体n;
} else {
    语句体n+1;
}

switch (表达式) {
    case 常量1:
      语句体1;
      break;
    case 常量2:
      语句体2;
      break;
    ……
    default:
      语句体n+1;
      break;
}

注意:满足哪一个case就从哪一个位置向下执行,直到遇到了break语句或者整体结束为止,各case是并列关系;case后边的常量值不能重复;所有的case和表达式的值都不匹配,就会执行default,default用于收尾,相当于if…else中的else;最后一个break语句可以省略,但是强烈推建不要省略,因为这样看着格式更加清晰;switch后边的小括号中只能是下列数据类型:基本数据类型(byte/short/char/int)、引用数据类型(String字符串、enum枚举);switch语句格式可以很灵活,先后顺序可以颠倒,而且break语句还可以省略。

  • 循环结构:for、while、do-while,包括初始化语句、条件判断、循环体、步进语句。do-while的第一次执行是无脑执行。
初始化语句;
do{
    循环体;
    步进语句;
} while(条件判断);

三种循环的区别:如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一  次;for循环的变量在小括号当中定义,只有循环内部才可以使用,while和do-while循环初始化语句本就在外边,所以出了循环之后还可以继续使用;如果次数确定多用for循环,否则多用while循环。

循环控制语句:

  • break:可以用于switch语句中,一旦执行,整个switch语句立刻结束;还可以用于循环语句中,一旦执行,整个循环语句立刻结束,打断循环。
  • continue:一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。

永远停不下来的循环,叫做死循,死循环后的语句永远不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值