JAVA基础之三元运算符/三元表达式、循环、死循环、循环嵌套、内层循环、外层循环

1.三元运算符

数据类型  变量名称 = 条件判断 ?表达式A : 表达式B;
举个例子: String sex = "小明".length() > 0 ? "男" : "女" ;

三元运算符是比较常用的一种表示形式,应用于许多场景中,当然使用它也有条件限制,
他有两个必要条件。
1.必须保证表达式A和表达式B都符合定义的数据类型,即上述例子中 "男" 和 "女" 都属于
	字符串String类型。
2.三元运算符的结果必须被使用,此处类似于定义变量,常量不能单独存在,例如在java
	中,不能直接写 1; 独占一行,编译期就会报错,三元表达式也一样,不能单独存在,
	结果必须被使用。

	说了这么多,还没有解释三元表达式的使用规则,其实很好理解,第一步 条件判断,此
处必须返回有效的布尔值,第二步 ?代表需要告诉电脑需要进行判断,如果条件判断为true
则使用表达式A,如果条件判断结果为false则使用表达式B,表达式A和表达式B的返回值都
是定义的数据类型,既然是表达式那么当然可以使用逻辑表达式,继续进行逻辑判断,直到
满足为止,举个例子
	String sex = "小明".length() > 3 ? "男" : "小明".length() > 2 ? "中性" : "女" ;
大家猜一猜上述结果最终返回的sex是哪个?是的  没有猜错  是 "女" ,为什么呢?分析一下
,首先判断 "小明".length() > 3 结果为false ,则走后面的表达式 ,继续判断 "小明".length() > 2
,结果仍然为false,继续走后面的表达式 ,拿到结果 "女" ,则sex的值为 字符串 "女";

2.循环

	常用的三种循环为,for循环,while循环,do..while循环

	在循环体中,使用break可以打断本层循环体,直接到循环体外的下一行;在循环体中使用
	continue可以跳过本次循环,直接开始下一次循环,当然 continue 语句下面的所有语句将
	都不再执行使用return可以直接提前结束方法的运行,则循环后面的语句体及方法后面的语
	句体将都不在执行

(1) for循环

	for循环的格式相对于复杂一些,如执行十次循环输出当前循环的值。
	for (int i = 0; i < 10; i++) {
	    System.out.println(i);
	}
    如何理解,for的意思是为了。。,我们可以理解为,为了做xxx事而执行循环,当然做这
    件事需要满足一定条件才能做,于是语句体里面就需要定义局部变量,条件语句,判断完
    之后要做的事;
	
	逐个解释:
		1.局部变量(可选),此处为可选值,该值可以定义在for循环之前,也可以不定义;
		2.条件表达式(可选),此处为可选值,返回布尔值,如果不填默认为true,则执行永真循环,
		即常说的死循环,该循环会长时间占用计算机的线程,无法释放,在编写代码的过程中一定
		要避免这种事情发生。
		3.语句(可选),此处为可选值,每次2的条件表达式执行为true之后都会执行该语句,此语句可以
		是一个方法。
		
		一般for循环的使用都是有次数限制的,逻辑也更加清晰,代码的可阅读性良好,在执行指定
	次数的循环体结构时,推荐使用for循环,要特别注意产生死循环。
		
		for循环的嵌套,一般在进行 选择排序 或者 冒泡排序 的时候使用for循环嵌套,排序方式在此
	处不再赘述,以后单独开一个小结来解释选择排序和冒泡排序,我们来解释一下for循环嵌套时候
	的特殊语法。
	a:for (int i = 0; i < 100; i++) {
         b:for (int j = 0; j < 20; j++) {
             if(1 + 1 > 3){ //此位置表达式仅做示范用
                 break a;
             }
         }
    }
   		某些情况下程序需要在内层循环中提前结束外层循环,此时可以分别为内外层循环设置lable(标签),
   标签的格式是→字母: 如上述代码中的 a循环(外层循环),b循环(内层循环),当满足1+1 >3 时将打断
   外层循环,当然这是一个恒假表达式,在实际应用中这样写是没有意义的,大家要注意。

(2) while循环

while循环在实际开发过程中也经常应用到,如执行100相关操作
   int a = 0;
   while (a < 100){
       //do something
       a++;
   }
	如何理解,while的意思时当。。,我们可以理解为当满足xxx逻辑表达式的时候执行循环体。此种情况
比较容易出现死循环,因为一般在条件表达式中遗忘了对变量值的更新操作,将导致逻辑表达式判断恒真,
即为死循环。

(3) do…while循环

do..while循环在实际开发过程中不经常用,但是某些特殊情况下也会应用到
  do {
    //do something    
  }while (a > 100);
	该循环跟while循环有点类似,while循环是先执行条件判断,条件判断结果为true时才进入循环体,每次
循环都要先进行判断,而do。。while循环是先执行循环体,执行完之后再进行条件判断,判断成功后再执
行下一次循环,此处比较出现一些逻辑性bug,因此该循环不建议大家经常使用,当然如果逻辑思维特别强
能够明确的判断程序的执行次数,那么请自便;

版权声明:本文为qq_42797980原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。