选择结构
文章目录
if
结构
if(布尔条件){
//如果条件为真,则执行
}
注意
如果if()后不加{}则if/for/while都只对下面第一条语句生效(步推荐使用)
if…else…
结构
if(布尔条件){
//如果条件为真,则执行
}else{
//如果条件为假执行此模块
}
习题
int b = 0 ;
if(3>2)
b = 1;
else
b = -1 ;
b++ ;
System.out.println(b) ;
//b为2 以为不加括号只执行判断语句的下一句话
多重if
多重if:多重选择
结构
if(){
}else if(){
}else{
}
分析时,可以借助于数轴
多重If ,编写顺序,先写严格的
if嵌套
结构
if(){
if(){
if(){
}
}
}
switch
int rank = 2 ;
switch (rank){
case 1:
System.out.println("笔记本电脑");
break;
case 2:
System.out.println("U盘");
break;
case 3:
System.out.println("夏令营");
break;//break表示整个switch全部结束
default:
System.out.println("不奖励");
break;
switch会用 rank和所有的case匹配,如果匹配成功,则执行相应的case后的语句,知道遇到break结束;
在switch中,如果rank和所有的case都步匹配,则执行default
switch后能放的类型
char、byte、int、Character、Byte、Short、Integer、enum、枚举
case后的值只能是常量 ,不能重复,不支持double类型
default可省略
swtich只有遇到break和最会}才结束;
break一半步建议省略,特殊情况下省略
eg{spictice}
int month = 5 ;
switch(mounth){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("是大月");
break;
多重if和switch有什么用法区别?
如果判断的是区间值,用多重if
如果判断的是离散/单点值,switch
随机数
**Math.random() ; **
取值范围:[0,1)
百位随机数
(int)(Math.random()*三位数中最大的整百数)+最小的整百数
eg
三位数
(int)(Math.random()*900)+100 ;
循环
生活中的循环
- 周一~周五18:00放学
- 做100道数学题
- 自行车轮子转动
循环操作/循环体、循环条件
while
结构
whlie(循环条件){
循环操作;
}
循环要注意更新变量,防止死循环
先判断后执行
do…while
结构
do{
循环操作
}while(循环条件);
限执行后判断,至少执行一次
//用循环实现 登录操作,若用户名、用户密码错误 则给出提示,并重新登录
String username = "" ;
String password = "" ;
Scanner input = new Scanner (System.in) ;
do{
//如果第一次进入不显示这个if
if(!(username.equals(""))){
System.out.println("登录错误请重新登录");
}
System.out.println("请输入用户名和密码");
username = input.next() ;
password = input.next() ;
}while(!(username.equals("zhao"))&&!(password.equals("123"))) ;
System.out.println("恭喜你登录成功");
for
结构
for(初始值;循环条件;更新变量){
循环操作
}
增强for循环
for(声明语句:表达式){
//代码句子
}
int [] unms = {
10,20,30,40,50} ;//定义一个数组
//增强for循环
for(int x : unms){
System.out.println(x) ;
}
---------------------------------------------
//正常for循环
for(int i = 0 ; i<5 ; i++){
System.out.prinlin(unms[i]) ;
}
时候循环次数知的、始末条件已经知道
break、continue
break:退出循环、终止循环
continue:跳出当前循环、继续下一次循环
boolean flag = 3<2 ;
if(flag= true){
System.out.println("a") ;
}else{
System.out.println("b");
}
//输出语句为a 因为if括号中是一个=表示赋值所以flag就等于true
//分清=和==一个是赋值一个是等于
二重循环
while(){
for(){
}
}
二重循环:外层循环执行一次,内层循环执行一次(从头到尾)
打印算法、算法(冒泡排序):【外层循环和内层循环之间的数据关系】
foreach
结构
for(元数据类型 变量值 :数组)