逻辑控制

逻辑控制

1.顺序结构

按照代码书写的结构运行

2.分支结构

2.1if语句
  1. if(布尔表达式){
    //条件满足时执行代码 }else{
    //条件不满足时执行代码
    }
  2. if(布尔表达式){
    //条件满足时执行代码 }else if(布尔表达式){
    //条件满足时执行代码 }else{
    //条件都不满足时执行代码
    }

判定某一年份是否是闰年

int year = 2000;
if (year % 100 == 0) {
// 判定世纪闰年
if (year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
} else {
// 普通闰年
if (year % 4 == 0) {
System.out.println("是闰年");
}

if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句). 此时 else 是和最接近的 if 匹配.

2.2switch语句

switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}

default:{
内容都不满足时执行语句;
[break;
}
}
根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句.
如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句.
一个 switch 语句最好都要带上 default.

注意事项
1.break不要遗漏
2.switch(整数|枚举|字符|字符串
3.注意事项3 switch 不能表达复杂的条件
// 例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe
// 这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示.
if (num > 10 && num < 20) {
System.out.println(“hehe”);
}
注意事项4 switch 虽然支持嵌套, 但是很丑~

3.循环结构

3.1while

while(循环条件){
循环语句;
}
循环条件为 true, 则执行循环语句; 否则结束循环

3.2break

break 的功能是让循环提前结束.

3.3continue

continue 的功能是跳过这次循环, 立即进入下次循环.

3.4for

for(表达式1;表达式2;表达式3){
循环体;
}
表达式1: 用于初始化循环变量.
表达式2: 循环条件
表达式3: 更新循环变量.
相比于 while 循环, for 循环将这三个部分合并在一起, 写代码时不容易遗漏.

4.输入输出

4.1输出到控制台

  • println 输出的内容自带 \n
  • print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的

4.2从键盘输入
使用 Scanner 读取字符串/整数/浮点数

  • nextInt( ):只读取整数数值,并在读取输入后把光标留在本行
  • nex( ):读取输入直到遇见空格。此方法不能读取被空格分隔开的内容,并在读取输入后把光标留在本行
  • netLine( ):读取包括空格在内的输入,而且还会读取行尾的换行符/n,读取完成后光标内被放在下一行

使用 Scanner 循环读取 N 个数字

Scanner sc = new Scanner(System.in);

 double sum = 0.0;

int num = 0;

while (sc.hasNextDouble()) {

 double tmp = sc.nextDouble();

 sum += tmp;

num++;

}


System.out.println("sum = " + sum); 

System.out.println("avg = " + sum / num); 

sc.close();

// 执行结果

10

40.0

50.5

^Z

sum = 150.5

avg = 30.1

注意事项: 当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl + d).

void close() 关闭此扫描仪。
boolean hasNext()
boolean hasNextLine()方法判断当前是否有输入,当键盘有输入后执行循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值