Java数组类型
Java数组类型
数据
数组的特点
1.数组本身是一个引用数据类型
⒉.数组是在堆内存中的一串连续的地址存在
3.数组在初始化时必须指定长度
4.堆内存的数组空间长度一旦确定不能再次发生改变
5.栈内存的变量中存储的是数组的地址引用
6.夙数组内部存储的类型可以是基本的也可以是引用
数据(容器)是一组数据类型相同的数据组合,将这些数据统一的管理起来
数组是引用数据类型 数据内存储的类型可以是基本类型,也可以是引用类型
1.数组的定义(声明)
数据类型[ ] 数组名字;
2.数组的赋值(初始化)
静态初始化
int[] array = new int[]{10,20,30,40,50};//有长度 有元素(new int[]是可以省略的)
动态初始化
int[] array = new int[5];//有长度 没有元素(不是真的没有 是有默认值)
整数的---->0
浮点数------>0.0
字符-------- 0-------char
布尔------> false
引用 -----> null
3.数组元素的访问
通过元素在数组中的位置来访问
位置-------->index索引
索引是有取值范围 (是从0开始的------数组长度-1]
如果数组的索引超出了上述范围,会出现一个运行时异常 ArrayLndexOutOfBoundsException
4.数组元素的遍历(轮询)
通过循环的方式访问数组的每一个元素
JDK1.5版本之后 新的特性 增强for循环 加强for forEach
for(自己定义的变量(接收数组内每个元素) : 遍历的数组array){}
5.基本数据类型和引用数据类型在内存结构上的区别
所有的变量空间都存储在栈内存
变量空间可以存储基本数据类型也可以存储引用数据类型
如果变量空间存储的是基本数据类型存储的是值一个变量改变另一个不会跟着改变
如果变量空间存储的是引用数据类型存储的是引用(地址) 一个变量对应的值改变 另一个跟着改变
练习:
package demo_17;
//找寻数组中的最小值
public class ShuZu {
public static void main(String[] args) {
int[] array = {1,5,3,7,2,4,6,8,10};
int min = array[0];
for (int i = 0; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
}
System.out.println("数组中的最小值为:" + min);
}
}
package demo_17;
//合并两个数组
public class ShuZu1 {
public static void main(String[] args) {
int[] a = {1,2,3};
int[] b = {4,5};
int[] array = new int[ a.length + b.length];
for (int i = 0; i < array.length; i++) {
if (i < a.length) {
array[i] = a[i];
}else{
array[i] = b[i-a.length];
}
}
for (int y : array) {
System.out.println("合并后是:" + y);
}
}
}
package demo_17;
public class ShuZu2 {
public static void main(String[] args) {
//冒泡排序 数组从小到大
int number[] = {11,2,44,5,34,66,99,77,88};
for (int i = 0; i < number.length-1; i++) {
for (int j = 0; j < number.length-1; j++) {
int num = 0;
if (number[j] > number[j+1]) {
num = number[j+1];
number[j+1] = number[j];
number[j] = num;
}
}
}
for(int i : number) {
System.out.println(i);
}
}
}

浙公网安备 33010602011771号