java 中常见语句–逻辑和循环
逻辑语句
-
if 语句作为一个是逻辑语句中常见的的一种。
//常用方法1: if(逻辑条件){//小括号内需要一个有个条件来满足,必须是boolean类型,但是其可以是一些判断语句 1>2等 } //常用方法2: if(逻辑条件){ //方法1 }else{ //方法2 } //这个方法就是满足if条件运行方法1.如果不满足就运行方法2 //常用方法3 if(逻辑条件1){ //方法1 }else if(逻辑条件2){ //方法2 }else{ // 方法3 } 这个方法就是满足if条件1运行方法1.如果不满足条件1,满足条件2运行方法2.最后都不满足运行方法3. 其中else if( ) 可以1个以及n个 具体个数看自己需求。其中else if() 必须放在else 前面。 而且一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
-
switch case
switch case 语句判断一个变量与一系列值中某个值是否相等。
switch(变量){ case value1: //语句1 break{可选} case value2 : //语句2 break{可选} default://可选 //语句 }
switch 是逻辑语句,而新手很多时候潜意识回将其变量作为一个boolean值。其实不对,其变量是八个基本类型以及jdj1.7版本后添加了string类。而其自己会与value 值进行比较,判断是否满足条件,然后运行其包含的方法。
case value: 可以添加多个,数量不会被限制,而且如果在其内的方法不添加break的话,就算运行了满足条件的case ,后面的case 判断依旧会运算。(ps: break 就是跳出当前方法的关键字。有兴趣的朋友可以查询一些break 和continue的区别,循环中常用的两个关键字,下面讲解循环的时候也会说)
default: 默认值,就是上面条件都不满足,而运行的其下面的语句
循环语句
-
for 作为java中最常用的循环(没有之一),其使用和广泛具体如下
for(int i=0;i<maxIdex; i++){ //语句 }
其中 for 后面有具体三部分(初始一个变量值;变量的满足条件;变量根据要求变化):for(int i=0;i<maxIdex; i+=2) 也可以,可以理解为i=某值,然后判断是否满足条件,运行语句,其中变量变化在判断是否满足条件,运行语句。
for循环还有加强循环,也有人称之为foreach 循环 但是一般使用在遍历数组时候
int[] numbers={1,2,3,4,5}; for(int i: numbers){ System.out.print( x ); System.out.print(","); } //输出为1,2,3,4,5,
与for 循环使用的还有两个关键字,break,contiune。同时还有if一起出现如下:
//使用了break 关键字 int[] numbers={1,2,3,4,5} for(int i: numbers){ if(i==3){ break; } System.out.print( x ); System.out.print(","); } //输出的1,2,
其中if语句满足后,会运行break,而break的作用就是跳出当前方法,也就是跳出for循环,而后面的也不再执行,比如4,5两个就不会打印
//使用了 continue 关键字 int[] numbers={1,2,3,4,5} for(int i: numbers){ if(i==3){ continue; } System.out.print( x ); System.out.print(","); } //输出的1,2,4,5
其中if语句满足后,会运行continue,而continue的作用就是跳出当前方法中的此次运算后面的语句,然后运行后面的语句。
其实两个不同作用也就是其英语意思 break :跳出 conntiune:继续
当然 for( ; ;)也可以运行,只不过是死循环
-
while
while虽然没有for循环使用的频繁,但是其也是常用的循环语句,同时也是做容易造成程序死循环的一种循环,格式如下
while(条件){ 语句; }
条件也必须是boolean类型,但是其可以直接用boolean 也可以通过语句a>b等条件
int a=0; while(a<10){ 语句; a++; }
也是通过a的变化而进行循环,判断a是否满足while后的条件,然后运行语句,a进行变值,再次判断运行。注意:条件语句的使用一定要慎重,防止死循环
while 除了常用姿态,还有do while 格式,格式如下
do{ 语句; }while(条件);
按照java 从上向下的运行机制,所以先执行do后的语句,然后判断是否满足条件,再确定是否执行,正常情况下比while(){}多执行一次
int a=0; while(a<2){ System.out.print(a) a++; } int a=0; do{ System.out.print(a) a++; } while(a<2); //两个输出的结果都是 0 1 //感觉do while 没有多运行一次 但是如果改成以下就可以看出 int a=0; while(a<0){ System.out.print(a) a++; } //没有输出值 int a=0; do{ System.out.print(a) a++; } while(a<0); //输出为 0
注意:do while 虽然会多执行一次,但是在执行条件可以满足一次以及以上次数的时候和while执行的结果就一样了。所以个人判断只有当逻辑条件首次执行的时候才会输出值,而超过一次或多次之后,虽然会执行,但是会根据后面的while条件进行判断时候运行,感觉有点像事务的回滚一样,目前网上没有找到一个很好的解释,为什么多次循环输出一致。因为用debug调试的时候超过条件满足超过一次看debug也没有进入其中。这个又有点模棱两可,希望有大神可以具体解释。