> 文档中心 > Java中的一维数组操作语法格式介绍

Java中的一维数组操作语法格式介绍

目录

  • 作者介绍
  • 前言
  • 一、数组介绍
  • 二、数组元素的操作
      • 🔶数组元素的访问
      • 🔶数组元素修改
      • 🔶数组元素的遍历
  • 三、数组的定义格式
  • 四、打印数组名的效果
      • 🔷打印普通数组名
      • 🔷打印字符数组名
  • 五、数组的静态初始化
      • 🔶静态初始化的含义
      • 🔶静态初始化格式
  • 六、数组的动态初始化
      • 🔷动态初始化的含义
      • 🔷动态初始化的格式
      • 🔷 数组动态初始化的默认值
        • ⭐代码演示
  • 七、两种初始化的区别
      • ☀️动态初始化
      • ☀️静态初始化
  • 八、数组常见问题
      • ⭕空指针异常
        • ⭐代码演示
      • ⭕索引越界异常
        • ⭐代码演示
  • 九、综合练习题
      • ❓数组遍历-求偶数和
      • ❓数组遍历-求最大值
      • ❓对10个整数从小到大排序
  • 💯习题答案
  • 作者:KJ.JK

作者介绍

 ⭐ 作者简介:KJ.JK,CSDNJava领域新星作者 ⭐ 参加获奖过蓝桥杯、中国软件杯云计算、互联网+、创新创业大赛银奖 ⭐ 力扣、洛谷、牛客网、Vijos3000道刷题记录 ⭐ 欢迎大家 点赞👍 收藏💖 关注🔒

前言

今天我们学习JavaEE里面的一维数组,=话不多说,上代码!💪💪💪

一、数组介绍

      数组指的是一种容器,可以用来存储同种数据类型的多个值

二、数组元素的操作


🔶数组元素的访问

  * 格式:数组名 [ 索引 ]* 范例:  arr[0]* 索引:索引是数组容器中空间的编号,编号从0幵始,逐个+1增长 //当访问了数组中不存在的索引,就会引发索引越界异常

🔶数组元素修改

* 格式:数组名 [ 索引 ]=修改元素;   * 范例: arr [0]=5

🔶数组元素的遍历

      * 格式:数组名.length //获取元素个数,元素长度   * 范例:arr.length   //arr.length-1是索引长度

三、数组的定义格式

 * 格式1:数组类型 [] 数组名 * 范例1int[] array * 格式2: 数据类型  数组名 [] * 范例2int array []

四、打印数组名的效果


🔷打印普通数组名

public class Main {    public static void main(String[] args) {  /*    [I@10f87f48  :  数组的内存地址@: 分隔符[: 当前内存空间是一个数组类型I: 当前空间中存储的数据是int类型10f87f48  : 十六进制地址值  */ int []  arr=new int[]{10,20,30}; System.out.println(arr); double [] darr=new double[]{11.1,22.2,33.3}; System.out.println(darr);    }}

Java中的一维数组操作语法格式介绍


🔷打印字符数组名

public class Main {    public static void main(String[] args) { /*打印字符数组,不会看到地址值,是具体的内容     原因:println()源码中会自动对字符数组进行遍历操作  */ char [] arr={'a','b','c'}; System.out.println(arr);    }}

Java中的一维数组操作语法格式介绍


五、数组的静态初始化


🔶静态初始化的含义

    初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程

🔶静态初始化格式

* 完整格式:数据类型[] 数组名 = new 数据类型[] { 元素1,元素2,元素3};* 范例:int[] array = new int[]{ 112233 };     //[]这里的里面不能加数字     double[] array2 = new double[] { 11.122.233.3};* 简化格式:数据类型[] 数组名 = { 元素1,元素2,元素3};* 范例:int[] array = { 112233 };double[] array2 = { 11.122.233.3};// 注意:double [] arr={12,20,5.2};    这样子是可以的,单个整数或者带小数也一样可以

