关于JAVA循环语句,选择语句的整理

关于判断语句,循环语句和选择语句的整理

一:IF判断语句

If语句中,条件满足才会运行,条件不满足不会运行

格式: 判断语句 IF 的格式要清楚 那就是
   
     if( 关系式 ){       ---- 小括号里面的是判断句 , 判断是否符合条件,里面必须是布尔值
              语句体 ;        ---- 如果小括号条件成立 , 就进入大括号 , 执行大括号的语句体
   
            }
注意 :

1.如果把分号写在了小括号和大括号中间,则计算机认为if后面没有语句体,后面的大括号就成了代码块

if判断中大括号是可以省略的,不写大括号,if的语句体默认是距离最近的为语句体且只有一条

2.IF 和三元运算符可以等价替换

但是还是有区别的:如果if语句中是输出语句的话是不能用三元运算符替换的

从代码的阅读性来讲,建议使用 if  else 的方式

而且在任何情况下,if else都可以实现

      

//题目:判断两个数字是否相等?
public static void main(String[] args) {
  
    int a = 10, b = 20;    //还有另外一种形式int a = 10; int b = 20;
                           
//当两种变量定义的类型一样的时候可以用逗号分隔
   
if (a == b){            //JAVA"=="两个等号是相等的意思,一个"="是赋值的意思
       
System.out.println("两个数字相等");
   
}

大括号跟小括号中间不能写其他的标点符号。

   //1,大括号跟小括号中间不加标点,但是把大括号另起一行写,这样也是可以的,但是不太符合java的书写规范

   //2,if判断中大括号是可以省略,如果不写大括号,那么if的语句体默认是离他最近的那行语句,且只能有一行。

int age = 16;
if
(age > 18);
{
   
System.out.println("成年了");
}
System.
out.println("继续执行");
//; java代码中表示语句的结束。
//如果我们把分号写在了小括号和大括号之间,认为if后面没有语句体。
//后面的大括号就形成了代码块。

 

二:  IF ……….ELSE 选择语句

IF..ELSE语句是两者选其一,就意味着这个判断语句一定会运行一次

格式: if(关系式){       ----小括号里面的是判断句,判断是否符合条件
   
      语句体1;  }      ----如果小括号条件成立,就进入大括号,执行大括号的语句体1,true执行
     
else{                 --else部分不需要条件判断,当关系式不满足时,直接执行语句体2,false执行
         
语句体2; }

//题目:判断一个数字的奇偶性
public static void main(String[] args) {
    int num = 10;
    if (num % 2 == 0){            //%是取模的意思,如果该数字取模2等于0 则得出该数字是偶数
        System.out.println("这个数字是偶数");
    }else{
        System.out.println("这个数字是奇数");
    }
}

注意点:

       //1,小括号中的表达式一定要有一个布尔类型的结果。如果为true那么就执行if后面的语句体,如果为false就执行else后面的语句体

       //2,大括号跟小括号中间不能写其他的标点符号。

       //3,大括号跟小括号中间不加标点,但是把大括号另起一行写,这样也是可以的,但是不太符合java的书写规范

       //4,if判断中大括号是可以省略,如果不写大括号,那么if的语句体默认是离他最近的那行语句,且只能有一行。

   

结论:"必须要掌握的"

    以后我们自己写代码的时候,你就按照标准的格式来写绝对不会有问题。大括号不要省略。

    以后如果在看一些源代码或者别人写的代码时,能看懂就可以了

三:IF…ELSE IF…ELSEIF…ELSE(选择语句)

格式: //        if(判断条件){         --当条件判断有多个选择的时候,使用这个判断语句

//         执行语句1;}

//         else if(判断条件){

//         执行语句2;}

//        else{  执行语句n+1;}   --当以上条件都不满足的时候,则运行else

匹配规则:从上至下,只要有一个if匹配上,整个循环语句结束

PS:如果需要输出的有文字有字符则System.out.println("结果是:" + i);

//题目:判断学生的成绩水平
public static void main(String[] args) {
    int grade = 65;                 //定义学生成绩为grade
    if (grade <=100 && grade>80){   //&&这是短路与的符合 意思两个条件同时成立才可以执行相关条件
        System.out.println("优秀");
    }
    else if (grade <=80 && grade >=60){
        System.out.println("及格");
    }
    else if(grade <60 && grade>= 0 ){
        System.out.println("不及格");
    }
    else    {        //当所有条件不满足的时候执行else语句,同样的else语句不需要条件,仅仅是作为收尾的语句
        System.out.println("数据错误");
    }
}

四:switch选择语句

格式: switch(表达式){        //首先计算出表达式的值

       case 常量值1:    //其次,和case依次比较,一旦有对应的值就会执行相应的语句

           语句体1;

          break;         //在执行的过程中遇到break就会结束

       case 常量值2:

           语句体2;

           break;...

      default:            //最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

           语句体n+1;

           break;

   }

题目: //题目:判断今天是周几
public static void main(String[] args) {
    int weekday=1;
    switch (weekday){
        case 1:
            System.out.println("今天是周一");
            break;
        case 2:
            System.out.println("今天是周二");
            break;
        case 3:
            System.out.println("今天是周三");
            break;
        case 4:
            System.out.println("今天是周四");
            break;
        case 5:
            System.out.println("今天是周五");
            break;
        case 6:
            System.out.println("今天是周六");
            break;
        case 7:
            System.out.println("今天是周日");
            break;
        default:
            System.out.println("数据错误");
            break;}
}
    }

