数组:相同类型的数据按顺序组成的一种引用数据类型
语法格式: 有两种
数据类型[] 数组名;譬如:int[] array;
数组类型 数组名[];譬如:int array[];
数组创建:
数组在内存中的存储:会分配一片连续的内存空间
数组名会指向其第一个元素的位置
数组的初始化:
数组元素的引用:
数组的长度:
测试代码:
package com.imooc.array;
public class ArrayDemo {
public static void main(String[] args) {
// 声明一个整型数组
int[] intArray;
//声明一个字符串类型的数组
String strArray[];
//创建数组
intArray=new int[5];
strArray=new String[10];
//声明数组的同时进行创建
float[] floatArray=new float[4];
//初始化数组
char[] ch={'a','b','c','d'};
System.out.println("ch数组的长度为:"+ch.length);
System.out.println("intArray数组的第2个元素为:"+intArray[1]);
System.out.println("strArray数组的第5个元素为:"+strArray[4]);
System.out.println("floatArray数组的最后一个元素为:"+floatArray[floatArray.length-1]);
//循环为整型数组赋值
for(int i=0;i<5;i++){
intArray[i]=i+1;
}
//循环输出整型数组中的元素
System.out.println("整型数组intArray的元素为:");
for(int i=0;i<5;i++){
System.out.print(intArray[i]+" ");
}
}
}
输出结果:
ch数组的长度为:4
intArray数组的第2个元素为:0
strArray数组的第5个元素为:null
floatArray数组的最后一个元素为:0.0
整型数组intArray的元素为:
1 2 3 4 5
增强型for循环:
测试代码:
package com.imooc.array;
import java.util.Scanner;
public class ArrayDemo1 {
public static void main(String[] args) {
// 求整型数组的累加和
//定义整型数组
int[] a=new int[5];
Scanner sc=new Scanner(System.in);
//从键盘接收数据,为数组元素赋值
for(int i=0;i<a.length;i++){
System.out.println("请输入第"+(i+1)+"个元素:");
a[i]=sc.nextInt();
}
System.out.println("数组元素的内容为:");
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
System.out.println("使用增强型for循环输出数组内容:");
for(int n:a){
System.out.print(n+" ");
}
//求数组元素的累加和
int sum=0;
for(int i=0;i<a.length;i++){
sum=sum+a[i];
}
System.out.println();
System.out.println("数组元素的累加和为:"+sum);
}
}
输出结果:
请输入第1个元素:
1
请输入第2个元素:
2
请输入第3个元素:
3
请输入第4个元素:
4
请输入第5个元素:
5
数组元素的内容为:
1 2 3 4 5
使用增强型for循环输出数组内容:
1 2 3 4 5
数组元素的累加和为:15
变量之间值的交换:
冒泡排序:
冒泡排序代码:
package com.imooc.test;
public class Test001 {
public static void main(String[] args) {
//冒泡排序
int[] a={34,53,12,32,56,17};
System.out.println("排序前的数组元素为:");
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.println("从小到大排序后的数组元素为:");
for(int n:a){
System.out.print(n+" ");
}
}
}
输出结果:
排序前的数组元素为:
34 53 12 32 56 17
从小到大排序后的数组元素为:
12 17 32 34 53 56