首页 > 编程语言 >Java数组

Java数组

时间:2023-12-12 12:04:36浏览次数:33  
标签:arr Java int 数组名 数组 new public

免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动

1.数组

数组可用存放多个同一类型的数据,数组也是一种数据类型,是引用类型

1.1 一维数组

1.1.1 使用方式1-动态初始化

语法:数据类型 数组名[]=new 数据类型[大小]

int a[]=new int[5];// 创建了一个数组,名字是a,存放5个int

a[0]数组的引用(使用/访问/获取数组元素)

数组名[下标/索引/index]:比如你要使用a数组的第3个数 a[2],数组的下标从0开始

 1 public class Array01 {
 2     public static void main(String[] args) {
 3         //循环输入5个成绩,保存到double数组,并输出
 4         Scanner sc=new Scanner(System.in);
 5         double score[]=new double[5];
 6         for(int i=0;i<score.length;i++){
 7             System.out.print("请输入第"+(i+1)+"个学生的成绩:");
 8             score[i]=sc.nextDouble();
 9         }
10         System.out.println(Arrays.toString(score));
11     }
12 }

 1.1.2 使用方式2-动态初始化

先声明数组

语法:数据类型 数组名[];也可以 数据类型[] 数组名;

int a[];或者 int[] a;

创建数组

语法:数组名=new 数据类型[大小];

a=new int[10];

 1 public class Array02 {
 2     public static void main(String[] args) {
 3         //循环输入5个成绩,保存到double数组,并输出
 4         Scanner sc=new Scanner(System.in);
 5         double score[];
 6         score=new double[5];
 7         for(int i=0;i<score.length;i++){
 8             System.out.print("请输入第"+(i+1)+"个学生的成绩:");
 9             score[i]=sc.nextDouble();
10         }
11         System.out.println(Arrays.toString(score));
12     }
13 }

 1.1.2 使用方式3-静态初始化

初始化数组

语法:数据类型 数组名[]={元素值1,元素值2,...,元素值n}

int a[]={2,6,8,9,7,68,79};

