数组【重点】
开发中为啥要使用数组
如果开发中出现了大量的同一个类型的数据,按照现在所学的知识点,声明变量的话。如果一个变量存一个数据的话,那么就会需要多个变量了,相当麻烦。
使用数组: 只需要一个变量,然后数组中存很多的数据
数组想成 一个容器。
int[] arr = {1,2,3,4,5,6};
数组在Java中如何定义的
变量定义:
数据类型 变量名字 = 值;
数组定义:
数据类型[] 数组名字 = 数组的值;
数组详细的语法格式:
注意
数组名.length
//代表数组的长度
第一种数组
import java.util.Arrays;
public class Demo4 {
public static void main(String[] args) {
//数组第一种声明方式 :数据类型[] 数组的名字 = {值1, 值2, 值3,...};
int[] arr = {23, 34, 12, 15};
System.out.println(arr);//[I@15db9742 内存地址 但是数据看不到 那咋办?
System.out.println(Arrays.toString(arr));// 将一个内存地址形式的数据变成 人类可以看懂的
//[23, 34, 12, 15]
String[] strs = {"撒旦","沙发", "功夫"};
System.out.println(strs);//@6d06d69c
System.out.println(Arrays.toString(strs));//[撒旦, 沙发, 功夫]
boolean[] bools = {true, true, false, true};
System.out.println(bools);//[Z@7852e922
System.out.println(Arrays.toString(bools));//[true, true, false, true]
float[] f2 = {12.3f, 45.6F};//[F@15db9742
System.out.println(Arrays.toString(f2));//[12.3, 45.6]
//声明一个char类型的数组
char[] chs = {'a', '中', '9'};
System.out.println(chs);//a中9 这个比较特殊 打印不是地址 是数组中值组成的
}
}
第二种数组
数据类型[] 数组的名字 = new 数据类型[容量];
或者
数据类型 数组的名字[] = new 数据类型[容量];
第一种和第二种区别: 第一种即声明了数组又对数组赋值了
第二种只是声明空的数组而已,暂时还没有赋值
import java.util.Arrays;
public class Demo5 {
public static void main(String[] args) {
//第二种声明方式: 数据类型[] 数组的名字 = new 数据类型[容量];
int[] arr = new int[3];//在声明一个数组 ,且容量为3 只能存放3个数据 空的数组
//初始值arr = {0,0,0};
System.out.println(arr);//内存地址
System.out.println(Arrays.toString(arr));//[0, 0, 0]
//此时是空的数组
String[] strs = new String[4];
System.out.println(strs);
System.out.println(Arrays.toString(strs));//[null, null, null, null]
//这种方式的声明 是好比弄好了桌子 空桌子
}
}
第三种数组
语法格式:
数据类型[] 数组的名字 = new 数据类型[]{值1, 值2, 值3,...};
其实是第一种的完全写法
public class Demo6 {
public static void main(String[] args) {
char[] chs = new char[] {'a', '啊', 'o'};
System.out.println(chs);//a啊o
String[] strs = new String[] {"撒旦","沙发", "功夫"};
System.out.println(strs);//内存地址
System.out.println(Arrays.toString(strs));//[撒旦, 沙发, 功夫]
}
}
二维数组【了解】
二维数组【二维空间】
[1,2,3,4] 一维数组 排成一条线
语法格式
数据类型[][] 数组名字 = new 数据类型[容量][荣量];
[
[1,2,3,4]
[5,6,7,8]
[8,9,1,2]
]
788910025010199
import java.util.Arrays;
public class Demo9 {
public static void main(String[] args) {
int[][] arr = new int[2][3];
arr[0][0] = 78;
arr[0][1] = 89;
arr[0][2] = 100;
arr[1][0] = 250;
arr[1][1] = 101;
arr[1][2] = 99;
//第一个[] 是行 第二个[] s是列
//取数据 使用循环来取
for (int i = 0; i < 2; i++) {//控制行
for (int j = 0; j < 3; j++) {//控制列
System.out.println(arr[i][j]);
}
}
}
}
对数组进行取值
数组的取值是利用 下标取的
public class Demo8 {
public static void main(String[] args) {
int[] arr = {32, 45, 89, 12, 999, 5667};
//获取数组中的值
System.out.println(arr[0]);//32
System.out.println(arr[1]);//45
System.out.println(arr[2]);//89
System.out.println(arr[3]);//12
System.out.println("======分割线========");
for (int i = 0; i < 4; i++) {
//i的循环的值 刚好作为数组的下标
System.out.println(arr[i]);
}
//数组.length 数组的长度
System.out.println(arr.length);// arr的长度 4
System.out.println("-------分割线--------");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
String[] strs = {"张三", "哈哈", "麻子", "嘻嘻"};
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
}
好文推荐
发表评论