Java基础(二)

1.数组

  • 静态初始化

    元素类型[] 变量名称 = {元素1,元素2,元素3}

  • 动态分配

    元素类型[] 变量名 = new 元素类型[数组长度]

  • 获取长度

    变量名.length

  • 数组属于引用类型,数组型数据时对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class Input{
    public static void main(String[] args) {
    // 静态初始化
    double[] scores = {10.12,23.00,45.00};

    // 动态初始化
    double[] scores = new double[5];

    scores[0] = 100.00;
    scores[1] = 99.00;
    scores[2] = 88;

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

    }
    }
  • 数组赋值属于引用赋值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class ArrayAssign{
    public static void main(String[] args) {
    int[] arr1 = {10,20,30,40,50};
    int[] arr2 = arr1;

    arr1[0] = 100;

    System.out.println(arr2[0]); //100

    // 解决方式使用 clone
    int[] arr2 = arr1.clone();

    // 打印数组
    System.out.println(Arrays.toString(arr1));
    }
    }

    2.数组扩容

  • 方法就是创建新数组,将旧数组数据拷贝再追加新的元素到新数组中

3.排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 冒泡排序,每一轮冒泡找出最大的数值
// 通过end值控制开启第几轮排序查找
import java.util.Arrays;

public class ArraySort {
public static void main(String[] args) {
int[] arr = {24,69,80,57,13,200,12,49};

int end = arr.length - 1;

while(end > 0){
for(int i = 0;i < end;i++){
if (arr[i] > arr[i + 1]){
int tmp = arr[i + 1];
arr[i + 1] = arr[i];
arr[i] = tmp;
}
}
end -= 1;
}

// 打印数组
String a = Arrays.toString(arr);

System.out.println(a);

}
}

4.查找

  • 数据判断是否相等时,基础数据类型使用 == 判断,类或者引用类型等其他类型使用 .equals() 方法判断
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;

public class ArraySearch {
public static void main(String[] args) {

String[] s = {"cjp","gphper"};
boolean exist = false;
Scanner scanner = new Scanner(System.in);
String find = scanner.next();
scanner.close();

for (int i = 0;i < s.length;i++){
if (s[i].equals(find)){
System.out.println(i);
exist = true;
}
}

if (!exist){
System.out.println("不存在");
}

}
}

5. 二位数组

int[][] arr = new int[2][2]