java数组的使用

java数组

数组基本用法
1.1 什么是数组
定义:数组可以认为是相同类型数据的集合
1.2 数组常见的定义格式(一维数组)
定义一 :int[] array ={1,2,3,4,5};
定义二: int [] array2 = new int[] {1,2,3,4,5} //注意:int后面中括号内不能有值,否则java中编译都无法通过
定义三: int {} array3 = new int[120] //中括号内代表array3数组内有120个数据,但是没有赋值,所以其默认为0;

public class Test{
   public static void main(String[] args){
   		int[] arr = {1 ,2, 3, 4, 5};
   		System.out.println(arr.length);//数组长度
   		System.out.println(arr[0]);//数组的第一个元素
   		System.out.println(arr[1]);//数组的第二个元素
   		System.out.println(arr[2]);//数组的第三个元素
   		System.out.println(arr[3]);//数组的第四个元素
   		System.out.println(arr[4]);//数组的第五个元素
   }
}

注意事项:
(1)arr.length能够获取到数组的长度. . 这个操作为成员访问操作符. 后面在面向对象中会经常用到.
(2)使用 [ ] 按下标取数组元素. 需要注意, 下标从 0 开始计数
(3)使用 [ ] 操作既能读取数据, 也能修改数据.
(4)下标访问操作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常
(5) arr.lenath可以反馈数组长度

遍历数组

所谓 “遍历” 是指将数组中的所有元素都访问一遍, 不重不漏. 通常需要搭配循环语句.由于数组是一种顺序的结构,并且数组的长度都是固定的,那么可以使用循环的方式输出,很明显需要知道for循环,而且在java里面为了方便数组的输出提供了一个“数组名称.length”的属性,可以取得数组长度。
(1)使用for()循环遍历数组

public class Test{
   public static void main(String[] args){
   		int[] arr = {1 ,2, 3, 4, 5};
   		for(int i=0,i<arr.length,i++){
   		System.out.println(arr[i]);
   		}
   }

(2)使用for each()遍历数组
格式如下:
for(数组里面的元素类型:数组名){
}
数组名就是容器,冒号前面的就是容器里的东西。

public class Test{
   public static void main(String[] args){
   		int[] arr = {1 ,2, 3, 4, 5};
   		for(int i :arr){
   		System.out.println(i);
   		}
   }

注意事项:形参的改变不会影响实参的值

二维数组

在之前数组里面只有一个[ ],所以此类数组就是一个普通的数组,只有一行的数组称之为一维数组。如果要想描述更多的数据可以使用二维数组,后面有两个中括号[ ] [ ]。

定义语法:

 动态初始化: 数据类型 数组名称 [ ] [ ]  = new  数据类型[ 行的个数] [ 列的个数] 

静态初始化: 数据类型 数据名称 [ ] [ ]   = new 数据类型 [ ] [ ] {{值,值,值},{值,值,值}.......}

通过定义的结构发现,所谓的二维数组实际上就是将一个一维数据变为了一个大的数组,并且为每一个一维数组设置了一个行号而已。

public class Test{
   public static void main(String[] args){
   		int arr[][] = {{1 ,2, 3, 4, 5},{6, 7, 8, 9, 10}};
   		
   		System.out.println(arr[0][0]);//数组的第一个元素1
   		System.out.println(arr[1][1]);//数组的第二行第二个元素7
   		System.out.println(arr[0][1]);//数组的第二个元素2

   }
}

练习题:请输入10位同学的java成绩,
求平均成绩,最高成绩、最低成绩

import java.util.Scanner;

public class day7Test1 {
     public static void main(String[] args) {
    	 double[] scores= new double[10];
    	 double sum=0,max=0,min=0;
    	Scanner in = new Scanner(System.in);
    	
    	for (int i = 0; i < scores.length; i++) {
			System.out.print("请输入第"+(i+1)+"个同学的成绩");
			scores[i]=in.nextDouble();
			sum +=scores[i];
			if(i==0) {
				max=scores[i];
				min=scores[i];
			}else
			if (max<scores[i]) {
				max=scores[i];
			}
			if(min>scores[i]) {
				min=scores[i];
			}
		}
     in.close();
    	System.out.println("平均成绩为"+(sum/scores.length));
    	System.out.println("最高成绩:"+max);
    	System.out.println("最低成绩:"+min);
		}
     
}
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值