控制流有两种结构: 条件结构 循环结构
条件结构三种:基本条件结构,多重条件结构,switch条件结构
循环结构三种:while循环 do-while循环 for循环
if语句适合连续的值可以用比较运算符写条件
switch结构更适合不连续的一个一个的数值
基本条件结构:
if(条件){
//满足条件的代码
}
else{
//未满足条件的代码
}
例子:判断两个成绩是否都及格
Scanner sc=new Scanner(System.in);
sout("请输入html成绩:");
float heml=sc.nextFloat();
sout("请输入css成绩:");
float css=sc.nextFloat();
if(html>=60&&heml>=60){
sout("成功通过!");
}
else{
sout("未通过!");
}
if条件内容无论是怎样的表达式,只要结果是boolean类型即可
boolean flag=true;
if(flag==true)//等价于if(flag){
sout(“flag为true”);
}
else{
sout(“flag为false”);
}
三元表达式:三元是对表达式基本条件判断的特殊运算符号 表达式 ?表达式1:表达式2;
true则调用表达式1;
false则调用表达式2;
例子:找出两个数中的最大值
sout("请输入第一个数:");
int n1=sc.nextInt();
sout("请输入第二个数:");
int n2=sc.nextInt();
int max;
if(n1>=n2){
max=n1;
}
else{
max=n2;
}
sout("最大值是:"+max);
多重条件结构:
if(条件1){
//满足条件1的代码
}
else if(条件2){
//满足条件2的代码
]
else if(条件3){
//满足条件3的代码
}
else{
//所有条件都不满足的代码
}
例子:输入成绩判断是优秀90、良好80、及格60、不及格
sout("请输入成绩:");
int score=sc.nextInt();
if(score>=90){
sout("成绩优秀!");
}
else if(score>=80){
sout("成绩良好!");
}
else if(score>=60){
sout("成绩及格!");
}
else{
sout("成绩不及格!");
}
switch结构:
switch(){
case 值1:
//执行代码1
break;
case 值2:
//执行代码2
break;
default:
//执行代码3
}
代码中每个case后面都要有break,不然case结束后会运行下一个case
1.case值不能重复
2.case值不能为变量名,只能为常值
sout(“主菜单”);
sout(“1.登录”);
sout(“2.注册”);
sout(“3.退出系统”);
Scanner sc=new Scanner(System.in);
int choice=sc.nextInt();
/*********用if结构写***********/
if(choice==1){
sout(“登录”);
}
else if(choice==2){
sout(“注册”);
}
else if(choice==3){
sout(“退出系统”);
}
/*********用switch结构写***********/
switch(choice){
case 1:
sout(“登录”);
break;
case 2:
sout(“注册”);
break;
case 3:
sout(“退出系统”);
break;
default:
sout(“无效选择”);
}
例子:输入年份和月份,判断当月一共有多少天?
Scanner sc=new Scanner(System.in);
sout(“请输入一个年份:”);
int year=sc.nextInt();
sout(“请输入一个月份:”);
int month=sc.nextInt();
//判断月份范围,只有月份输入的规范才能够进入判断月份的方法
if(month>=1&&month<=12){
int day;
switch(month){
//2月特殊,单独写一个case
case 2:
year%4==0&&year%100!=0||year%400==0?day=29:day=28;
break;
//小月
case 4:
case 6:
case 9:
case 11:
day=30;
break;
//其余月为大月
default:
day=31;
}
sout(month+“月有”+day+“天”);
}
else{
sout(“非法的月份输入”);
}
随机数生成器:
//导入包
import java.util.Random;
//创建随机生成器
Random ran=new Random();
//随机生成一个0-4的整数,
int n=ran.nextInt(5);
//若是生成1-6的数,则应该生成0-5再加1
int n=ran.nextInt(6)+1;
//生成一个100-1000的随机数,要加100
int n=ran.next(901)+100;
例子:生成一个四位数的验证码
Random ran=new Random();
int n1=ran.nextInt(10);
int n2=ran.nextInt(10);
int n3=ran.nextInt(10);
int n4=ran.nextInt(10);
//要让加号起连接作用,连接上一个空字符
sout(""+n1+n2+n3+n4)
//如果要对验证码进行校验,则另外需要对其进行接收
String code=""+n1+n2+n3+n4;
sout("生成的验证码为"+"["+code+"]");