Java Day06

课上练习

输出两个整数中的最大值

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

        System.out.println("输出两个整数中的最大值");
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        if (a == b) {
            System.out.println(a + "等于" + b);
        } else if (a > b) {
            System.out.println("两个数中最大值为:" + a);
        } else {
            System.out.println("两个数中最大值为:" + b);
        }
    }

输出三个整数中的最大值

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

        System.out.println("输出三个整数中的最大值");
        System.out.println("请输入第一个整数");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个整数");
        int num2 = sc.nextInt();
        System.out.println("请输入第三个整数");
        int num3 = sc.nextInt();

        int max = 0;

        if (num1 > num2 & num1 > num3) {
            max = num1;
        } else if (num2 > num1 & num2 > num3) {
            max = num2;
        } else {
            max = num3;
        }
        System.out.println("三个数中的最大值为" + max);

    }

输入三个整数进行升序排列

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

        System.out.println("输入三个整数进行升序排列");
        System.out.println("请输入第一个整数");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个整数");
        int num2 = sc.nextInt();
        System.out.println("请输入第三个整数");
        int num3 = sc.nextInt();

        int max = 0;

        if (num1 > num2){
            max = num1;
            num1 = num2;
            num2 = max;
        }
        if (num2 > num3){
            max = num2;
            num2 = num3;
            num3 = max;
        }
        if (num1 > num2){
            max = num1;
            num1 = num2;
            num2 = max;
        }
        System.out.println(num1+" "+num2+" "+num3);
        }

![批注 2020-11-26 162441](C:\Users\admin\Desktop\批注 2020-11-26 162441.png)

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

        System.out.println("请输入年份");
        int year = sc.nextInt();
        System.out.println("请输入月份");
        int month = sc.nextInt();

        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(year + "年" + month + "月" + "有31天");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(year + "年" + month + "月" + "有30天");
                break;
            default:
                if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                    System.out.println(year + "年" + month + "月" + "有29天");
                } else {
                    System.out.println(year + "年" + month + "月" + "有28天");
                }
//                int a = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 29 : 28 ;
//                System.out.println(a);
        }
    }

数组

三种初始化及内存分析

静态初始化

动态初始化

默认初始化

public static void main(String[] args) {
        //静态初始化
        int[] a = {1,2,3,4};
        System.out.println(a[0]);

        //动态初始化  : 包含默认初始化
        int[] b = new int[10];
        b[0] = 10;
        System.out.println(b[0]);
        
        // 默认为0
        System.out.println(b[1]);
        System.out.println(b[3]);
    }

下标越界小结

数组是相同数据类型的有序集合

数组也是对象.数组元素相当于对象的成员变量

public static void main(String[] args) {
        //静态初始化
        int[] a = {1,2,3,4};
        System.out.println(a[0]);
        //动态初始化  : 包含默认初始化
        int[] b = new int[10];
        b[0] = 10;
        System.out.println(b[0]);

        // 默认为0
        System.out.println(b[1]);
        System.out.println(b[3]);
    }

数组的长度是确定的,不可变的.如果越界会报:ArrayIndexOutOfBoundsException

public static void main(String[] args) {
        //静态初始化
        int[] a = {1,2,3,4};
        System.out.println(a[0]);
        System.out.println(a[4]);
上一篇:day06_类与对象、封装、构造方法


下一篇:C语言Day06