我们都知道,程序是由上往下一行一行执行的,但是有些时候我们需要让他执行某些部分,不执行某部分或反复执行某部分,流程控制语句分为分支语句和循环语句。

if分支语句:

    if就是如果的意思,就是在某些情况下,满足某一条件时才执行相应代码,条件不足则执行其他代码。if有四种形式:单分支,双分支,多分支,嵌套if。

比如:单分支

if(3<4){
    System.out.println("输出");
}

就会打印一个"输出",if后面小括号里面是Boolean类型。

多分支:

if(布尔表达式1){
    //布尔表达式1为true时执行的代码
}else if(布尔表达式2){
    //布尔表达式1为false布尔表达式2为true时执行的代码
}else{
    //布尔表达式1,布尔表达式2为false布尔表达式3为true时执行的代码
}

多个语句块中只执行一个语句块

嵌套if:

if(布尔表达式1){
       //布尔表达式1为true时执行的代码
       if(布尔表达式2){
           //布尔表达式1和布尔表达式2均为true时执行的代码
      }else{
            //布尔表达式1为true,但布尔表达式2均为false时执行的代码
      }
 }else {
       //布尔表达式1为false时执行的代码
}

一个分支结构中包含另一个完整分支结构,当有多个条件时分别判断多个条件提高程序可读性。

ps:if分支语句中去掉括号,对第一行代码有效。

public class IfTest {
	public static void main(String[] args) {
		int i=3;
		if(i==2)
			System.out.println("代码1");
		System.out.println("代码2");
	}
}

只会输出代码2。

switch分支语句:

语句格式:

switch ( 表达式 ) {  
	case 常量1 :
	当表达式的值等于整型常量1时执行的语句; 
	break;//当一种情况包含其他情况时
	case 常量2 :
	当表达式的值等于整型常量2时执行的语句; 
	break;
 	   ---
	default:
	当表达式的值不满足任何一个case的值时,执行的语句;
}

switch变量类型只能是int,short,char,byte,当进行case判断时,jvm会从上到下扫描,寻找匹配的case。

但若是case没有break时,JVM并不会顺序输出每一个case对应的返回值,而是继续匹配,不成功则返回默认case。

public class SwitchTest {
	public static void main(String[] args) {
		int i=1;
		switch(i){
			case 1 :
				System.out.println("代码1");
			case 2 :
				System.out.println("代码2");
                                break;
			default :
				System.out.println("代码3");
		}
		System.out.println("代码4");
	}
}

运行结果:代码1

                 代码2

                 代码4

循环:

for循环结构:

for(表达式1;表达式2;表达式3){
       循环体;
}

表达式1:参数初始化。

表达式2:条件判断。

表达式3:若表达式2为true时,执行完循环体后更新循环变量。

循环体:被执行的语句。

while循环结构:

while(布尔型循环条件){
	循环代码块
 }

先判断,再执行。

do-while循环结构:

do {
	循环操作
} while ( 布尔型循环条件 );

特点:先执行,再判断,至少会执行一次。

使用循环结构输出九九乘法表:

public class Second{
    public static void main(String []args){
        for(int i=1;i<=9;i++){               //行数
              for(int j=1;j<=i;j++){          //每行的个数
                   System.out.print(j+"*"+i+"="+j*i+"\t");
              }
               System.out.println();
         } 
    }  
}