Java学习笔记——数组(Array)

单个变量能存储信息

如果有批量数据需要存储,单个变量存储时间和空间上不经济和实用,而且过于麻烦,这时候需要用数组这一引用数据类型来存储。

数组:

用来存储具有相同数据类型的数据的集合,可以使用共同的名字来引用数组中存储的数据。

特点:

数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。

一维数组

一维数组的使用步骤:

  1. 声明一个数组变量来存放该数组。
  2. 创建一个新的数组对象并将其赋值给上一步所创建的数组变量。
  3. 在该数组中存储数据。
  4. 访问或修改此数组中存储的数据(元素)。

声明一维数组

语法:

数据类型 [] 数组名

数据类型 数组名[]

如:

 

String [] args;

 String args[];

 int [] array;

 int array[];

 

创建一维数组对象

1.使用new运算符

 

String [] str = new String[5];

 int [] array = new int[5];

2.直接初始化数组

 

String [] str = {“张三”,”李四”};

 int [] array = {1,2,3,4,5};

注意:数组一旦创建,其长度就已经确定,是无法进行长度的修改的。

 

初创数组中有默认的初始值:

  • byte short int long类型数组  初始值 0
  • float double类型数组  初始值 0.0
  • char型数组 初始值' '
  • boolean型初始值  false
  • 引用数据类型数组 的初始值 是 null

 

访问一维数组中的元素

  • 如果需要访问数组中的元素,需要使用数组名[下标]的形式访问
  • 注意数组的最大下标是:数组的长度-1;最开始的下标是:0
  • 数组的长度可以通过使用数组的属性length获取,每一个数组对象都会有length属性来表示数组的长度,也即数组元素的个数。

 

多维数组

 

数组元素除了可以是原始数据类型、对象类型之外,还可以是数组,即数组的元素是数组。

Java不支持多维数组,但是可以通过声明数组的数组来实现同样的功能。元素数组还可以包含数组,依此类推,最后创建出达到需要的任意维数。

 

二维数组

 

声明二维数组

语法:

数据类型[][]数组名称

数据类型 数组名称[][]

Java中建议使用第一种数组声明方式

如:

 int [][]array;

 String str[][];

二维数组的创建同样有两种方式

方式一:使用new运算符

 

String [][]str = new String[5][5];

方式二:声明数组并且赋初始值

 int [][] array = {{23,45,45},{12,11,10,56},{23,12}};

访问二维数组与访问一维数组类似,都是通过下标。

 

演示:

public static void main(String[] args) {

int zs = 100;

// 存储4人的年龄

int[] arr;  // 声明

arr = new int[4]; // 创建



// 存储4人的年龄

int[] arr1 = new int[4];

// 存储4人的姓名

String[] nameArr = new String[4];

System.out.println(nameArr[0]);



System.out.println(arr1); //

System.out.println(nameArr);//  [Ljava.lang.String;@5c647e05



//取值

int a1 = arr1[0]; // 取出arr1数组的第一个元素

int a2 = arr1[1]; // 取出arr1数组的第二个元素

int a3 = arr1[2]; // 取出arr1数组的第三个元素

int a4 = arr1[3]; // 取出arr1数组的第四个元素

System.out.println(a1);

System.out.println(a2);

System.out.println(a3);

System.out.println(a4);

// 赋值

arr1[0] = 18;

arr1[1] = 19;

arr1[2] = 20;

arr1[3] = 21;

// 再次取值,查看效果

System.out.println(arr1[0]);

System.out.println(arr1[1]);

System.out.println(arr1[2]);

System.out.println("----华丽的分割线----");

// 静态创建:直接给定元素,长度有程序自行判定

int[] arr2 = new int[] {1,2,3};

// 静态创建的简化格式

int[] arr3 = {11,22,33};

// 取值操作

int b1 = arr3[0];

System.out.println(b1);

// 赋值

arr3[1] = 200;

// 再次取值查看赋值效果

System.out.println(arr3[1]);

}


 

public static void main(String[] args) {

int[] arr = {1,2,3,4,5};

// 获得数组的长度(length)--调用的数组的属性length

int a = arr.length;

System.out.println(arr.length);

System.out.println(a);

// 如何得到数组的全部元素--> 遍历

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

System.out.println(arr[3]);

System.out.println(arr[4]);

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

for(int i = 0;i < arr.length;i++) {

System.out.println(arr[i]);

}

// 取出以下数组的最大值

int[] arr2 = {15,2,40,3,1,6,8};

int max = -1;

for(int i = 0;i < arr2.length;i++) {

if(arr2[i] > max) {

max = arr2[i];

}

}

System.out.println("max = "+max);

// 最小值

int min = arr2[0];

for(int i = 0;i < arr2.length;i++) {

if(arr2[i] < min) {

min = arr2[i];

}

}

System.out.println("min = "+min);

// 从小到大排序 --> 算法

int[] arr3 = {6,5,4,3,2,1};

System.out.println("排序前 : ");

for(int i = 0;i < arr3.length;i++) {

System.out.print(arr3[i] + " ");

}

System.out.println();

// 外层循环控制比较的趟数

for(int j = 0;j < arr3.length-1;j++) {

// 内层循环比较的次数

for(int i = 0;i < arr3.length-1-j;i++) {

if(arr3[i] > arr3[i+1]) {

int tmp = arr3[i];

arr3[i] = arr3[i+1];

arr3[i+1] = tmp;

}

}

}

for(int i = 0;i < arr3.length;i++) {

System.out.print(arr3[i] + " ");

}

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值