程序逻辑控制

 


文章目录

  • 顺序结构
  • 分支结构
  • 循环结构
  • 输入输出
  • 猜数字

 


一、顺序结构

所谓顺序结构就是程序一步一步的往下执行。



public class 顺序结构 {
    public static void main(String[] args) {
        System.out.println("Hello");
        System.out.println("World");
        System.out.println("!");
    }
}

二、分支结构

if语句

语法格式1 :                                                   

if ( 布尔表达式 ){
// 语句
}

 



public class 分支结构 {
    public static void main(String[] args) {
        int score=85;
        if(score>=85)
            System.out.println("excellent");
    }
}
语法格式2:
if ( 布尔表达式 ){
// 语句 1
} else {
// 语句 2
}

 



public class 分支结构 {
    public static void main(String[] args) {
        int score=80;
        if(score>=85)
            System.out.println("excellent");
        else if(score>=70)
            System.out.println("just so so");
    }
}
语法格式3:
if ( 布尔表达式 1 ){
// 语句 1
} else if ( 布尔表达式 2 ){
// 语句 2
} else {
// 语句 3
}


public class 分支结构 {
    public static void main(String[] args) {
        int score=50;
        if(score>=85)
            System.out.println("excellent");
        else if(score>=70)
            System.out.println("just so so");
        else 
            System.out.println("bad score");
    }
}
switch 语句
switch ( 表达式 ){
case 常量值 1 :{
语句 1 ;
[ break ;]
}
case 常量值 2 :{
语句 2 ;
[ break ;]
}
...
default :{
内容都不满足时执行语句 ;
[ break ;]
}
}


public class 分支结构 {
    public static void main(String[] args) {
        int day = 1;
        switch(day) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("输入有误");
                break;
        }
    }
}

注意:多个case后的常量值不可以重复

        switch的括号内只能是以下类型的表达式:

                基本类型:byte、char、short、int,注意不能是long类型

                引用类型:String常量串、枚举类型

三、循环结构

while循环

while ( 循环条件 ){
循环语句 ;
}

public class 循环结构{
    public static void main(String[] args) {
        int n = 1;
        int result = 0;
        while (n <= 100) {
            result += n;
            n++;
        }
        System.out.println(result);
    }
}

break

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

public class 循环结构{
    public static void main(String[] args) {
        int num = 100;
        while (num <= 200) {
            if (num % 3 == 0) {
                System.out.println("找到了 3 的倍数, 为:" + num);
                break;
            }
            num++;
        }
    }
}

continue

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

public class 循环结构{
    public static void main(String[] args) {
        int num = 100;
        while (num <= 200) {
            if (num % 3 != 0) {
                num++; // 这里的 ++ 不要忘记! 否则会死循环.
                continue;
            }
            System.out.println("找到了 3 的倍数, 为:" + num);
            num++;
        }
    }
}

for循环

基本语法:

for ( 表达式① ; 布尔表达式② ; 表达式③ ){
表达式④ ;
}
表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式2: 循环条件,满则循环继续,否则循环结束
表达式3: 循环变量更新方式

public class 循环结构{
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println("sum = " + sum);

    }
}

do-while循环

基本语法:

do {
循环语句 ;
} while ( 循环条件 );
 

public class 循环结构{
    public static void main(String[] args) {
        int num = 1;
        do {
            System.out.println(num);
            num++;
        } while (num <= 10);

    }
}

四、输入输出

输出到控制台
基本格式:
System . out . println ( msg ); // 输出一个字符串 , 带换行
System . out . print ( msg ); // 输出一个字符串 , 不带换行
System . out . printf ( format , msg ); // 格式化输出

 注意:

println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.
从键盘输入
使用 Scanner 读取字符串 / 整数 / 浮点数
import java.util.Scanner;

public class 循环结构{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的姓名:");
        String name = sc.nextLine();
        System.out.println("请输入你的年龄:");
        int age = sc.nextInt();
        System.out.println("请输入你的工资:");
        float salary = sc.nextFloat();
        System.out.println("你的信息如下:");
        System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
    }
}
使用 Scanner 循环读取 N 个数字,并求取其平均值
import java.util.Scanner;

public class 循环结构{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        int num = 0;
        while (sc.hasNextInt()) {
            int tmp = sc.nextInt();
            sum += tmp;
            num++;
        }
        System.out.println("sum = " + sum);
        System.out.println("avg = " + sum / num);
        sc.close();
    }
}
注意: 当循环输入多个数据的时候, 使用 ctrl + d来结束输入 .

猜数字

import java.util.Random;
import java.util.Scanner;


public class 猜数字{
    public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
// System.out.println("toGuess: " + toGuess);
        while (true) {
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

‘(尐儍苽-℡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值