零基础学Java—数组
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—数组相关的知识,希望对你有一定的参考价值。
【零基础学Java】—数组(五)
🐱🏍 一、Java的内存划分
二、🐱🏍一个数组的内存图
/**
* @author :CaiCai
* @date : 2022/4/5 11:03
*/
public class Demo05Array
public static void main(String[] args)
//动态初始化数组
int[] array=new int[3];
System.out.println(array);//地址值
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
//改变数组当前的元素
array[1]=10;
array[2]=20;
System.out.println(array[0]);//0
System.out.println(array[1]);//10
System.out.println(array[2]);//20
三、🐱🏍两个数组的内存图
/**
* @author :CaiCai
* @date : 2022/4/5 11:03
*/
public class Demo05Array
public static void main(String[] args)
//动态初始化数组
int[] array=new int[3];
System.out.println(array);//地址值
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
//改变数组当前的元素
array[1]=10;
array[2]=20;
System.out.println(array[0]);//0
System.out.println(array[1]);//10
System.out.println(array[2]);//20
System.out.println("==================");
//动态初始化数组
int[] array1=new int[3];
System.out.println(array1);//地址值
System.out.println(array1[0]);//0
System.out.println(array1[1]);//0
System.out.println(array1[2]);//0
//改变数组当前的元素
array1[1]=100;
array1[2]=200;
System.out.println(array1[0]);//0
System.out.println(array1[1]);//10
System.out.println(array1[2]);//20
四、🐱🏍两个引用指向同一个数组
五、🐱🏍数组索引越界异常
- 数组的索引编号从0开始,一直到数组的长度减1
- 如果访问数组元素的时候,索引的编号不存在,那么将会发生数组索引越界异常(ArrayIndexOutOfBoundsException)
- 原因:索引编号写错了
- 解决办法:修改成为存在的正确索引
/**
* @author :CaiCai
* @date : 2022/4/5 11:36
*/
/*
数组的额缩影从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]);
//错误写法并不存在3号元素所以发生异常
System.out.println(array[3]);//ArrayIndexOutOfBoundsException
六、🐱🏍空指针异常
- 所有的引用类型的变量都可以赋值为一个null值,但是代表其中什么都没有
- 如果只是赋值了一个null 没有进行new创建那么将会发生空指针异常NullPointerException
- 原因:忘记new
- 解决办法:补上new
package Project45;
/**
* @author :CaiCai
* @date : 2022/4/5 11:46
*/
/*
所有的引用类型的变量都可以赋值为一个null值,但是代表其中什么都没有
如果只是赋值了一个null 没有进行new创建那么将会发生空指针异常NullPointerException
原因:忘记new
解决办法:补上new
*/
public class Demo07
public static void main(String[] args)
int[] array=null;
// array=new int[3];
System.out.println(array[0]);//NullPointerException
🐱🏍七、获取数组的长度
- 数组名称.length
- 这将会的到一个int数字,代表数组的长度
- 数组一旦创建,程序运行期间,长度不可改变
/**
* @author :CaiCai
* @date : 2022/4/5 11:54
*/
/*
如何获取数组的长度
数组名称.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);//3
arrayC=new int[5];
System.out.println(arrayC.length);//5
🐱🏍八、遍历数组
遍历数组:说的就是对数组当中的每一个元素挨个处理,默认处理的方式是打印输出
package Project45;
/**
* @author :CaiCai
* @date : 2022/4/5 12:58
*/
/*
遍历数组:说的就是对数组当中的每一个元素挨个处理,默认处理的方式是打印输出
*/
public class Dem09
public static void main(String[] args)
int[] array=15,20,35,50,90;
//使用 for循环
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);
🐱🏍九、数组元素反转
数组元素的反转,其实就是对称位置的交换
/**
* @author :CaiCai
* @date : 2022/4/5 13:17
*/
/*
数组的反转
本来的样子:[1,2,3,4]
反转的样子:[4,3,2,1]
要求不能使用新数组,就使用原来的唯一一个数组
*/
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要笑着学👏👏👏👏
以上是关于零基础学Java—数组的主要内容,如果未能解决你的问题,请参考以下文章