初识Java(顺序循环,分支结构,循环结构)

目录

顺序结构

分支结构

if语句

 输入字符串

注意事项

switch语句

循环结构

while循环

如何调试代码

while循环的易错点

break

continue

for循环

猜数字游戏


顺序结构

特点:程序的执行与代码的执行有关

 System.out.println("1")
 System.out.println("2");
 System.out.println("3");
 System.out.println("4");

以上代码打印的结构为1,2,3,4。

若以上代码语句的顺序改变,使得代码的执行改变,程序的执行也会跟着改变。

分支结构

if语句

1.

        if(布尔表达式){
            语句块;//条件满足时执行
        }

2.

  if(布尔表达式){
            语句块;//条件满足时执行
        }else{
            语句块;//条件补满足时执行
        }

3.

if(布尔表达式){
            语句块;//条件满足时执行
        }else if(布尔表达式){
            语句块;//条件满足时执行
        }else{
            语句块;//条件都不满足时执行
        }

 输入字符串

首先需输入Scanner+回车,引入头文件,再完整输入准备语句。

输入字符串时,next()和nextLine()会有区别:

注意事项

1.悬垂else的问题

此时else会和第二个if语句结合,输出结果为aaa。

 此时输出结果为bbb。

应该改为:(目的:提高代码的可阅读性)

switch语句

        switch (整型|枚举|字符|字符串){
            case 内容1:
                内容1符合时执行的语句;
                break;
            case 内容2:
                内容2符合时执行的语句;
                break;
            .......
            default:
                内容都不满足时执行的语句;
                break;
        }

注意:

1.switch语句中不能作为参数的数据类型有long,float,double,boolean

2.在每一种case情况后加break结束循环,否则会接着执行剩下的case情况

        int a = 10;
        switch (a){
            case 10:
                System.out.println("hello");
                break;
            case 20:
                System.out.println("world");
                break;
            default:
                System.out.println("hello world");
        }

代码加break后运行结果为hello,若不加break,运行结果为:

循环结构

while循环

        while (循环条件(布尔表达式)){
            循环语句;
        }
        //当循环条件满足时执行循环语句,不满足不执行

1.代码(1~5)相加

        int i = 1;
        int sum = 0;
        while(i <= 5) {
            sum += i;
            i++;
        }
        System.out.println(sum);

2.代码(1~5)奇数相加

        int i = 1;
        int sum = 0;
        while(i <= 5) {
            sum += i;
            i += 2;
        }
        System.out.println(sum);

3.代码 5!

        //5的阶乘
        int sum = 1;
        int i = 5;
        while (i >= 1){
            sum *= i;
            i--;
        }
        System.out.println(sum);

4.代码 多个数的阶乘相加

        //求多个数阶乘相加
        int j = 1;
        int sum = 0;
        while (j <= 5){
            int ret = 1;
            int i = 1;
            while (i <= j){
                ret *= i;
                i++;
            }
            sum += ret;
            j++;
        }
        System.out.println(sum);

如何调试代码

debug:观察代码如何一步一步执行,只要打了断点并点击debug按钮,程序已经开始执行,只不过当前的程序停留在打了断点的这一行下。

while循环的易错点

1.while语句不加括号(影响代码的可读性)

        //多个while语句中不加括号的情况
        int k = 10;
        int j = 10;
        while (k > 0)
            System.out.println("abcd");
            while(j > 0)
                System.out.println("1234");
        System.out.println("12345");
        System.out.println("123456");

以上代码存在歧义,会给人不同的信息,代码最终运行结果是abcd死循环。

正确的写法应该是:

        int k = 10;
        int j = 10;
        while (k > 0) {
            System.out.println("abcd");
        }    
        while(j > 0) {
            System.out.println("1234");
        }    
        System.out.println("12345");
        System.out.println("123456");

break

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

如while循环加break打印数字3:

注意:break只能结束其最近的一层循环

continue

continue的功能是结束本次循环,进入下一次循环 。

如while循环加continue打印1~10中是3的倍数的数字

 练习:

        //打印0~100之间,既能被3整除又能被5整除的数字
        int i = 1;
        while (i <= 100){
            if (i % 15 == 0){
                System.out.println(i);
                i++;
                continue;
            }
            i++;
        }

for循环

for(表达式1;表达式2(布尔表达式);表达式3){
   循环体;
}

表达式1:用于初始化循环变量;表达式2:循环条件;条件3:更新循环变量

循环步骤:

猜数字游戏

随机生成一个数字后开始猜数字,猜错有提示信息,猜大或猜小

public static void main7(String[] args) {
        //完成猜数字游戏 ,用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等于的时候 
        //退出程序
        int n = (int)(Math.random() * 100);
        do {
            System.out.print("请尝试输入一个数\n");
            Scanner scanner = new Scanner(System.in);
            int num = scanner.nextInt();
            if(num > n) {
                System.out.print("猜大了\n");
            }else if (num < n){
                System.out.print("猜小了\n");
            }else {
                System.out.print("猜对了\n");
                break;
            }
        } while(true);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爆裂突破手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值