1.三元运算符(三目运算符/问号冒号运算符)
三元运算符:有三个表达式参与的运算表达式。
格式:
(表达式1)?表达式2:表达式3;
运算原则: 表达式1运算结果必须为boolean类型的值,当表达式1的结果为true时,表达式2的运算结果就为整个三元运算符的结果,当表达式1的结果为false时,表达式3的运算结果就为整个三元运算符的结果。
2.程序运行流程和顺序结构
什么是程序的流程——代码的执行顺序。
3.判断结构(if)
if是Java种的关键字,当程序在执行过程遇到if关键字,JVM就知道此处需要进行判断,根据判断结果处理相应的代码。
第一种格式
if(条件表达式){
执行语句;
}
格式说明:if关键字后面是小括号运算完的结果必须是boolean类型的值。
第二种格式
if(条件表达式){
执行语句;
}else{
执行语句;
}
执行说明:要么执行if 后面的语句,要么执行else后面的语句。
三元运算符可简化if-else格式 三元运算符是简写的if-else格式,简写是有弊端:不是所有的if-else都能简化,三元运算符运算完必须有结果,而if-else不一定运算完一定有运算结果。
if判断第三种格式
if(条件表达式){
执行语句;
}else if (条件表达式){
执行语句;
}……
else{
执行语句;
}
4.多分支结构(switch)
语句格式
switch(表达式){
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
程序执行时,遇到switch关键字,首先会计算表达式的值,然后根据计算的值和case 后面的值做比较,若case身后没有和switch表达式匹配的值,程序就会执行default后面的语句。
if和switch的区别 if可以用于判断数值,也可以判断区间,只要运算结果是boolean类型,都可以进行判断。 switch用于对固定的几个值,进行判断。判断的值的类型有限。
5.循环结构
循环结构有三种:
while:事先不需要知道循环执行多少次。
循环格式
while(条件表达式)
{
执行语句;
}
do-while:事先不需要知道循环执行多少次 ,只是至少要执行一次(先做,后判断) 。
循环格式
do{
执行语句;
}while(条件表达式);
for 循环格式
for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3)){
执行语句;(4)
}
执行顺序:for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过程,直到条件不满足为止。
while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放。while循环使用的变量在循环结束后还可以继续使用。
无限循环
最简单无限循环格式:while(true){} , for(;;){}
,无限循环存在的原因是并不知道循环多少 次,而是根据某些条件,来控制循环。
7.流程控制(continue和break)
break:终止该层循环
continue:跳过该层循环
注: 这个两个语句单独存在后面都不能有语句,因为执行不到。 continue语句是跳过本次循环,继续下次循环。
使用循环标签
在多层嵌套循环中,终止/跳过标签标记的那层循环的执行;break <标签> 或 continue <标签>
outer:for (int x=0; x<3 ;x++ )
{
inner:for (int y=0; y<4 ;y++ )
{
System.out.println("x="+x);
break outer;
}
}
outer:for (int x=0; x<3 ;x++ )
{
inner:for (int y=0; y<4 ;y++ )
{
System.out.println("x="+x);
continue outer;
}
}