Java数组
目录:
1、数组声明:
2、数组创建(分配空间):
3、数组三要素:
4、数组赋值:
5、处理数组中的数据:
6、增强型for循环(foreach循环):
7、对变量a、b的值进行替换:
8、冒泡排序算法:
9、Java提供的数组类Arrays:
10、Java中的二维数组:
1、数组声明:数组是引用类型,有默认值
声明数组语法格式:数组名可以是任意合法的变量名,数组名指向首个元素位置
数据类型[] 数组名;
数据类型 数组名[];
2、数组创建(分配空间):简单地说,就是指定数组中最多可存储多少个元素。在内存中开辟连续存储空间
第一种:先声明后创建
数据类型[] 数组名;
数组名=new 数据类型[数组长度];
第二种:声明的时候同时创建
数据类型[] 数组名=new 数据类型[数组长度];//存放数组元素的个数
数据类型[] 数组名={数组元素集合1,数组元素集合2,......}//数组元素集合
数据类型[] 数组名=new 数组名[]{数组元素集合1,数组元素集合2,......};
3、数组三要素:数据类型,数组名,数组元素。数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩
补充:数组中的元素都可以通过下标来访问,下标从 0 开始
4、数组赋值:分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩
5、处理数组中的数据:我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值
6、增强型for循环(foreach循环):foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷
语法:
示例:
7、对变量a、b的值进行替换:
8、冒泡排序算法:整型数从小到大排序
(1)、原理:两两相比较,如果前面的数比后面的数大,则交换
例如:
二、
代码示例:
public class CharDemo {
public static void main(String[] args) {
//冒泡排序
int[] a= {34,53,12,32,56,17};
System.out.print("排序前的数组顺序:");
for(int n:a) {
System.out.print(n+" ");
}
System.out.println();
int temp;//临时变量,起到交换传递的作用
//双层循环,外层控制元素个数(冒泡的趟数),内层循环控制交换的次数
for(int i=0;i<a.length-1;i++) {
for(int j=0;j<a.length-i-1;j++) {
if(a[j]>a[j+1]) {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.print("冒泡排序后的顺序:");
for(int n:a) {
System.out.print(n+" ");
}
}
}
结果:
排序前的数组顺序:34 53 12 32 56 17
冒泡排序后的顺序:12 17 32 34 53 56
9、Java提供的数组类Arrays:Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等
(1)、Arrays中的排序方法sort();:
语法: Arrays.sort(数组名);
介绍:可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)
示例:
结果:
(2)、将数组转化为字符串的方法:
语法: Arrays.toString(数组名);
介绍:可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如:
结果:
输出数组nums中的元素:[25,7,126,53,14,86]
补充:此外Arrays类还提供许多其他操作数组的方法
10、Java中的二维数组:
(1)、说明:所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组
(2)、使用二维数组的步骤:
声明并创建二维数组:
示例:
赋值:二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
示例:
处理数组:二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素
结果:
(3)、了解:
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示
结果: