JAVA 基础笔记----数组(1)
JAVA的内存需要划分成为5个部分:
1.栈(Stack):存放的都是方法的局部变量。方法的运行一定要在栈中运行。
局部变量:方法的参数,或者是方法{}内部的变量
作用域:一旦超出作用域,立刻从栈内存当中消失。
2.堆(Heap):凡是new出来的东西,都在堆中。
堆内存里面的东西都有一个地址:16进制
堆内存里的东西都有默认值。规则:
如果是整数 默认为0
如果是浮点数 默认为0.0
如果是字符 默认为’\u0000’
如果是布尔 默认为false
如果是引用类型 默认为null
3.方法区(Method Area):存储.class相关信息,包含方法的信息。
4.本地方法栈(Native Method Stack): 与操作系统相关。
5.寄存器(PC Register):与cpu相关。
(PS:参考B站视频)
数组的使用:
public class ArrayDemo02 {
public static void main(String[] args) {
int[] array1 = {10,2,23,0,45,3,1};
//用数组方法从小到大排序数组
Arrays.sort(array1);
for(int a:array1){
System.out.println(a);
}
System.out.println("================");
//数组反转
int len = array1.length;
for(int min = 0,max = len - 1,temp; min < max;min++,max--){
temp = array1[min];
array1[min] = array1[max];
array1[max] = temp;
}
for(int a:array1){
System.out.println(a);
}
System.out.println("================");
//使用方法打印数组
printArray(array1);
System.out.println("================");
//使用返回值为数组的方法
int x = 10;
int y = 7;
int[] result = calcuate(x,y) ;
printArray(result);
}
//创建打印数组方法;形参是数组地址
public static void printArray(int[] array){
for(int a:array){
System.out.println(a);
}
}
//返回值为数组的方法
public static int[] calcuate(int a,int b){
int[] array = {a+b,a-b};
return array;
}
}