控制语句(顺序、条件、循环)
控制语句:把语句组合乘能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环
顺序结构
先执行 a 再执行 b 的逻辑
条件判断结构(选择结构)
“如果……,则……”的逻辑
if单分支结构

if(布尔表达式){
语句块
}
1.如果if语句不写{},则if只作用于第一条语句
2.强烈建议,任何时候都加上{},有可能后期改版需要加上一些其他语句
【示例】掷骰子游戏
/** 游戏规则
* 1.如果三次的值加起来大于15,则手气不错
* 2.如果在10~15之间,一般
* 3.如果在10一下,不怎么样
*/
public class Test {
public static void main(String[] args){
int i = (int)(Math.random() * 6) + 1;
int j = (int)(Math.random() * 6) + 1;
int k = (int)(Math.random() * 6) + 1;
int count = i + j + k;
if(count >= 15){
System.out.println("哟,手气不错!");
}
if(count >= 10 && count < 15){
System.out.println("手气一般");
}
if(count < 10){
System.out.println("手气不行");
}
System.out.println("得分\t" + count);
}
}
if—else双分支结构

if(布尔表达式){
语句块1; // 如果布尔表达式值为 true 执行 语句块1
}else{
语句块2; // 如果布尔表达式值为 false 执行 语句块2
}
【示例】
public class Test {
public static void main(String[] args){
int i = (int) (Math.random() * 6) + 1;
System.out.println(i);
if(i > 3){
System.out.println("较大的数");
}else{
System.out.println("较小的数");
}
// 与下面的语句同理
System.out.println(i > 3 ? "较大的数" : "较小的数");
}
}
if—else if—else多分支结构
if(布尔表达式1){
语句块1;
}else if(布尔表达式2){
语句块2;
}……
else if(布尔表达式3){
语句块n;
}else{
语句块n + 1;
}
【示例】掷骰子游戏
/** 游戏规则
* 1.如果三次的值加起来大于15,则手气不错
* 2.如果在10~15之间,一般
* 3.如果在10一下,不怎么样
*/
public class Test {
public static void main(String[] args){
int i = (int)(Math.random() * 6) + 1;
int j = (int)(Math.random() * 6) + 1;
int k = (int)(Math.random() * 6) + 1;
int count = i + j + k;
if(count >= 15){
System.out.println("哟,手气不错!");
}else if(count >= 10){ // 10~15
System.out.println("手气一般");
}else{
System.out.println("手气不行");
}
System.out.println("得分\t" + count);
}
}
swichd多分支结构(多值情况)

swich(表达式){
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
…………
default:
默认语句块; //default 可有可不有
}
1. swich 会根据表达式的值从相匹配的 case 标签处开始执行,一直执行到 break 处或者是 swich 的末尾。
如果表达式的值与任一 case 的值不匹配,则进入 default 语句
2. swich中表达式的值可以是 int /(short / byte / char / 这三个可以转 成 int) 枚举 / 字符串, 但是 long 不行
【示例】
import java.util.Scanner; // 导入类
public class Test {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入您要判断的月份:(1~12)");
int month = s.nextInt();
switch (month){
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("错误输入!");
}
}
}
循环结构
循环结构分为两大类:当型 和 直到型
当型
当布尔表达式条件为true,反复执行某语句,当布尔表达式的值为false是才停止循环 比如 while 和 for 循环
while循环

while(布尔表达式){
循环体;
}
1.循环刚开始时,会计算一次布尔表达式的值,为true就执行循环体,每一次额外的循环都会在开始前重新计算一次。
2.应有一次使布尔表达式值为false或者循环体内有语句跳出循环,使循环有穷,否则会出现死循环
public class Test {
public static void main(String[] args){
int i = 0;
// 打印三次 Hello
while(i < 3){
System.out.println("Hello");
i ++; // 少了这一行会死循环
}
}
}
for循环

for(初始表达式; 布尔表达式;迭代因子){
循环体;
}
1.初始部分设置:循环变量的初值
2.条件判断部分为:布尔表达式
3.迭代因子:控制循环变量的增减
【示例】
public class Test {
public static void main(String[] args){
// 打印三次 Hello
int sum = 0;
for(int i = 0; i <= 100; i ++){ // 和c与c ++相似
sum += i;
}
System.out.println(sum);
}
}
直到型(do—while)
先执行某语句,再判断布尔表达式,如果为true,再执行某语句,如此反复, 直到布尔表达式条件为false时停止循环, 比如 do—while 循环

do{
循环体;
}while(布尔表达式); // 不要忘记这边还有个分号
【示例】
public class Test {
public static void main(String[] args){
int i = 0;
int sum = 0;
do{
sum += i;
i ++;
}while(i <= 100);
System.out.println(sum);
}
}

浙公网安备 33010602011771号