流程控制
① 顺序结构
代码由上自下生成
输入(实际工作用途不大)
1.创建输入入口工具
java.util.Scanner sc =new java.util.Scanner(System.in);
2.创建输入入口
int num=sc.nextInt(); ///int 整数类型
double score=sc.nextDouble();//double型数据
String name=sc.next();//String类型数据
②分支结构和选择结构
1.分支结构
单分支
需求:请输入小明java成绩,如果成绩大于90分,奖励女朋友一位!
语法:if(条件){代码块}
原理:条件成立,执行代码块,条件不成立,就不执行代码块
代码:
double score=90;
if(score>90){
System.out.println("奖励女朋友");
}
双分支
需求:请输入小明java成绩,如果成绩大于90分,奖励女朋友一位!否则奖励男朋友一位!
语法:if(条件){代码块1}else{代码块2}
原理:条件成立执行代码块1,条件不成立执行代码块2
代码:
double score=90;
if(score>90){
System.out.println("奖励女朋友");
}else{
System.out.println("奖励男朋友");
}
多分支
需求:请输入小明java成绩,如果满分,奖励女朋友二位,如果成绩高于90,奖励女朋友一位!
如果成绩高于80,奖励小红花!如果不及格,惩罚敲代码!
语法:if(条件1){代码块1}else if(条件2){代码块2}else if(条件3){代码块3}...【else{代码块n}】
原理:条件1成立,执行代码块1,多分支结束
条件1不成立,则判断条件2,条件2成立,执行代码块2,多分支结束
条件2不成立,判断条件3,条件3成立,执行代码块3,多分支结束
...
如果所有的条件都不成立,有else则执行else,没有就一个不执行
代码:
double score=100;
if(score==100){
System.out.println("奖励两个");
}else if(score>90){
System.out.println("奖励一个");
}else if(score>80){
System.out.println("奖励一个小红花");
}else if(score<60){
System.out.println("惩罚敲代码");
}
**注意:
a. 局部变量的作用域是在当前大括号内
b. 如果大括号中只有一行代码的话,大括号是可以省略的!
但是这行代码不能是变量的声明!**
2.选择结构
语法:
switch(变量){
case 值1:
代码块1;
break;//出去的出口,如果不写会直接执行下一条
case 值2:
代码块2;
break;
。
。
。
case 值n:
代码块n;
break;
default:
代码块;
break;
}
原理:判断变量的值和值1是否相等,如果相等则执行代码块1;开始寻找break!找到break结 束当前switch
如果和值1不相等,就判断和值2是否相等,如果相等,执行代码块2,开始找break
...
如果和所有值都不相等,有default就执行代码块n,如果没有就不执行
代码:
String num="abc";
switch(num){
case "abc":
System.out.println("111111111");
case "aaa":
System.out.println("22222222222222222");
default:
System.out.println("default");
}
***注意:
a. 当前switch内的case值不能相同
b. 变量的数据类型有要求的 byte short int char String(1.7新增) 枚举***
③循环结构 ★
循环的好处:提高复用性、扩展性和维护性
1.while循环
语法:while(条件){代码块}
原理:判断条件是否成立,如果成立则执行代码块,代码块执行完,会继续回到条件 判断的位置
判断条件是否依然成立,如果成立还要执行代码块!直到条件不成立了,循环就结束
如何控制循环次数:
三要素:a. 循环因子 b. 循环条件 c.循环因子值的改变
代码:
int i=0;//循环因子
while(i<305){//循环条件
System.out.println("好好学习,天天向上"+i);
i++;//循环因子值的改变
}
2.for循环
语法:for(循环因子的赋值;循环条件;循环因子值的改变){代码块}
3.do-while循环
语法:do{代码块}while(条件);
原理:先执行代码块,判断条件是否成立,如果成立就会执行第二次,继续判断条件是否成立
直到条件不成立为止
特点:第一次是100%执行的!
④跳转结构
break、continue
break;//结束循环
continue; //结束当前循环