Java流程控制

Java流程控制

1. Scanner对象

Java提供java.util.Scanner工具类,可以通过Scanner类来获取用户的输入

基本语法

Scanner str =  new Scanner(System.in);

通过Scanner类的next()于nextLine()方法获取输入的字符串,在读取时用nhasNext()与hasNextLine()判断是否有输入的数据

截图

public class Demo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

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

        String str = scanner.nextLine(); //nextLine()在按下回车键时结束输入

        System.out.println("输出内容为:"+str);


    }
}
package com.bin.scanner;

import java.util.Scanner;

public class Demo4 {
    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));
    }
}

2.if选择结构

public class IfDemo3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score == 100){
            System.out.println("恭喜满分");
        }else if (score < 100 && score >=90){
            System.out.println("成绩为A");
        }else if (score < 90 && score >=80){
            System.out.println("成绩为B");
        }else if (score < 80 && score >=70){
            System.out.println("成绩为C");
        }else if (score < 70 && score >=60){
            System.out.println("成绩为D");
        }else if (score < 60 && score >=0){
            System.out.println("成绩为E");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

3.Switch选择结构

截图

public class SwitchDemo1 {
    public static void main(String[] args) {
        //字符本身还是数字
        //反编译 java-class(字节码文件)---反编译(IDEA)
        String name = "牛逼";

        switch (name){
            case"牛逼":
                System.out.println("牛逼");
                break;   //不写break会有case穿透现象
            case"不牛逼":
                System.out.println("不牛逼");
                break;
            default:
                System.out.println("啊这");
        }
    }
}

反编译文件

通过以下方式找到class文件输出路径

截图

找到后拖动到IDEA

截图

点击Refactor

截图

成功查看字节码文件内容

截图

4.dowhile循环

截图

5.for循环

5.1九九乘法表

public class ForDemo4 {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for(int j = 1;j <= i;j++){
                if(j < i){                                                                                                                           System.out.print(i+"*"+j+"="+i*j+"\t");             
                }else{
                    System.out.print(i+"*"+j+"="+i*j+"\n");
                }
            }
        }
    }
}

5.2增强型for循环

截图

public class ForDemo5 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};

        //遍历数组
        for(int x:numbers){
            System.out.println(x);
        }
        System.out.println("--------------------");

        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }
    }
}

6.break、continue

截图

6.1带标签的continue

public class ContinueDemo {
    public static void main(String[] args) {
        //打印101-150之间所有的质数


        //一个合数最大的因数是它的二分之一,所以只需判断到它的一半
        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.println(i);
        }
    }
}

7.打印三角形

public class TestDemo1 {
    public static void main(String[] args) {
        //打印三角形,五行
        //将一个三角形看成正方形的四部分
        for (int i = 0; i < 5; i++) {
            for(int j = 5;j > i;j--){
                System.out.print(" "); //打印左上的空白三角形
            }
            for(int j = 0;j <= i;j++){
                System.out.print("*"); //打印中间左侧三角形
            }
            for(int j = 0;j < i;j++){
                System.out.print("*");//打印中间右侧三角形
            }
            System.out.println();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值