顺序结构
特点:依次从上往下顺序执行
输出语句
1、输出后换行
System.out.println();
2、输出后不换行
System.out.print();
输入语句
步骤:
1、准备键盘输入的变量
2、用输出语句提示用户输入xx信息
3、接收键盘输入结果
//1、准备键盘输入的变量 java.util.Scanner input = new java.util.Scanner(System.in); //2、提示输入 System.out.print("姓名:"); String name = input.next(); System.out.print("年龄:"); int age = input.nextInt(); System.out.print("体重:"); double weight = input.nextDouble(); System.out.print("性别:"); char gender = input.next().charAt(0); System.out.print("是否已婚(true/false):"); boolean marry = input.nextBoolean();
next()与nextLine()
next():遇到空白符就输入结束 nextLine():能够接收一行,遇到换行符结束
分支结构
条件判断
1、单分支条件判断
语法结构:
if(条件表达式){
语句块;
}
执行特点:
当条件表达式成立时,执行语句块,否则就不执行。
要求:
(1)if(条件表达式)中“条件表达式”必须是boolean类型
(2){语句块;}中当语句块只有一个语句时,可以省略{},不建议省略
一个语句可以是简单的输出语句,赋值语句,也可以是复合语句,例如一个完整的单分支、双分支,多分支,选择分支,或一个完整的循环结构...
2、双分支条件判断
语法结构:
if(条件表达式){ 语句块1; }else{ 语句块2; }
执行特点:
当条件表达式成立时,执行语句块1,否则执行语句块2。
要求:
(1)if(条件表达式)中“条件表达式”必须是boolean类型
(2){语句块;}中当语句块只有一个语句时,可以省略{},不建议省略
3、多分支条件判断
if(条件表达式1){ 语句块1; }else if(条件表达式2){ 语句块2; }else if(条件表达式2){ 语句块2; } 。。。 【 else{ 语句块n+1; } 】
执行特点:
(1)先判断条件表达式1,
A:如果条件表达式1成立,执行语句块1,结束整个多分支结构
B:如果条件表达式1不成立,不执行语句块1,转到(2)
(2)判断条件表达式2,
A:如果条件表达式2成立,执行语句块2,结束整个多分支结构
B:如果条件表达式2不成立,不执行语句块2,转到(3)
(3)。。。。
(n+1)当以上所有条件表达式都不成立,如果存在最后单独的else,执行最后的else中的语句块n+1;
要求:
(1)if(条件表达式)中“条件表达式”必须是boolean类型
(2){语句块;}中当语句块只有一个语句时,可以省略{},不建议省略
(3)当多个条件的范围没有重叠部分,顺序可以随意,但是条件范围如果有重叠部分,顺序有要求,范围小的在上面,大的在下面
4、嵌套
在任意一个if的{}或者else的{}中都可以再嵌套任意一种分支结构。
执行原则:
如果嵌套在if的{}中,当外面的if条件满足时,才会看里面的分支结构;
如果嵌套在else的{}中,当外面的if条件不满足时,才会进入else里面的分支结构;
选择结构
语法格式:
switch(表达式){ case 常量值1: 语句块1; 【break;】 case 常量值2: 语句块2; 【break;】 .... default: 语句块n+1; 【break;】 }
执行的特点:
(1)入口
A:case入口:当switch(表达式)中表达式的值与某个case后面的常量值匹配,就从这个case进入
B:default入口:当switch(表达式)中表达式的值与所有case后面的常量值都不匹配,从default进入
(2)出口
A:自然出口:从switch的结束}结束
B:中断出口:遇到break,return...
(3)一旦从入口进入,在没有遇到出口之前,一直往下执行,甚至会贯穿case
要求:
(1)switch(表达式)的类型有要求:4种基本数据类型(byte,short,char,int),两种引用数据类型(JDK1.5之后枚举,JDK1.7String类型)
(2)case后面必须是常量值,不能是变量
(3)case后面的常量值不能重复
循环结构
for循环
1、语法结构
for(;;){
循环体语句块;
}
执行特点:
(1)如果在循环体语句块中没有break,return等结束循环的语句的话,那么它就是死循环
for(初始化表达式; 循环条件; 迭代表达式){
循环体语句块;
}
执行特点:
(1)先执行初始化表达式;
(2)判断循环条件
A:条件成立,执行循环体语句块,然后执行迭代表达式,再回到(2)
B:条件不成立,结束for
要求:
for(;;)两个分号不能多也不能少;
循环条件必须是boolean类型
如果循环体语句块只有一个语句,{}可以省略,但是不建议省略
while循环
1、语法结构
while(循环条件){
循环体语句块;
}
执行过程:
(1)先判断循环条件
A:如果条件成立,执行循环体语句块,然后回到(1)
B:如果条件不成立,直接结束while
要求:
(1)while(循环条件)的条件必须是boolean
(2)如果循环体语句块只有一个语句,{}可以省略,但是不建议省略
do...while循环
语法结构:
do{ 循环体语句块; }while(循环条件);
执行过程:
(1)先执行一次循环体语句块
(2)判断循环条件
A:如果条件成立,再次执行循环体语句块,然后回到(2)
B:如果条件不成立,直接结束do..while
要求:
(1)while(循环条件)的条件必须是boolean
(2)如果循环体语句块只有一个语句,{}可以省略,但是不建议省略
(3)do...while结构的while()小括号后面的;不能省略
嵌套
外循环循环一次,内循环循环一轮
跳转
1、break
用于(1)switch,表示结束当前switch(2)循环,表示结束当前循环
说明:如果break在嵌套循环的内循环中,只能结束内循环
2、continue
用于(1)循环,表示提前结束本次循环,跳过本次循环剩下的循环体语句块,提前进入迭代