Java--数组

一、数组的定义

        数组,是一组能够存储相同数据类型的变量的集合。

        因为当我们面对许多相同数据类型时,如果采用单独的变量进行存储,则需要定义若干个变量名,非常繁琐,不利于维护。

1.语法

(1)使用默认的初始值来初始化数组的每一个元素

        数据元素类型[ ]  数据名 = new  数据元素类型[ 数组中元素的个数];

        eg:int[ ] scores = new int[3];

(2)先声明,再赋默认的初始值

        数据元素类型[ ]  数据名;

         数据名 = new  数据元素类型[ 数组中元素的个数]

        eg:int[ ] scores;

                scores = new int[3];

(3)先声明,再用指定的值进行初始化

        数据元素类型[ ]  数据名 = new  数据元素类型[ ]{元素1,元素2,元素3......}

        eg:int[ ] scores = new int[]{23, 45, 77};

(4)将第三种进行简化

        数据元素类型[ ]  数据名 = {元素1,元素2,元素3......}

        eg:int[ ] scores = {88, 90, 98}

Tips:数组的正序下标是从0开始的,逆序下标是从-1开始的。

二、数组的遍历

 1.定义   

        遍历:指的是挨个查询数组里面的每个元素。

        求数组的长度,可以调用函数:x.length (x表示的是数组名)

2.遍历方式

(1)普通的for循环

public class Test {
    public static void main(String []args) {
		int[] score = {66, 78, 99, 100, 89, 100};
		System.out.println("数组的长度:"+score.length);
		
		//for遍历
		int len = score.length;
		for(int i=0; i<len; i++){
			int Score_ = score[i];
			System.out.println(Score_);
		}
    }
}

(2)增强的foreach循环(jdk1.5之后新增的特性;这种方法只允许从头到尾全部输出)

public class Test {
    public static void main(String []args) {
		int[] score = {66, 78, 99, 100, 89, 100};
		System.out.println("数组的长度:"+score.length);
		
		//foreach遍历  
		for(int x:score){
			System.out.println(x);
		}
    }
}

(3)可变参数(jdk1.5之后新增的;可变参数只能是参数列表中的最后一个)

public class Test {
    public static void main(String []args) {
		int[] score = {66, 78, 99, 100, 89, 100};
		//调用方法print
		print(78, 99, 100, 89, 100);
		}
    }
	
	public static void print(int k, int...x){ // k是单独变量;x为可变参数,看作数组使用
		int len = x.length;
		for(int i=0;i<len;i++){
			System.out.println(x[i]);
		}
	}
}

三、数组案例

1. 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。

import java.util.Scanner;
public class Test {
    public static void main(String []args) {
		int[] num = {12, 17, 44, 32, 46, 29};
		Scanner input = new Scanner(System.in);
		System.out.println("请输入你要猜的数:(50以内)");
		int UserInput = input.nextInt();
		
		boolean flag = false;
		for(int x: num){
			if(UserInput==x){
				flag = true;
				break;
			}
		}
		if(flag == true)
			System.out.println("恭喜你猜对了");
		else
			System.out.println("你的回答不正确喔,继续加油!");
    }
}

2.打印正三角形:

                   A        

                B B B

             C C C C C

          D D D D D D D

        E E E E E E E E E 

     F F F F F F F F F F F F

G G G G G G G G G G G G G

public class Test {
    public static void main(String []args) {
		char[] tangle = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
		int len =tangle.length;
		
		for(int i=1; i<=len; i++){
			for(int j=i; j<len; j++){
				System.out.print(" ");
			}
			for(int j=1; j<=i*2-1; j++){
				System.out.print(tangle[i-1]);
			}
			System.out.println();
		}
    }
}

四、二维数组

        Java中没有真正的多维数组,多维数组的表示方式是数组中的元素还是数组。

1.案例:程序员编程大赛有3个班参加,每个班有3名学员,请计算分别计算每个班的平均分。

public class Test {
    public static void main(String []args) {
		int[][] score = {{75, 77, 90}, {89, 78, 79}, {57,80,100}};
		int len = score.length;     //这里的len是班级的数量
		for(int i=0; i<len; i++){
			int sum=0;
			int count = score[i].length;    //这里的count是第 i 个班级的成绩数
			for(int j=0; j<count; j++){
				sum+=score[i][j];
			}
			System.out.println(sum/count);
		}
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值