【零基础学Java】—数组(五)
🐱?🏍 一、Java的内存划分
二、🐱?🏍一个数组的内存图
public class Demo05Array {
public static void main(String[] args) {
int[] array=new int[3];
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
array[1]=10;
array[2]=20;
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
}
}
三、🐱?🏍两个数组的内存图
public class Demo05Array {
public static void main(String[] args) {
int[] array=new int[3];
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
array[1]=10;
array[2]=20;
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println("==================");
int[] array1=new int[3];
System.out.println(array1);
System.out.println(array1[0]);
System.out.println(array1[1]);
System.out.println(array1[2]);
array1[1]=100;
array1[2]=200;
System.out.println(array1[0]);
System.out.println(array1[1]);
System.out.println(array1[2]);
}
}
四、🐱?🏍两个引用指向同一个数组
五、🐱?🏍数组索引越界异常
- 数组的索引编号从0开始,一直到数组的长度减1
- 如果访问数组元素的时候,索引的编号不存在,那么将会发生数组索引越界异常(ArrayIndexOutOfBoundsException)
- 原因:索引编号写错了
- 解决办法:修改成为存在的正确索引
public class Demo06 {
public static void main(String[] args) {
int[] array={15,25,35};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
}
}
六、🐱?🏍空指针异常
- 所有的引用类型的变量都可以赋值为一个null值,但是代表其中什么都没有
- 如果只是赋值了一个null 没有进行new创建那么将会发生空指针异常NullPointerException
- 原因:忘记new
- 解决办法:补上new
package Project45;
public class Demo07 {
public static void main(String[] args) {
int[] array=null;
System.out.println(array[0]);
}
}
🐱?🏍七、获取数组的长度
- 数组名称.length
- 这将会的到一个int数字,代表数组的长度
- 数组一旦创建,程序运行期间,长度不可改变
public class Demo08 {
public static void main(String[] args) {
int[] arrayA=new int[3];
int[] arrayB={10,20,30,40,7,8};
int len=arrayB.length;
System.out.println(len);
System.out.println(arrayA);
System.out.println("===============");
int[] arrayC=new int[3];
System.out.println(arrayC.length);
arrayC=new int[5];
System.out.println(arrayC.length);
}
}
🐱?🏍八、遍历数组
遍历数组:说的就是对数组当中的每一个元素挨个处理,默认处理的方式是打印输出
package Project45;
public class Dem09 {
public static void main(String[] args) {
int[] array={15,20,35,50,90};
for (int i = 0; i <array.length ; i++) {
System.out.println(array[i]);
}
🧨求数组元素当中的最大值
public class Demo10 {
public static void main(String[] args) {
int[] array={10,30,20,21,55,70};
int max=array[0];
for(int i=1;i<array.length;i++){
if(array[i]>max){
max=array[i];
}
}
System.out.println("最大值是:"+max);
}
}
🧨求数组元素当中的最小值
public class Demo11 {
public static void main(String[] args) {
int[] array={20,60,50,32,11,9,5};
int min=array[0];
for(int i=1;i<array.length;i++){
if(array[i]<min){
min=array[i];
}
}
System.out.println("最小值是:"+min);
}
}
🐱?🏍九、数组元素反转
数组元素的反转,其实就是对称位置的交换
public class Demo12 {
public static void main(String[] args) {
int[] array={10,20,30,40,50};
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("=============");
for(int min=0,max=array.length-1;min<max;min++,max--){
int temp=array[min];
array[min]=array[max];
array[max]=temp;
}
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
Java要笑着学👏👏👏👏
|