public class Array03 {
    public static void main(String[] args) {
        int arr[]={3,6,8,9,7,68,79,100};
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

数组使用注意事项和细节:

  1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理
  2. 数组中的元素可用是任何数据类型,包括基本类型和引用类型,但是不能混用
  3. 数组创建后,如果没有赋值,有默认值
    1. int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u0000,boolean false,String null
  4. 使用数组的步骤(1).声明数组并开辟内存空间 (2).给数组各个元素赋值 (3). 使用数组
  5. 数组的下标是从0开始的
  6. 数组下标必须是在指定范围内使用,否则报:下标越界异常,比如:
    1. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
    2. int []arr=new int[5];则有效下标为0-4
  7. 数组属于引用类型,数组型数据是对象
 1 public class Array04 {
 2     public static void main(String[] args) {
 3         //数组反转 arr {1,2,3,4,5}->{5,4,3,2,1}
 4         int arr[]={1,2,6,8,9};
 5         int temp=0;
 6         System.out.println("数组反转之前的数据:"+ Arrays.toString(arr));
 7         for(int i=0;i<=arr.length/2;i++){
 8             temp=arr[i];
 9             arr[i]=arr[arr.length-(i+1)];
10             arr[arr.length-(i+1)]=temp;
11         }
12         System.out.println("数组反转后的结果:"+Arrays.toString(arr));
13     }
14 }

 1 public class Array05 {
 2     public static void main(String[] args) {
 3         //反转数组
 4         int arr[]={1,2,6,8,9};
 5         int arr2[]=new int[arr.length];
 6         System.out.println("数组反转之前的数据:"+ Arrays.toString(arr));
 7         for(int i=arr.length-1,j=0;i>=0;i--,j++){
 8             arr2[j]=arr[i];
 9         }
10         System.out.println("数组反转之后的数据"+Arrays.toString(arr2));
11     }
12 }

1.2 二维数组

多维数组我们只介绍二维数组

二维数组的应用

比如开发一个五子棋游戏,棋盘就是需要二维数组来表示

1.2.1 使用方式1-动态初始化

语法:类型 数组名[][]=new 类型[大小][大小]

比如:int a[][]=new int[2][3]

 1 public class TwoDimensionalArray01 {
 2     public static void main(String[] args) {
 3         int arr[][]=new int[2][3];
 4         Random random=new Random();
 5         for(int i=0;i<arr.length;i++){
 6             for (int j=0;j<arr[i].length;j++){
 7                 arr[i][j]= random.nextInt(100);
 8                 System.out.print(arr[i][j]+" ");
 9             }
10             System.out.println();
11         }
12     }
13 }

1.2.2 使用方式2-动态初始化

先声明:类型 数组名[][];

再定义(开辟空间) 数组名=new 类型[大小][大小]

 1 public class TwoDimensionalArray02 {
 2     public static void main(String[] args) {
 3         int arr[][];
 4         arr=new int[3][5];
 5         Random random=new Random();
 6         for(int i=0;i<arr.length;i++){
 7             for(int j=0;j<arr[i].length;j++){
 8                 arr[i][j]=random.nextInt(50);
 9                 System.out.print(arr[i][j]+" ");
10             }
11             System.out.println();
12         }
13     }
14 }

1.2.3 使用方式3-动态初始化-列数不确定

语法:类型 数组名[][]==new 类型[大小][];

 1 public class TwoDimensionalArray03 {
 2     public static void main(String[] args) {
 3         int arr[][]=new int[3][];
 4         Random random=new Random();
 5         for(int i=0;i<arr.length;i++){
 6             //给每个一维数组开空间 new
 7             //如果没有给一维数组 new ,那么 arr[i]就是 null
 8             arr[i]=new int[random.nextInt(5)+1];
 9             for(int j=0;j<arr[i].length;j++){
10                 arr[i][j]=random.nextInt(50);
11                 System.out.print(arr[i][j]+" ");
12             }
13             System.out.println();
14         }
15     }
16 }

1.2.4 使用方式4-静态初始化

定义:类型 数组名[][]={{值1,值2,...,值n},{值1,值2,...,值n},...,{值1,值2,...,值n}}

比如:int arr[][]={{1,2},{1,2,3},{1,2,3,4}}

 1 public class TwoDimensionalArray04 {
 2     public static void main(String[] args) {
 3         int arr[][]={{5,6},{1,5,6,8},{-12}};
 4         for(int i=0;i<arr.length;i++){
 5             for(int j=0;j<arr[i].length;j++){
 6                 System.out.print(arr[i][j]+" ");
 7             }
 8             System.out.println();
 9         }
10     }
11 }

二维数组使用细节和注意事项:

  • 一维数组的声明方式有:int[] x或者int x[]
  • 二维数组的声明方式有:int[][] y或者int[] y[] 或者 int y[][]
  • 二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可用相同,也可用不同。
    • 比如:map[][]是一个二维数组 int map[][]={{1,2},{1,2,3}}
    • 由map[0]是一个含有两个元素的一维数组,map[1] 是一个含有三个元素的一维数组组成,我们也称为列数不等的二维数组

 

标签:arr,Java,int,数组名,数组,new,public
From: https://www.cnblogs.com/lgs-tech/p/17896477.html

相关文章

  • JavaWeb——文件上传与下载
    一、文件上传简介1、文件上传的步骤(1)要有一个form表单,请求方式为post请求(因为上传的文件一般都超出长度限制)。(2)form标签的encType属性值必须为multipart/form-data。表示提交的数据,以多段的形式进行拼接,然后以二进制流的形式发送给服务器。多段:一个表单项代表一个数据......
  • JAVA 短剧小程序源码功能说明?如何运营?需要什么资质?
    JAVA短剧小程序源码的功能主要包含以下几个方面:1.用户登录注册:用户可以通过输入用户名和密码进行登录,或者通过注册账号来使用小程序。2.短剧浏览:用户可以在小程序中浏览各种类型的短剧,如喜剧、爱情剧、科幻剧等。同时,用户可以查看短剧的简介、演员信息以及播放量等。3.短剧搜......
  • JAVA 同城外卖到店跑腿团购多合一系统源码的技术方案
    随着互联网技术的不断发展,同城外卖、到店跑腿和团购业务逐渐成为人们日常生活中不可或缺的一部分。为了满足这一需求,我们设计并实现了一个基于JAVA技术的同城外卖到店跑腿团购多合一系统。本系统采用了先进的架构和算法,以提高系统的性能和可扩展性,并确保了数据的安全性和稳定性。一......
  • JAVA 短剧系统小程序开发的优势和好处
    随着互联网的普及和用户需求的多样化,小程序开发成为了一个备受关注的领域。其中,JAVA短剧系统小程序开发以其独特的优势和好处,逐渐在市场上占据了一席之地。本文将详细介绍JAVA短剧系统小程序开发的优势和好处,帮助读者更好地了解其价值和潜力。一、优势开源、免费JAVA短剧系统小程序......
  • JAVA同城服务货运搬家小程序系统源码的运营和优势
    随着城市化进程的加速和人口流动的增加,同城货运搬家服务逐渐成为人们生活中的重要需求。为了满足这一需求,我们开发了一款基于JAVA的同城服务货运搬家小程序系统。本系统具有用户友好的界面和高效稳定的系统性能,能够有效地连接货运服务提供者与需求者,实现货运服务的在线预约。本文将......
  • JAVA日期当天0点0分0秒
    LocalDateTimeLocalDateTimeldt=LocalDateTime.now();LocalDateTimetodayZero=LocalDateTime.of(ldt.getYear(),ldt.getMonthValue(),ldt.getDayOfMonth(),0,0,0);DateTimeFormatterDateTimeFormatterDATE_ZERO_FORMAT=DateTimeFormatter.ofPattern("......
  • linux 中 数组的常见操作
     001、创建数组(三种方法)(下标连续数组和下标不连续数组)a、 002、访问数组(访问全部元素;访问单个元素) 003、遍历数组(利用循环实现;for;while) 004、输出数组的长度(下标连续和下标不连续) 005、输出数组的下标(下标连续和下标不连续) 006、输出数组中每个元素的长度 00......
  • Java单例模式
    代码publicclassSamlUtil{privatestaticSamlUtilsamlUtil; privatestaticfinalObjectlock=newObject();privateSamlUtil(){ } publicstaticSamlUtilgetInstance(){ SamlUtiltemp=samlUtil; if(temp==null){ synchronized......
  • 车机 Android 环境下利用 CarAudioService 实现自定义 Java 服务自启动
    注意:本文基于Android11进行分析Qidi2023.11.28(MarkDown&Haroopad)0.简介AndroidRO(ResourceOverlay)机制Overlay实现的效果正如其字面意思,就是“在原有效果的基础上再叠加一些效果”。Android提供了两种实现方式:编译时:https://source.android.com/docs/set......
  • Java:实现文件的上传和下载
    1、实现文件上传功能1.配置文件:添加配置文件spring-mvc.xml,配置multipartResolver,实现文件上传和下载的功能。<!--文件上传配置--><beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><propertyname="ma......