• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
langQ
博客园    首页    新随笔    联系   管理    订阅  订阅
02 JAVA流程控制

02 JAVA流程控制

1.用户交互Scanner

nextline()用的多,next()用的少。
nextline()以回车为结束符。也就是说:nextline方法返回的是回车之前的所有字符。可以获得空白。

package com.mysoft.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        //创建一个扫描器对象,由于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if (scanner.hasNextLine()) {
            //使用next方式接收
            String str = scanner.nextLine();
            System.out.println("输出的内容为:" +str);
        }

        //凡是属于IO留的类,如果不关闭会一直占用资源。要养成好习惯用完就关掉
        scanner.close();
    }
}

简化写法:

package com.mysoft.scanner;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入数据:");
        String str = scanner.nextLine();
        System.out.println("输出的内容为:" +str);

        scanner.close();
    }
}

实现一个机能,如下:
我们输入多个数字,并求其总和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输入执行结果

package com.mysoft.scanner;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        //我们输入多个数字,并求其总和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输入执行结果
        Scanner scanner = new Scanner(System.in);

        //和
        double sum = 0;
        //计算输入了多少个数字
        int m=0;

        while (scanner.hasNextDouble()) {
            double x = scanner.nextDouble();
            m=m+1;
            sum = sum + x;
            System.out.println("你输入了第" + m + "个数据,然后当前结果sum=" + sum);
        }

        System.out.println(m +"个数的和为" + sum);
        System.out.println(m +"个数的平均值为" + (sum/m));

        scanner.close();
    }
}

输入结果可以如下这样:

10
你输入了第1个数据,然后当前结果sum=10.0
20
你输入了第2个数据,然后当前结果sum=30.0
30
你输入了第3个数据,然后当前结果sum=60.0
40
你输入了第4个数据,然后当前结果sum=100.0
aaa
4个数的和为100.0
4个数的平均值为25.0

2.顺序结构

3.选择结构

if

package com.mysoft.scanner;

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        //考试分数大于60就是及格,小于60就是不及格
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }

        scanner.close();
    }
}

SWITCH多选择结构

break 穿透
switch 匹配一个具体的值。
从JavaSE 7开始,switch支持字符串String类型了。

IDEA也可以反编译看class文件的内容。

package com.mysoft.scanner;
public class SwitchDemo01 {
    public static void main(String[] args) {
        String name = "朵拉";
        //JDK7的新特性,表达式结果可以是字符串!!!
        //字符的本质还是数字
        
        //反编译 java-----class(字节码文件)-----反编译(IDEA)
        switch (name) {
            case "朵拉":
                System.out.println("朵拉A梦");
                break;
            case "机器猫":
                System.out.println("机器猫");
                break;
            default:
                System.out.println("龙猫");
                break;
        }
    }
}

4.循环结构

■while循环
■do ... while循环
■for循环
在java5中引入了一种主要用于数组的增强型for循环。

100.for 回车快速完成for循环。

增强型for循环:

增强型for循环

public class ForDemo02 {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }
        System.out.println("================");
        //遍历数组的元素
        for (int x : numbers) {
            System.out.println(x);
        }
    }
}

5.break和 continue

break用于强行退出循环。
continue用于终止某次循环过程。

不建议使用goto

public class ForDemo03 {
    public static void main(String[] args) {
        //打印101到150之间的质数
        //质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
        int count = 0;

        //不建议使用!!
        outer:for (int i = 101; i < 150; i++) {
            for (int j = 2; j < i / 2; j++) {
                if (i % j == 0) {
                    continue outer;
                }
            }
            System.out.print(i + " ");
        }

    }
}
posted on 2024-03-20 16:00  嚯嚯go  阅读(7)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3