Java语句的控制结构主要有顺序结构、选择结构、循环结构和转移。
按照语句的先后顺序执行,顺序结构是最基本的控制结构。
在若干路径中有条件的选择执行不同的语句
根据条件表达式的值选择执行。
If(条件表达式){
语句块1
}
else{
语句块2
}
a:当条件为ture时,执行语句块1,当条件为false时,执行语句块2.
b:如果语句块2为空时,可以省略掉else语句。
c:如果语句块1和语句块2只有一个表达式,花括号则可以省略不写。
d:else不能单独使用,else和他最靠近的if语句配对。
If(表达式1){
语句块1;
}
else if(表达式2){
语句块2;
}
……
else{
语句块n
}
a:如果任何一个表达式的值为真,对应中的语句块被执行。
b:else 可以处理所有条件都不满足时。
根据表达式的值,决定执行哪一个选项的语句。
Switch(整型或字符型表达式){
case 标签1:
语句块1
break;
case 标签2:
语句块2
break;
……
default:
语句块n
break;
}
a:先计算整型或字符型选项表达式的值,然后跟case语句相匹配。匹配到case则执行该case下面的语句。一直执行到brake转移语句时,结束。
B: 如果没有匹配到则执行default里面的语句。
C:如果没有brake语句则会一直往下执行。所以一般不推荐使用此语句。
D:case标签可以是:四种基本类型(byte、short、int、char)或他们包装类的常量表达式。Java1.5版本枚举常量。Java 7版本后case标签还可以是字符串字常量。
a:if语句可以实现程序中所有的条件,而switch语句适合做一组相等变量的判断
b:switch语句的执行速度比if语句块。
c:如果纯碎选择数字或字符,就选择switch语句。
for语句循环结构也成为计数器循环语句。
for(循环表达式;终止表达式;更新表达式){
循环体;
}
A:初始化表达式设置for循环的初始条件。一般是一个赋值表达式。
B:终止条件表达式检测循环条件是否满足。满足则继续执行否则终止。一般是布尔型表达式
C:更新表达式一般用于更新计数器的值,一般是一个自增减或算术表达式。
for循环可以是一个语句块也可以包含一个或多个for循环。
例如:
for(int x=0;x<10;x++){
for(int y=0;y<10y++){
循环体;
}
}
A:外层循环每执行一次,内层循环完整的执行一次。
while循环语句也称为当型循环。当条件表达式为真时执行循环体,否则终止。
While(循环条件表达式){
循环体;
}
A:先判断再执行。
B: 循环条件表达式必须是布尔型表达式,
C:语句块中必须有终止条件,或者有终止循环的条件,否则为死循环。
该语句也称为直到型循环,该循环先无条件的执行一遍循环体,再坚持循环条件,为真是继续执行,否则结束。
do{
循环体;
}while(循环条件表达式);
A:先循环再判断。
B:在执行循环体的过程中可以为循环变量赋值,
C:条件表达式为任何布尔型表达式。
D:若为true,继续执行,否则结束。不管真假都会执行一次。
形式break;
作用:强行退出其所在循环,不执行循环中剩余的语句。
形式break 标号名;
作用:从标号指示的语句中跳转出来。
形式:continue;
作用:提前结束当前这轮循环,回到测试条件处继续执行。
形式:continue 标签号;
作用:提前结束标号所指循环的当前循环,一般用于循环语句中。
格式:return;
作用:结束当前方法的执行。
格式:return 表达式;
作用:退出当前执行的函数方法,返回函数值。
注意;return语句返回值的类型必须要和方法的返回类型相匹配。
public class Test1 {
//斐波那契数列是这样的一组数:数列的第一项、第二项都是1,
//往后各项的值均为其前两项值之和,编程求第n个斐波那契数列的值。
public static int method(int n){
//计算第一项和第二项的值。
if(n==1||n==2){
return 1;
}
//x1代表第一项,x2代表第2项。count代表当前项;
int x1=1;
int x2=1;
int count=0;
int i=3;
while(i<=n){
//计算斐波那契数列;
count=x1+x2;
//更新第一项和第二项的值;
x1=x2;
x2=count;
//更新计数器
i++;
}
return count;
}
public static void main(String[] args) {
System.out.println(method(4));
}
}