JAVA基础-数组的使用

JAVA基础-数组的使用

一维数组的使用:

package com.atguigu.contact;
/**
 * 
 * @Description 数组是多个相同类型数据按一定顺序排列的集合 
 * @author YSH
 * @version
 * @date 2021年2月11日下午2:06:04
 *
 */
public class ArrayTest {
	public static void main(String[] args) {
		//1.一维数组的声明和初始化
		int num;//声明
		num = 10;//初始化
		int id = 1001;//声明+初始化
		
		int[] ids;//声明
		//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行
		ids = new int[]{1001,1002,1003,1004};
		//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
		String[] names = new String[5];
		
//		2.如何调用数组的指定位置的元素:通过角标的方式调用
//		数组的角标(或索引)从0开始的,到数组的长度-1结束。
		names[0] = "王铭";
		names[1] = "王赫";
		names[2] = "张学良";
		names[3] = "孙居龙";
		names[4] = "王宏志";
		
		//3.如何获取数组的长度。
		//属性:length
		System.out.println(names.length);
		System.out.println(ids.length);
		
		//4.如何遍历数组
		for(int i = 0;i < names.length;i++) {
			System.out.println(names[i]);
			
		
		}
		//数组元素的默认初始化值
		/*
		 * >数组元素是整型默认值0
		 * >数组元素是浮点型:0.0
		 * >数组元素是char型:0 或'\u0000'而非'0'
		 * >数组元素是Boolean型:false
		 */
		//5.数组元素的默认初始化值
		 int[] arr = new int[4];
		 for(int i = 0;i < arr.length;i++) {
			 System.out.println(arr[i]);
		 }
		 short[] arr1 = new short[4];
		 for(int i = 0;i < arr1.length;i++) {
			 System.out.println(arr1[i]);
		 }
		 boolean[] arr2 = new boolean[4];
		 for(int i = 0;i < arr2.length;i++) {
			 System.out.println(arr2[i]);
		 }
		 
	} 
}

一维数组练习题:

一、从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
* >成绩>=最高分-10 等级为A
* >成绩>=最高分-20 等级为B
* >成绩>=最高分-30 等级为C
* >其余 等级为D

代码实现:

/*
	 * 2.从键盘读入学生成绩,找出最高分,并输出学生成绩等级。 
	 * >成绩>=最高分-10 等级为A 
	 * >成绩>=最高分-20 等级为B 
	 * >成绩>=最高分-30 等级为C 
	 * >其余 等级为D
	 */
import java.util.Scanner;
public class Arraytest {
	public static void main(String[] args) {
		System.out.print("请先输入学生人数:");
		Scanner scan = new Scanner(System.in);
		int count = scan.nextInt();//从键盘获取学生人数以设定数组位数
		int[] studentcard = new int[count];//动态声明变量
		int max = 0;
		//依次获取学生成绩存入数组中
		System.out.print("请输入"+ count +"个学生的成绩:");
		for(int i = 0;i < studentcard.length;i++) {
			studentcard[i] = scan.nextInt();//从键盘获取学生成绩
			//获取学生成绩最大值
			if(max < studentcard[i]) {
				max = studentcard[i];
			}
			}
		System.out.println(max);//输出成绩最大值
		//判断学生成绩等级并输出
		char level;
		for(int i = 0;i < studentcard.length;i++) {
			if(studentcard[i] >= max - 10){
				level = 'A';
			}else if(studentcard[i] >= max - 20) {
				level = 'B';
			}else if(studentcard[i] >= max - 30) {
				level = 'C';
			}else {
				level = 'D';
			}	
			System.out.println("student" + i + " source is " + studentcard[i] + " grande is " + level);
		}
		}
		
	}

多维数组的使用:

package com.atguigu.contact;

public class ArrayTest2 {
	public static void main(String[] args) {
		// 1.二维数组的声明和初始化
		// 静态声明
		int[][] arr1 = new int[][] { { 1, 2, 3 }, { 2, 4 }, { 4, 5, 6 } };
		// 动态声明
		String[][] arr2 = new String[3][2];
		// 2.如何调用数组的指定位置元素
		System.out.println(arr1[0][1]);// 2
		System.out.println(arr2[1][1]);// null
		// 3.获取数组的长度
		System.out.println(arr2.length);// 3
		System.out.println(arr2[0].length);// 3
		System.out.println(arr2[1].length);// 2
		// 4.如何遍历二维数组
		for (int i = 0; i < arr1.length; i++) {
			for (int j = 0; j < arr1[i].length; j++) {
				System.out.print(arr1[i][j] + "");
			}
			System.out.println();
		}
		// 5.数组元素的默认初试化值
		/*
		 * 规定:二维数组分为外层数组的元素,内层数组的元素 int[] arr = new int[4][3]; 外层元素:arr[0],arr[1]等
		 * 内层元素:arr[0][0],arr[1][2]等;
		 *
		 * 针对初始化方式一:int[][] arr = new int[3][2]; 外层元素的初始化值为:地址值 内存元素的初始化值为:与一位数组初始化情况相同
		 * 
		 * 针对于初始化方式二:比如:String[][] arr4 = new String[3][]; 外层元素的初始化值为:null
		 * 内存元素的初始化值为:不能调用,否则报错
		 * 
		 */
		int[][] arr = new int[3][2];
		System.out.println(arr[0]);// [I@5594a1b5
		System.out.println(arr[0][0]);// 0

		float[][] arr0 = new float[3][2];
		System.out.println(arr0[0]);// 地址值
		System.out.println(arr0[0][0]);// 0.0

		String[][] arr3 = new String[3][2];
		System.out.println(arr3[0]);// 地址值
		System.out.println(arr3[0][0]);// null

		String[][] arr4 = new String[3][];
		System.out.println(arr4[0]);// null

	}
}

数组简单问题:

1.写出一维数组初始化的两种方式

//1).静态初始化
	int[] arr0 = new int[] {1,2,3};
//2).动态初始化
	int[] arr1 = new int[3];
	arr1[0] = 100;
//......

2.写出二维数组初始化的两种方式

//1).静态初始化
	int[][] arr3 = new int[][] {{1,2,3},{2,3},{3,4,5}};
//2).动态初始化
	int[][] arr4 = new int[3][2];

3.如何遍历如下的二维数组

int[][] arr = new int[][] {{1,2,3},{4,5},{6,7,8}};
		for(int i = 0;i < arr.length;i++) {
			for(int j = 0;j < arr[i].length;j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}

4.不同类型的以为数组元素的默认初始化值

int:0;float:0.0;String:null;boolean:false;

数组练习题:

在这里插入图片描述

public class ArrayTest3 {
	public static void main(String[] args) {
		//获取arr数组中所有元素的和
		//初始化二维数组
		int[][] arr = new int[][] {{3,5,8},{12,9},{7,0,6,4}};
		int sum = 0;
		for(int i = 0;i < arr.length;i++) {
			for(int j = 0;j < arr[i].length;j++) {
				sum += arr[i][j];
			}
		}
		System.out.println("arr数组所有元素和为 " + sum);
	}
	
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

散人_丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值