菜鸟学Java 数组-下

数组执行原理

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

多个变量指向同一个数组

package com.ithema.loop;

public class demo251 {
    
    
    public static void main(String[] args) {
    
    
        int[] a = new int[12];
        int[] b = a;
        System.out.println(a);
        System.out.println(b);

        a[1] = 3;
        System.out.println(b[1]);

    }
}

输出:

[I@1b6d3586
[I@1b6d3586
3

在这里插入图片描述
在这里插入图片描述

空指针异常
null不指向任何数据对象
在这里插入图片描述

案例

数组找最值

给定一组数,找出最大值

package com.ithema.loop;

public class demo251 {
    
    
    public static void main(String[] args) {
    
    
        int[] list = new int[] {
    
    15, 9000, 10000, 2000, 9500, -5, 1000000};
        int max = list[0];
        for (int j : list){
    
    
            if (j > max ){
    
    
                max = j;
            }
        }
        System.out.println(max);
    }
}

输出:

1000000

数组反转

某个数组有5个数据:1,2,3,4,5,请将这个数组的数据进行反转
[10,20,30,40,50] 反转后 [50,40,30,20,10]

import java.util.Arrays;

public class demo251 {
    
    
    public static void main(String[] args) {
    
    
        int[] list = new int[] {
    
    10, 20, 30, 40, 50};
        int lenag = list.length;
        int[] listre = new int[lenag];
        for (int i = 0; i < lenag; i++) {
    
    
            int index = lenag - 1 - i;
            listre[i] = list[index];
        }
        System.out.println(Arrays.toString(listre));
    }
}

或者使用第i个数字和倒数第i个数字交换的方式,更为简单。

随机排名

在这里插入图片描述

package com.ithema.loop;

import javax.swing.*;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

import static java.lang.String.format;

public class demo251 {
    
    
    public static void main(String[] args) {
    
    
        int[] gonghao = new int[5];
        int lenth = gonghao.length;
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < lenth; i++) {
    
    
            String str = format("请输入第%s个工号",i);
            System.out.println(str);

            int data = scanner.nextInt();
            gonghao[i] = data;
        }
        for (int j = 0 ; j < lenth;  j++){
    
    
            Random random = new Random();
            int r = random.nextInt(lenth);
            int tem = gonghao[r];
            gonghao[r] = gonghao[j];
            gonghao[j] = tem;
        }
        System.out.println(Arrays.toString(gonghao));
    }
}

debug工具

Debug工具—IDEA自带的断点调试工具,可以控制代码从断点开始一行一行的执行,然后详细观看程序执行的情况。

断点调试
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AdamCY888/article/details/131386769