0
点赞
收藏
分享

微信扫一扫

第四章 数组 #yyds干货盘点#

4.1 概念

数组是一个变量,存储相同数据类型的一组数据,java中数组是长度是固定的,下标是从0开始的,数组会自动初始。

package cn;

public class Arr1 {

    public static void main(String[]  args) {
        int[] ns = new int[3];//0 1 2
        ns[ns.length-1] = 10;//异常 下标越界
        System.out.println(ns[0]);//0
        System.out.println(ns[1]);//0
        System.out.println(ns[2]);//10

        boolean[] fs = new boolean[3];
        System.out.println(fs[0]);//false

        String[] ss = new String[] {"hello","java","javascript"};
        System.out.println(ss.length);//3
        System.out.println(ss[2]);//javascript

        String s2[] = {"aa","cc","dd","ee"};
        String[] s3 = new String[6];
        System.out.println(s3[1]);//null

        //二维数组
        double[][] ds = new double[][] {{10,20,30},{60,70,80},{11,22,33,44,55,66}};

        //System.out.println(ds[1][5]);//异常错误
        System.out.println(ds[2][5]);//66.0

    }

}
package cn;

import java.util.Date;
import java.util.Scanner;

public class Arr2 {

    public static void main(String[] args) {
        // java 中 java.lang.Object 此类为所有类的父类,(基类)
        Object[] os = { 1, 2.0, "java", 'c', true, new Date(), new Scanner(System.in) };

        Scanner sc = (Scanner) os[os.length - 1];
        int t = sc.nextInt();
        System.out.println(t);

    }

}
  • 数组遍历

    package cn;
    
    import java.util.Arrays;
    import java.util.Random;
    
    public class Arr3 {
    
    public static void main(String[] args) {
        int[] ns = new int[10];
        Random rand = new Random();
        for(int i=0;i<ns.length;i++) ns[i] = rand.nextInt(100)+1;
        System.out.println(Arrays.toString(ns));
    
        //数组遍历输出
        for(int i : ns) {
            System.out.println(i);
        }
    
    }
    
    }
    

4.2 java.util.Arrays工具类

package cn;

import java.util.Arrays;

public class Arr5 {

    public static void main(String[] args) {
        // int数组 简单类型
        int[] nn = { 10, 5, 6, 2, 1, 20, 15, 30 };
        System.out.println(Arrays.toString(nn));
        Arrays.sort(nn);// 升序
        System.out.println(Arrays.toString(nn));

        // Integer数组 对象类型 Integer 是int的包装器类
        Integer[] n2 = { 10, 5, 6, 2, 1, 20, 15, 30 };
        System.out.println(Arrays.toString(n2));
        Arrays.sort(n2);// 升序
        System.out.println(Arrays.toString(n2));
        Arrays.sort(n2, (a, b) -> b - a); // 降序
        System.out.println(Arrays.toString(n2));

        int a = 10;
        Integer b = 20;

        Integer[] cc = new Integer[nn.length];
        for (int i = 0; i < cc.length; i++) {
            cc[i] = nn[i];
        }
        Arrays.sort(cc);
        System.out.println(Arrays.toString(cc));
        Arrays.sort(cc, (x, y) -> y - x);
        System.out.println(Arrays.toString(cc));

    }

}

Student.java 类

package cn;

public class Student {
    private String sno;
    private String sname;
    private int score;
    public String getSno() {
        return sno;
    }
    public void setSno(String sno) {
        this.sno = sno;
    }
    public String getSname() {
        return sname;
    }
    public void setSname(String sname) {
        this.sname = sname;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
    public Student(String sno, String sname, int score) {
        super();
        this.sno = sno;
        this.sname = sname;
        this.score = score;
    }
    public Student() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    public String toString() {
        return "Student [sno=" + sno + ", sname=" + sname + ", score=" + score + "]";
    }

}

排序,升序降序

package cn;

import java.util.Arrays;

public class Arr6 {

    public static void main(String[] args) {
        String[] ls = { "python", "c", "go", "perl", "php", "java", "javascript", "html", "css", "mysql" };
        System.out.println(Arrays.toString(ls));
        Arrays.sort(ls);// 升序
        System.out.println(Arrays.toString(ls));
        Arrays.sort(ls, (a, b) -> b.compareTo(a));// 自然排序 降序
        System.out.println(Arrays.toString(ls));

        Arrays.sort(ls, (a, b) -> a.length() - b.length());// 按字符个数,升序
        System.out.println(Arrays.toString(ls));
        Arrays.sort(ls, (a, b) -> b.length() - a.length());// 按字符个数,降序
        System.out.println(Arrays.toString(ls));

        Student[] sts = new Student[3];
        sts[0] = new Student("10","李四",80);
        sts[1] = new Student("11","张三丰",30);
        sts[2] = new Student("12","赵强",90);
        System.out.println(Arrays.toString(sts));
        Arrays.sort(sts,(a,b)->a.getScore()-b.getScore());
        System.out.println(Arrays.toString(sts));
        Arrays.sort(sts,(a,b)->b.getScore()-a.getScore());
        System.out.println(Arrays.toString(sts));
    }

}

4.3 数组排序

面试题:声明10(1-100)随机整数的数组,遍历输出,冒泡排序,再次遍历输出。

package cn;

import java.util.Arrays;
import java.util.Random;

public class Arr7 {

    public static void main(String[] args) {
        int[] num = new int[10];
        System.out.println(Arrays.toString(num));
        // 赋值
        Random rand = new Random();
        for (int i = 0; i < num.length; i++)
            num[i] = rand.nextInt(100) + 1;
        System.out.println(Arrays.toString(num));

        // 排序算法  冒泡排序,降序
        for (int m = 0; m < num.length; m++) {
            for (int n = 0; n < num.length - m - 1; n++) {
                if (num[n] < num[n + 1]) {
                    int t = num[n];
                    num[n] = num[n + 1];
                    num[n + 1] = t;
                }
            }
        }

        System.out.println(Arrays.toString(num));
    }

}

4.4 作业

  1. 求出数组最大值,最小值
  2. 数组排序工具类Arrays使用
  3. 冒泡排序
举报

相关推荐

第四章、数组

第四章数组

第四章 数组 总结

第四章总结 数组

第四章

第四章总结

第四章:表

第四章:Hbase

0 条评论