控制结构: 程序流程决定程序是如何执行 顺序结构:程序由上倒下执行,中间没有任何判断和跳转。 if-else:单分支:if(条件表达式){ • 执行代码块;(可以有多条语句) } 说明:当条件为true是执行 { } 里的代码。为false不执行 双分支:if(条件表达式){ • 执行代码块1; }else{ • 执行代码块2; } 说明:当条件为true执行代码块1,当为false执行代码块2。 多分支:if(条件表达式){ • 执行代码块1; }else if{ • 执行代码块2; } …… else{ • 执行代码块n; }嵌套语句: 在分支中又完整地嵌套另一个分支,里面的是内分支,外面的是外分支。 if(条件表达式){ }else{ if(){ }else{ } }switch:switch(表达式){ case 常量1: 语句1; break; //跳出循环 case 常量2: 语句2; break; …… case 常量n: 语句n; break; default: default语句块; break; } detail: 表达式数据类型,应和case后的常量类型一致,或者可以自动转换的类型, 如:char和int。 switch(表达式)的返回值必须是:(byte,short,int,char,enum[枚举],String) case 的值必须是常量,不能是变量。 default语句是可选的,没有case匹配的值,执行default。 break语句用来跳出switch语句块,没写break程序会顺序执行到switch结尾,除非遇到break。 for循环for(循环变量初始化;循环条件;循环变量迭代){ 循环操作(可以多条语句); } detail: 循环条件的返回一个布尔值的表达式。 fro(; 循环判断条件 ; )中的初始化和变量迭代可以到其他地方,但是两边的分号不能省略。 循环初始值可以是多条语句,但是类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代,中间用逗号隔开。 while:循环变量初始化; while(循环条件){ 循环体(语句); 循环变量迭代; } detail: 循环条件是返回一个布尔值的表达式 while循环是先判断再执行语句 do…while:循环变量初始化; do{ 循环体(语句); 循环变量迭代; }while(循环体); //注意分号 detail: 循环条件是返回一个布尔值的表达式。 先执行,再判断。(至少执行一次) break: 用于终止某个语句的执行。 detail: break语句出现在多层嵌套的语句中时,可以通过 标签 指明要终止的是哪一层语句块。 label1:{ // label(标签) label2:{ label3:{ ..... break label?; //指定退出那层循环 ..... } } }continue:continue用于结束本次循环,执行下次循环。 continue出现多层嵌套时,可以通过标签指明要跳转那层循环,和break标签用法一样。