六、数组的动态初始化


🔷动态初始化的含义

 动态初始化:初始化时只指定数组长度,由系统为数组分配初始值

🔷动态初始化的格式

* 格式:数据类型[] 数组名 = new 数据类型[数组长度];* 范例:int [] arr=new int [3];    //【3】其实就是数组的元素个数/*  注意:1.允许数组间进行赋值,赋值的是自己所记录的地址值2.当两个数组通过地址指向同一块内存空间的时候,只要有一个对空间的数据发生了修改,  那么另外一个去查找的时候,找到的就是改变之后的那份数据*/

🔷 数组动态初始化的默认值

Java中的一维数组操作语法格式介绍


⭐代码演示

Java中的一维数组操作语法格式介绍
Java中的一维数组操作语法格式介绍


七、两种初始化的区别


☀️动态初始化

* 动态初始化:手动"指定数组长度",由系统给出默认初始化值* 使用场景:只明确元素个数,不明确具体数值,推荐使用动态初始化例:使用数组容器来存储键盘录入的5个整数     int [] arr=new int[5];  arr[0]=1;  arr[1]=2;  arr[2]=3;  arr[3]=4;  arr[4]=5;

☀️静态初始化

     * 静态初始化:手动"指定数组元素",系统会根据元素个数,计算出数组的长度   * 使用场景:需求中已经明确了要操作的具体数据,直接静态初始化即可   例:将一班的学生的成绩存入数组中: 11,22,33      int [] arr={11,22,33};

八、数组常见问题

⭕空指针异常

     空指针异常:当引用数据类型变量被赋值为null之后,地址的指向被切断,还继续访问堆内存数据,就会引发空指针异常//注意:当访问到数组长度的时候(堆内存数据),就会报空指针异常,不会等到打印的时候

⭐代码演示

public class Main {    public static void main(String[] args) {  int [] arr=new int[2];  arr=null;  System.out.println(arr[0]);  //NullPointerException    }}

Java中的一维数组操作语法格式介绍


⭕索引越界异常

     索引越界异常:当访问了数组中不存在的索引,就会引发索引越界异常

⭐代码演示

public class Main {    public static void main(String[] args) {  int [] arr={11,22,33}; System.out.println(arr[10]); //ArrayIndexOutOfBoundsException    }}

Java中的一维数组操作语法格式介绍


九、综合练习题

❓数组遍历-求偶数和

Java中的一维数组操作语法格式介绍

//答案在末尾

❓数组遍历-求最大值

Java中的一维数组操作语法格式介绍

//答案在末尾

❓对10个整数从小到大排序

Java中的一维数组操作语法格式介绍

//答案在末尾

💯习题答案

数组遍历-求偶数和练习答案

public class Main {    public static void main(String[] args) { int [] arr={11,22,33,44,55}; int sum=0; for (int i = 0; i < arr.length; i++) {     if(arr[i]%2==0){  sum+=arr[i];     } } System.out.println(sum);    }}

数组遍历-求最大值练习答案

public class Main {    public static void main(String[] args) { int [] arr={5,44,33,55,22}; int max=arr[0]; for (int i = 0; i < arr.length; i++) {     if(arr[i]>max){  max=arr[i];     } } System.out.println(max);    }}

对10个整数从小到大排序练习答案

import java.util.Scanner;public class Main {    public static void main(String[] args) { Scanner rd=new Scanner(System.in); int [] arr=new int[10]; for (int i = 0; i < arr.length; i++) {     arr[i]=rd.nextInt(); } for (int i = 0; i < arr.length-1; i++) {     for (int j = i+1; j < arr.length; j++) {  if(arr[i]>arr[j]){      int temp=arr[i];      arr[i]=arr[j];      arr[j]=temp;  }     } } for (int i = 0; i < arr.length; i++) {     System.out.println(arr[i]); }    }}

作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习