Java分支流程和循环

来源:互联网 发布:nbtstat命令详解 端口 编辑:程序博客网 时间:2024/05/17 00:51

一、分支(判定)语句

1.if语句

类型一:

if(expression){    //如果expression表达式返回true,则执行这里的代码,否则什么都不做}//例:int i=3;if(i<5){    System.out.print(i);//i为3,所以i<5成立返回true,所以输出i的值}

类型二:

if(expression){    //如果expression表达式返回true,则执行这里的代码}else{    //如果expression表达式返回false,则执行这里的代码   }//例:if(i%2==0){    System.out.print("i为偶数");}else{    System.out.print("i为奇数");}

类型三:

if(expression1){    //如果expression1表达式返回true,则执行这里的代码}else if(expression2){    //如果expression1表达式返回false,且expression2返回true,则执行这里的代码   }else if(expression3){    //如果expression1和expression2表达式都返回false,且expression3返回true,则执行这里的代码  }else{    //如果上述表达式都返回false,则执行这里的代码}//例:if(i>=90){    System.out.print("A");}else if(i>=70){    System.out.print("B");}else if(i>=60){    System.out.print("C");}else{    System.out.print("F");}

2.条件运算符” ? : “
提供 if-else 语句的快捷方式,使用条件运算符可以替代一个简单的 if-else 语句

if(i<10){    j=5;}else{    j=6;}//等效于j= i<10?5:6;

3.switch语句

switch(i){    case 1: System.out.println("i equals 1");break;    case 2: System.out.println("i equals 2");break;    case 3: System.out.println("i equals 3");break;    default: System.out.println("i doesn't equal 1,2 or 3"); }/*    当变量i等于1时,执行第一段代码,等于2时,执行第二段代码,等于3时,执行第三段代码,如果123都不等于,则执行default指定的代码*//*    1.原理为,比较switch后的变量与case后的表达式的值是否相等,相等则运行这个case指定的代码    2.case后的表达式的数据类型只能为 char、byte、short或int,不能使用其他类型    3.只能比较是否相等,不能比较大于或小于表达式    4.在一个switch中,每个case后的表达式的值应该是唯一的,不能重复    5.case后接break意为,当一个case满足相等条件被运行后,即退出这个switch语句,如果没有加break,这个case执行后,在它下面的其它casedefault也会被执行,如果下面的case中有一个加了break,那么也会就此退出switch,不再执行下面的代码,如:*/i=1;switch(i){    case 1: System.out.println("i equals 1");    case 2: System.out.println("i equals 2");    case 3: System.out.println("i equals 3");    default: System.out.println("i doesn't equal 1,2 or 3"); }//因为所有的case都没有break,所以第一个case满足条件后被执行,紧接着下面的casedefault也将被执行,如果case 2 后面加了break; 则只会运行case 1case 2 

二、循环语句

1. while循环

/*  语法:    while(expression){        //循环体    }    先判断while后括号中的表达式是否返回true,如果为true,就执行一遍循环体,然后再进行判断,如此进行循环,为false时,退出循环,例:*/int i=1;while(i<=5){        System.out.println(i);    i++;}//将依次输出1、2、3、4、5;//while后面的大括号省略时,如:while(i<=5)     System.out.println(i);    i++;//此时while只将println()这一句代码视为循环体,循环时i++将不会被运行,所以i永远是1,这个while的循环条件一直符合,循环体会一直被执行,一直输出1,形成一个死循环

2. do-while循环

/*    语法:        do{            //循环体        }while(expression);  //必须以分号";"结尾。    不管expression是否返回true,先执行一遍循环体,之后再判断expression是否返回true,如果是,再执行一遍循环体,然后再判断,如此往复循环,直到返回false,退出循环。 例:*/int i=1;do{    System.out.println(i);    i++;}while(i<=5);//依次输出1、2、3、4、5;

3. for循环

/*    语法:    for(int i=1;i<=3;i++){        //循环体    }    先判断i<=3的返回值,为true时,执行循环体,然后执行括号中的第三部分,对变量i进行操作,然后再判断i<=3的返回值,如此循环    与while相比,适合在已知循环次数的情况下使用    变量i用于判断是否循环,括号中的第一部分用于初始化这个变量,可以在for语句外先定义,也可以在使用时定义,需注意存在着作用域的不同    例:*/for(int i=1;i<=5;i++){    System.out.println(i);}//依次输出1,2,3,4,5
0 0