一、if...else...和三元运算符的区别
-
共同点
都是针对两种情况进行判断,都有表达式;
-
不同点
if...else...流程控制语句,范围很大,不仅仅可以操作数据值,还可以操作输出语句去完成逻辑判断;而三元运算符仅仅是运算符,操作两个具体的数据值;
三元运算符能实现的一定能够使用if...else...流程语句 if....else....流程语句实现的,不一定能够使用三元运算符
二、switch语句
-
语法格式
switch(变量名){ case 值1: 语句1; break ; case 值2; 语句2; break ; .... .... .... default: 语句n; break ; }
-
执行流程
switch后面的变量需要和case进行匹配,case 值1:成立,执行语句1, 遇见break,switch语句结束; 如果不匹配,继续执行case 值2:成立,执行语句2,break结束
switch语句后面的这个变量名的数据类型: 本身能够跟的基本数据类型:byte,short,char,int Jdk5以后可以是枚举(引用类型) enum JDK7以后可以跟String类型
三、for语句
-
格式
for(初始化语句;条件表达式;控制体语句){ //实际开发中,此处需要去完成一些逻辑判断 循环体语句; }
-
执行流程
执行流程: 1)初始化语句,对变量进行赋值, 2)条件表达式判断结果是否成立,成立,则执行循环体语句,进行控制体语句++或者-- 3)继续判断条件表达式是否成立,成立,继续上面这种操作... ... ... 如果控制体语句造成了条件表达式不成立,语句结束!
-
for循环的嵌套
for(初始化语句1;条件表达式1;控制体语句1){ for(初始化语句2;条件表达式2;控制体语句2){ 循环体语句..... } }
四、while语句
-
拓展格式
初始化语句; while(条件表达式){ 循环体语句; 控制体语句; }
-
执行流程
1)初始化语句进行变量赋值,执行一次; 2)判断条件表达式是否成立,成立,执行循环体语句,依次执行控制体语句; 3)再次回到2)继续操作 ... ... 当条件表达式不成立,while循环结束
五、for和while循环的区别
1)从用法格式上看,格式不同 for(初始化语句;条件表达式;控制体语句){ 循环体语句; } 初始化语句; while(条件表达式){ 循环体语句; 控制体语句; } 2)是否明确循环次数(开发中,优先使用for) 如果需求明确了循环次数,优先使用for循环,工程上的for循环使用最多的! 如果不明确循环次数,使用while循环 3)从内存角度考虑,for循环更优一些,比较节省内存空间 从for循环本身的格式上来说,for循环结束,里面的局部变量(方法定义中的变量)就被及时的释放空间! while循环格式,结束之后,依然能够去访问那个变量,(比较消耗内存空间)所以相对来说whle循环没有for循环好
六、do-while语句
-
格式
do{ 循环体语句; 控制体语句; }while(条件表达式) ;
-
特点
和for,while最大的区别就是:即使条件不成立,循环体至少执行一次
七、死循环
-
两种死循环
两种死循环格式: for(;;){ 循环体语句; } while(true){ //推荐使用 循环体语句; }
-
死循环的应用
// 猜数游戏 import java.util.Scanner; pub