1 程序结构
程序结构分为顺序结构、分支结构、循环结构。分支结构有:if结构,if....else结构,if...else if....else ,if...else结构,switch结构;循环结构有:while循环,do....while循环,for循环。
2 分支结构
①if结构 语法:
if(布尔表达式){
//语句;
}
执行过程:如果布尔表达式为true执行其下语句,布尔表达式为false时不执行其下语句。
{}可以省略,如果省略将执行第一个语句块。为了程序的可读性推荐不要省略{}
②if...else结构 语法:
if(布尔表达式){
//语句1
}else{
//语句2;
}
执行过程:如果布尔表达式值为true,执行语句1,否则执行语句2.
{}也是可以省略的,省略之后只执行第一个语句块。
示例1:根据用户输入的年份,加上一个[0,10]随机数后,判断该年是否为闰年。
分析:
1.获取用户输入的年份:Scanner
2.产生一个[0,10]之间的随机整数:Math.random()-->(0,1)之间的随机小数
3.判断该年是为闰年,闰年的判断条件:能被4整除并且不能100整除;或者能被400整除。
public class TestIfElse2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个年份:");
int year = input.nextInt();
//产生[0,10]之间的随机整数
int random = (int)(Math.random()*11);
year = year+random;
//判断是否为闰年
if((year%4==0&&year%100!=0)||year%400==0){
System.out.println(year+"为闰年,共366天!");
}else{
System.out.println(year+"为平年,共365天!");
}
}
}
示例2:(if嵌套)
if嵌套:一个if语句包含了其他的if语句。
if(条件1){
if(条件2){
//语句;
}
}
③if....else if....else结构 语法:
if(条件1){
//语句1;
}else if(条件2){
//语句2;
}else if(条件3){
//语句3
}....{
}else{
//语句N;
}
执行过程:先判断条件1是否成立,如果条件1成立执行语句1并跳出条件结构;如果条件1不成立继续判断其下的条件2,如果条件2成立执行语句2....,所有条件都不成立执行else中语句N.
注意:条件的位置有可能影响执行结构,条件位置一般需要满足从范围小的条件到范围大的条件逐次摆放。
④switch结构
switch可以代替多重if条件结构中等值判断。
语法:
switch(表达式){
case 值1:
语句1;
[break];
case 值2:
语句2;
[break];
....
default
语句N;
[break];
}
执行过程:将表达式的值与case中的常量值挨个进行比较,如果匹配成功将执行其下语句,直到遇到break关键字跳出switch结构。
注意:
1)swtich中传入的表达式可以是byte,short,int,char,从JDK1.7以后支持String类型
2)case后的常量值不能重复
3)case语句中的break是可以省略的,但如果省略break将出现case穿透。
4)default语句也是可以省略的。
3 循环结构
如果遇到需要反复做的事情,可以利用循环进行解决。
①while循环 语法:
while(布尔表达式){
//循环体
}
执行过程:
步骤1:先判断布尔表达式值是否为true,如果为true进入步骤2
步骤2:执行while中循环体,执行结束后回到步骤1
注意:检查循环是否能退出(检查循环条件是否不满足的时候)
特点:先判断,后执行,有可能一次都不执行。
②do...while循环 语法:
do{
//循环体;
}while(布尔表达式);
执行过程
步骤1:先执行循环体,进入步骤2
步骤2:判断布尔表达式是否为true,如果值为true,执行步骤1,否则退出循环。
特点:先执行,后判断。执行会执行1次。
③for循环 语法:
for(表达式1;表达式2;表达式3){
//循环体;
}
表达式1:循环变量的初始化,只会执行1次
表达式2:循环条件
表达式3:更改循环变量(步进)
注意:从语法的角度上说表达式1,表达式2,表达式3都可以省略,分号不能省略。但是如果省略了表达式2和表达式3经常会造成死循环。终止执行:ctrl+c
特点:先判断,后执行。有可能一次都不执行。
执行过程:
步骤1:先执行表达式1进行循环变量的初始化工作
步骤2:执行表达式2进行循环条件的判断,如果条件为true,执行步骤3,否则退出循环。
步骤3:执行循环体;
步骤4:执行表达式3进行更改循环变量,然后执行步骤2。
4 break和continue
①break关键字可以用于switch结构和循环结构
作用: 1.如果用于switch结构,跳出当前的case语句
2.如果用于循环结构中,跳出当前循环结构。
②continue关键字只能用于循环结构。
作用:跳过本次循环,重新开始下一趟循环。
5 return
可以使用return关键字结束当前函数的执行。
在函数中只要遇到了return关键字,终止当前函数(方法),并回调函数(方法)的被调用处。