java数组

一、数组概述
1、什么是数组?

数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。

2、数组的特点

长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
其元素必须是相同类型,不允许出现混合类型。元素的类型可以是java 支持的任意类型。
数组类型可以是任何数据类型,包括基本类型和引用类型。
数组的元素在堆内存中被分配空间,并且是连续分配的
使用new 关键字对数组进行 内存的分配。每个元素都会被jvm 赋予默认值。默认规则:整数:0 浮点数:0.0 字符:\u0000 布尔:false 引用数据类型:null。
数组的元素都是有序号的,序号从0开始,0序的。称作数组的下标、索引、角标。
3、数组的声明

声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
声明一个数组的时候并没有数组真正被创建。
构造一个数组,必须指定长度。

4.数组的格式

元素类型[ ] 数组名 = new 元素类型 [元素个数或数组长度]
元素类型 数组名[ ] = new 元素类型 [元素个数或数组长度]

int[] intArray=new int[4];

int intArrays[]=new int[4];

元素类型:是指数组存储的数据的数据类型
[]:代表这是数组类型。
数组名:一个合法的标识符,命名规范 和 局部变量 规范一致。
new:是java 的关键字。用来向JVM申请内存的。
元素类型[元素个数] :决定了向JVM申请的内存空间的大小(大小:元素类型字节数 * 元素个数)
元素的个数:只要是一个合法的java 表达式就可以。 返回一个int 类型的值即可

5.创建数组,foreach结构(定义一个数组,通过foreach结构查看数组)

int a[]=new int[5];
  Scanner sc=new Scanner(System.in);
  for (int i = 0; i < a.length; i++) {
   a[i]=sc.nextInt();
  }
  sc.close();
  for(int j:a) {
   System.out.println(j);
  }
  • 声明数组时,没有给出数组的初始值,但是指定了数组的长度,这种创建方法叫做创建动态数组。可以通过数组下标找到数组元素,给指定的元素赋值
  • 		int intArrays[]=new int[4];
    		intArrays[0]=1;
    		intArrays[1]=2;
    		intArrays[2]=3;
    		intArrays[3]=4;
    

    6.数组的注意事项

    数组下标必须是int、short、byte,或是char
    数组下标从0开始计数
    元素的个数就是数组的长度,可以通过arrayName.length引用
    数组下标最大值为arrayName.length -1如果超过最大值,程序将会抛出数组下标越界异常(ArrayIndexOutOfBoundsException)

  • 数组中可能产生的异常:

  • 7.二维数组:二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组)

  •  

  • 二:数组的应用场景

  • 1、求数组中最大值

  • int arr[] = {1, 8, 7, 4, 5, 9};
    int k = arr[0];
    for(int i=0; i<arr.length; i++){
    	if(arr[i]>k){
    		k = arr[i];
    	}
    }
    System.out.println(k);
    

    2、求数组中的最小值

  • int arr[] = {1, 2, 7, 4, 0, 9};
    int k = arr[0];
    for(int i=0; i<arr.length; i++){
    	if(arr[i]<k){
    		k = arr[i];
    	}
    }
    System.out.println(k);
    

    3、数组排序

  • 4、数组成员10个,找出数组中最大数连同位置一起输出

  • 		    int[] n = new int[]{1, 2, 3, 4, 5, 6, 0};
    		    int max = n[0];
    		    int index=0;
    		    for (int i = 0; i < n.length;i++){
    		      if(max<n[i]){
    		        max=n[i];
    		        index=i;
    		      }
    		    }
    		    System.out.println("最大值是:"+max);
    		    System.out.println("最大值位置是:"+index);
    

  • 随堂笔记Java704 | ProcessOn免费在线作图,在线流程图,在线思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值