流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。其流程控制方式采用结构化程序设计中规定的三种基本流程结构(顺序结构,选择结构,循环结构)。
顺序结构:程序从上到下逐行执行,中间没有任何判断和跳转。
分支结构:选择结构,两类(if,Switch)
循环结构:while,do...while,for循环
一.选择结构
1.if语句
if(条件表达式){
执行代码块;
}
2.if-else语句
if(条件表达式){
执行代码块1;
}else{
执行代码块2;
}
3.if-else if 语句
if(条件表达式1){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}
......
else{
执行代码块n;
}
2.switch语句
switch(表达式){
case 常量1:
语句1;
//break;
case 常量2:
语句2;
//break;
... ...
case 常量N:
语句N;
//break;
default:
语句;
//break;
}
提示:
case子句中的值必须是常量,不能是变量名或不确定的表达式值;
同一个switch语句,所有case子句中的常量值互不相同;
break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到 switch结尾 ;
default子句是可任选的,同时,位置也是灵活的。当没有匹配的case时,执行default。
二.循环结构
循环四要素:初始化变量,循环条件,循环操作,改变变量的值(防止死循环)。
1.while循环(先判断在执行)
while(循环条件){
循环操作;
}
2.do-while循环(先执行在判断)
do{
循环操作;
}while(循环条件);
3.for循环
for(参数初始化;条件判断;更新循环变量){
循环操作;
}
三.语句跳转
1.break
用于while,do-while,for中是,可跳出循环二执行循环后面的语句
用在Switch语句中,跳出整个循环
2.continue
只能用在循环里面,跳过循环体中剩余的语句二执行下一次循环
3.return
结束一个方法
四.例题
1、输入今天星期几。一三五,吃鱼。二四六吃肉,日吃素。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("今天星期几:");
int day=input.nextInt();
if(day>0&&day<8) {
switch(day) {
case 1,3,5:
System.out.println("今天吃肉");
break;
case 2,4,6:
System.out.println("今天吃素");
break;
case 7:
System.out.println("今天荤素搭配");
break;
}
}else {
System.out.println("输入有误,请重新输入!!!");
}
}
}
2,随机生成一个100以内的数,猜数字游戏:从键盘输入数,如果大了提示,大了,如果小了,提示 小了,如果对了,就不再猜了,并统计一共猜了多少次?
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int num = (int)(Math.random()*100)+1;
Scanner input=new Scanner(System.in);
System.out.println("请输入你要猜的数:");
int cout=0;
while(true) {
int guessNum=input.nextInt();
if(guessNum==num) {
System.out.println("恭喜你,猜对了,共用了"+cout+"次机会。");
break;
}else if(guessNum<num) {
System.out.println("很遗憾,你猜小了!!!\n请重新猜");
cout++;
}else if(guessNum>num){
System.out.println("很遗憾,你猜大了!!!\n请重新猜");
cout++;
}
}
}
提示(随机数生成):
使用Math.random() 产生随机数
Math.random() 产生[0,1)范围的随机值
Math.random() * 90:[0,90)
Math.random() * 90 + 10:[10,100) 即得到 [10,99]
使用(int)(Math.random() * 90 + 10)产生一个两位数的随机数