Java流程控制

时间:2020-07-14 13:06:17   收藏:0   阅读:75

Java 流程控制

1、用户交互Scanner

Scanner 对象

//练习
public static void main(String[] args) { 
        //输入多个数字, 并求其总和与平均数,每输入一个数字用回车确认,
        // 通过输入非数字来结束输入并输出执行结果
        Scanner scanner = new Scanner(System.in);
        double sum = 0;
        int acccout = 0;
        double average = 0;
        while(scanner.hasNextDouble()){
            double i = scanner.nextDouble();
            sum+=i;
            acccout++;
        }
        average = sum / acccout;
        System.out.println("总和为"+sum +"  "+"平均为" + average);
        scanner.close();
    }

2、顺序结构

3、选择结构

//源程序
package com.liuchengkongzhi;

import java.util.Scanner;

public class Demo1 {


    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        switch (name){
            case "li":
                System.out.println("li");break;
            case "hello":
                System.out.println("hello");break;
            default:
                System.out.println("end");
        }
        scanner.close();
    }

}

//反编译的字节码文件

package com.liuchengkongzhi;

import java.util.Scanner;

public class Demo1 {
    public Demo1() {
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        byte var4 = -1;
        switch(name.hashCode()) {
        case 3453:
            if (name.equals("li")) {
                var4 = 0;
            }
            break;
        case 99162322:
            if (name.equals("hello")) {
                var4 = 1;
            }
        }

        switch(var4) {
        case 0:
            System.out.println("li");
            break;
        case 1:
            System.out.println("hello");
            break;
        default:
            System.out.println("end");
        }

        scanner.close();
    }
}

从中可以看出,switch 支持字符串,实际上还是用数字判断,用到是对象的哈希值,所以,字符,数字,字符串。switch 实质还是用数字判断

利用Idea查看反编译的字节码(.class)文件

  1. File -> Project Structure(项目结构) ,复制该项目的地址
  2. 在电脑中找到对应位置,找到项目下相应程序的字节码文件
  3. 对应程序右键 -> show in Explorer
  4. 将刚的对应的.class文件复制到该目录
  5. 回到idea,发现出现对应的.class文件(反编译的字节码文件) ,打开查看

?

4、循环结构

5、break & continue

//标签的简单写法
   public static void main(String[] args) {
        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);
        }
    }

6、练习

  1. 计算 0 到 100 之间的奇数和偶数的和
  2. 用while 或for 循环输出1-1000之间能被5 整除的数,并且每行输出3个
  3. 打印九九乘法表
  4. 打印三角形
//快捷键  5.for +Enter 生成
//快捷键   fori  
 for (int i = 0; i < 5; i++) {

        }
 //6.fori + enter
        for (int i = 0; i < 6; i++) {
            
        }
// 5.forr + enter
        for (int i = 5; i > 0; i--) {
            
        }
//num.fori :从 0 到 num-1
//num.forr :从 num-1 到 0
//打印三角形
    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 = 1; j <i ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

 }
     *
    ***
   *****
  *******
 *********
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!