执行流程:

1 首先计算出表达式的值

2 其次 和case一次比较,一旦有对应的值,就会执行相应的语句,在执行过程中遇到break就结束

3 最后如果所有的case都和表达式的值不匹配,就会执行Default语句部分,然后程序结束.

执行流程--1:刚开始就把所有的case都加载到内存中,直接执行跟表达式一致的case

        如果所有的case都不匹配,此时直接执行default语句

 

switch注意事项:

1:多个case后面的数值不能相同

2:switch小括号当中只能是下面数据类型

    基本数据类型byte/short/char/int

    引用数据类型String字符串,enum枚举(把有限个数据列出来让你任选其一)

3:switch语句格式很灵活,前后顺序语句可颠倒,而break可省略匹配哪一个case就从哪一个位置向下继续执行,直到遇到了break或者整体结束为止--穿透性

   case和default顺序可以颠倒,没有上下顺序,按照习惯会把default放最下,default可省略

4:case穿透:没有break他会一直执行到有break或者大括号 结束

     ---举例穿透例子(月份)

PS:当需要匹配的值是有限个时,使用switch(月份星期)

   当要匹配的值是一个范围时,用IF

五:循环语句

循环语句

循环语句的基本组成部分,一般可以分成四个部分

1:初始化语句:在循环开始最初执行,而且只做唯一一次

2:条件判断(得到的必须是布尔值)如果成立则循环继续;如果不成立,则循环退出

3:循环体 重复要做的事情内容,若干行语句。--判断语句是false时不执行

4:步进语句:每次循环之后都要进行的扫尾工作。每次循环结束以后都要执行一次

 

1.:for循环--

重复做某件事情

 for(初始化表达方式1;布尔表达式2;步进语句4){

    循环体3; }

    首先进行1的计算,然后得到2的结果true或false,true进入3.然后进行4的扫尾工作

       1234>234>234   直到不满足为止

题目:输出十次HelloWorld
public class Dora01 {
   
public static void main(String[] args) {
       
for (int i = 0; i < 10; i++) {
           
System.out.println("HelloWorld!");
       
} }

初始化语句,判断条件语句,循环体语句,控制条件语句(步进语句) 分别执行多少次

       循环此时未知

       初始化语句:不管循环多少次,只执行一次,且必须会被执行到。

       判断条件语句:至少执行一次。当刚开始判断条件语句就是false的时候,执行一次。

                                执行循环次数 + 1 次

      

       循环体语句:有可能执行不到的。当刚开始判断条件语句就是false的时候执行不到。

                                  循环几次,执行几次.

       控制条件语句(步进语句):跟循环体的次数是一样的。

五:while循环--

 while循环还有一个标准格式,还有一个扩展格式

 标准格式:

  while (条件判断){

   循环体;}

 

 扩展格式:

  初始化语句;

 while (条件判断){

    循环体;

    步进语句;}             不熟悉while 的可以先写for语句再进行翻译

while和for实现的效果其实是一样的,知道具体循环次数的时候用for

当我们不知道具体循环的次数但是知道具体的循环停止条件,我们用while

public class Dora01 {
   
public static void main(String[] args){
       
int i = 1;
      
while(i<10){
          
System.out.println("Hello,World");
      
}    }   }

六:Do while

循环的标准格式

   do{

   循环体 }

while(条件判断);

 

Do while循环的扩展格式

     初始化语句;

     do{               --无条件执行。所以do语句至少执行一次

     循环体;

     步进语句;}

     while(条件判断);

 

三种循环区别

for

while

do while

1;如果条件判断从来没满足过,那么for循环和while循环将会执行0次,但是do-while循环至少执行一次

2:for循环的变量在小括号当中定义,只有循环内部才可以使用。while和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用

 

循环控制语句 break语句

break 关键字的两种用法

1:可以在switch语句当中,一旦执行,整个switch语句立刻结束。

2:还可以用在循环语句当中,一旦执行,整个循环语句立刻结束,打破循环

3:不能单独出现,单独出现没有意义的

关于循环的选择还有一个小建议:

凡是次数确定的场景多用for循环,否则多用while循环

 

循环控制语句continue

另一种循环控制语句是continue关键字

一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。

 

死循环(无限循环)---永远停不下来的循环叫做死循环--强行停止死循环 Ctrl+c

死循环的标准格式

while(true){

      循环体}

 

for( ; ; ){

 

}

 

循环嵌套

明确:

       循环不是随便写的。

       你要知道,外层循环是干嘛的,内层循环是干嘛的。

案例:打印5 * 5的矩形

for (int i = 0; i < 5 ; i++ ){
   
for (int j = 0; j < 5 ; j++ ){
       
System.out.print("*");
   
}
   
System.out.println();
}

//外层for循环:循环几行
//内层for循环:每一行有几个

 

猜你喜欢

转载自blog.csdn.net/snack_tc_dora/article/details/80850546