-------数组-----------------------
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中‘长度’是告诉编译器,所声明的数组要存放多少个元素,而‘new’则是命令编译器根据括号里的长度开辟空间。
~~~堆栈内存的解释~~
数组操作中,在栈中保存的永远是数组的名称,只开辟了栈内存空间数组时永远无法使用的,必须有指向的堆内存才可以使用,要想开辟新的堆内存则必须使用new关键字,之后只是将此堆内存的使用权交给对应的栈内存空间,而且一个堆内存空间可以同时被多个栈内存空间指向,例如:一个人可以有多个名字,人就相当于堆内存,名字就相当于栈内存。
一个人可以有多个名字,多个名字指向一个共同的人
实例1:求数组最大值,最小值
public class ArrayDemo1 {
public static void main(String[] args) {
int score[] ={33,44,66,22,77,99,11};
int max=0,min=0;
max=min=score[0];
for(int i=0,len=score.length;i<len;i++){
if(max<score[i]){
max = score[i];
}
if(min>score[i]){
min = score[i];
}
}
System.out.println("返回来该数组最大值:"+max);
System.out.println("返回来该数组最小值:"+min);
}
}
实例2:数组排序
public class ArrayDemo2 {
public static void main(String[] args) {
int score[] = { 33, 55, 34, 66, 909, 12, 35 };
java.util.Arrays.sort(score);
print(score);
}
public static void print(int[] array) {
for (int i = 0, len = array.length; i < len; i++) {
System.out.println(array[i] + "\t");
}
}
}
实例3:数组拷贝
package array;
public class ArrayDemo3 {
public static void main(String[] args) {
int A1[] ={22,44,66,88,100};
int A2[] ={11,33,55,77,99,111};
//数组拷贝:参数(源数组、源数组开始下标、目标数组、目标数组开始下标、拷贝位数)
System.arraycopy(A1,1,A2,1,3);
print(A2);
}
public static void print(int[] array) {
for (int i = 0, len = array.length; i < len; i++) {
System.out.println(array[i] + "\t");
}
}
}
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中‘长度’是告诉编译器,所声明的数组要存放多少个元素,而‘new’则是命令编译器根据括号里的长度开辟空间。
~~~堆栈内存的解释~~
数组操作中,在栈中保存的永远是数组的名称,只开辟了栈内存空间数组时永远无法使用的,必须有指向的堆内存才可以使用,要想开辟新的堆内存则必须使用new关键字,之后只是将此堆内存的使用权交给对应的栈内存空间,而且一个堆内存空间可以同时被多个栈内存空间指向,例如:一个人可以有多个名字,人就相当于堆内存,名字就相当于栈内存。
一个人可以有多个名字,多个名字指向一个共同的人
实例1:求数组最大值,最小值
public class ArrayDemo1 {
public static void main(String[] args) {
int score[] ={33,44,66,22,77,99,11};
int max=0,min=0;
max=min=score[0];
for(int i=0,len=score.length;i<len;i++){
if(max<score[i]){
max = score[i];
}
if(min>score[i]){
min = score[i];
}
}
System.out.println("返回来该数组最大值:"+max);
System.out.println("返回来该数组最小值:"+min);
}
}
实例2:数组排序
public class ArrayDemo2 {
public static void main(String[] args) {
int score[] = { 33, 55, 34, 66, 909, 12, 35 };
java.util.Arrays.sort(score);
print(score);
}
public static void print(int[] array) {
for (int i = 0, len = array.length; i < len; i++) {
System.out.println(array[i] + "\t");
}
}
}
实例3:数组拷贝
package array;
public class ArrayDemo3 {
public static void main(String[] args) {
int A1[] ={22,44,66,88,100};
int A2[] ={11,33,55,77,99,111};
//数组拷贝:参数(源数组、源数组开始下标、目标数组、目标数组开始下标、拷贝位数)
System.arraycopy(A1,1,A2,1,3);
print(A2);
}
public static void print(int[] array) {
for (int i = 0, len = array.length; i < len; i++) {
System.out.println(array[i] + "\t");
}
}
}