Java -day3

四 方法

4.4命令行传递参数

main方法也可以传递参数 通过cmd 命令提示符运行 先编译 注意包的位置(回退)

1
2
3
4
5
6
7
public class Demo03 {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
    }
}

 

4.5 可变参数(不定项)

int。。。 i  只能在最后面

复制代码
public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test(1,3,4,5,6);
    }

    public static void test(int... i) {
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);
    }
}
复制代码
复制代码
public class Demo05 {
    public static void main(String[] args) {
        printMax(1,32,44,3,666);

    }

    public static void printMax(double... numbers){
        if (numbers.length == 0){
            System.out.println("没有值传进来");
            return;
        }
        int i = 0;
        double result = numbers[0];
        for (i = 1; i < numbers.length; i++) {
            if (result < numbers[i]){
                result = numbers[i];
            }

        }
        System.out.println("数组中最大值是第" + i +"个" + result);
    }
复制代码

 

4.6 递归

 递归深度越大 占用空间越多

复制代码
public static void main(String[] args) {
        System.out.println(f(3));
    }
    public static int f(int n){
        if (n == 1) {
            return 1;   //递归头
        }else {
            return n * f(n-1);   //递归体
        }
    }
复制代码

 

4.7 作业 计算器

加减乘除  循环接收 用户交互

复制代码
 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("1:加法 2:剑法 3:惩罚 4:除法");
        System.out.println("请输入要执行的操作");
        while (scanner.hasNext()){
            int x = scanner.nextInt();
            System.out.println("请输入两个数");
            double a = scanner.nextDouble();
            double b = scanner.nextDouble();
            switch (x){
                case 1:
                    System.out.println(add(a,b));
                    break;
                case 2:
                    System.out.println(jian(a,b));
                    break;
                case 3:
                    System.out.println(cheng(a,b));
                    break;
                case 4:
                    System.out.println(chu(a,b));
                    break;
                default:
                    System.out.println("小猫咪不知道哦");
            }
            System.out.println("请输入要执行的操作");
        }
    }
    public static double add(double a,double b){
        return a+b;
    }
    public static double jian(double a,double b){
        return a-b;
    }
    public static double cheng(double a,double b){
        return a*b;
    }
    public static double chu(double a,double b){
        return a/b;
    }
复制代码

add  sub multiply div

 五 数组

5.1 什么是数组

5.2 数组的声明和创建

复制代码
public class ArrayDemo01 {
    public static void main(String[] args) {
        int[] nums;  //定义 声明
       // int num2[];
        nums = new int[10];  //创建

        //联合起来
        int[] nums2 = new int[10];   //int一个数组类型 new给了10个数组空间

        nums2[0] = 1;          //默认值为0
        nums2[1] = 2;
        nums2[2] = 3;
        nums2[3] = 4;
        nums2[4] = 5;
        nums2[5] = 6;
        nums2[6] = 7;
        nums2[7] = 8;
        nums2[8] = 9;
        nums2[9] = 10;

        //计算所有元素的和
        int sum = 0;
        for (int i = 0; i < nums2.length; i++) {
            sum+=nums2[i];
        }
        System.out.println(sum);
    }
复制代码

 

5.3 初始化 内存分析 

 

 public static void main(String[] args) {
        int[] a = {1,2,3,4,5};  //静态初始化 创建赋值 一旦创建不可改变

        int[] b = new int[10];  //动态初始化 包含默认初始化0
        b[1] = 3;

    }

5.4下标越界

数组的特点

 

5.5 数组的使用

 

复制代码
public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

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

        System.out.println("----------------");

        int sum = 0;
        for (int i = 0; i < arrays.length; i++) {
            sum += arrays[i];
        }
        System.out.println(sum);
        System.out.println("----------------");

        int max = arrays[0];
        for (int i = 1; i < arrays.length; i++) {
            if (arrays[i] > max){
                max = arrays[i];
            }
        }
        System.out.println(max);
    }
复制代码
复制代码
public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        //没有下标
        for (int array : arrays) {
            System.out.println(array);
        }
        printArray(arrays);

        int[] reverse = reverse(arrays);
        printArray(reverse);

    }

    //打印
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i] + " ");
        }
        System.out.println();
    }

    //反转
    public static int[] reverse(int[] array){
        int[] result = new int[array.length];
        int j = array.length -1;
        for (int i = 0; i < array.length; i++) {
            result[j] = array[i];
            j--;
        }
        return result;
    }

}
复制代码

 

 

5.6 二维数组

复制代码
public static void main(String[] args) {
        int[][] array = {{1,2},{3,4},{5,6}};
        System.out.println(array[0][1]);   //2
        System.out.println(array.length);  //3
        System.out.println(array[1].length);  //2

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println(array[i][j]);
            }
        }
    }
复制代码

5.7 arrays类

 public static void main(String[] args) {
        int[] a = {1,2,3,4,90909,6464,564,21,2};
        System.out.println(a); //[I@1b6d3586
        System.out.println(Arrays.toString(a)); //[1, 2, 3, 4, 90909, 6464, 564, 21, 2]
        Arrays.sort(a); //排序输出
        System.out.println(Arrays.toString(a)); //[1, 2, 2, 3, 4, 21, 564, 6464, 90909]
    }

5.8 冒泡排序

复制代码
public static void main(String[] args) {
        int[] a = {9,8,7,6,5,4,3,2,1,0};
        int temp = a[0];
        for (int i = 0; i < a.length-1 ; i++) {
            for (int j = 0; j < a.length - i -1; j++) {
                if (a[j]>a[j+1]){
                    temp = a[j+1];
                    a[j+1] = a[j];
                    a[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
复制代码

5.9 稀疏数组

 

 Java数组09:稀疏数组_哔哩哔哩_bilibili

 

posted @   ``飘``  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示