一维数组的使用规范及应用例题


目录

  • 一维数组的使用规范及应用例题
  • 使用规范
  • 1.一维数组的声明与初始化
  • 2.一维数组元素的引用
  • 3.数组的属性:length
  • 4.一维数组的遍历
  • 5.一维数组元素的默认初始化值
  • 例题
  • 题目:
  • 代码实现:


使用规范

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];
 int[] arr4 = {1,2,3,4,5};//类型推断

错误的方式:

// int[] arr1 = new int[];
 // int[5] arr2 = new int[5];
 // int[] arr3 = new int[3]{1,2,3};

2.一维数组元素的引用

通过角标的方式调用。

//数组的角标(或索引从0开始的,到数组的长度-1结束)
 names[0] = “a”;
 names[1] = “b”;
 names[2] = “c”;
 names[3] = “d”;
 names[4] = “e”;//charAt(0)

3.数组的属性:length

System.out.println(names.length);//长度为5
 System.out.println(ids.length);//输出的是数组的长度

说明:
数组一旦初始化,其长度就是确定的。arr.length
数组长度一旦确定,就不可修改。

4.一维数组的遍历

for(int i = 0;i < names.length;i++){
 System.out.println(names[i]);
 }

5.一维数组元素的默认初始化值

数组元素是整型:0
数组元素是浮点型:0.0
数组元素是char型:0或’\u0000’,而非’0’
数组元素是boolean型:false
数组元素是引用数据类型:null

例题

题目:

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

代码实现:

package test;
/*
 * 2. 从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
		成绩>=最高分-10    等级为’A’   
		成绩>=最高分-20    等级为’B’
		成绩>=最高分-30    等级为’C’   
		其余                               等级为’D’
		
		提示:先读入学生人数,根据人数创建int数组,存放学生成绩。

 * 
 */
import java.util.Scanner;
public class Arraydemo1 {
	public static void main(String[] args) {
		//1.使用Scanner,读取学生个数
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入学生个数");
		int number=scanner.nextInt();
		//2.创建数组,存储学生成绩:动态初始化
		int[] scores=new int[number];
		//3.给数组中的元素赋值
		int maxscore=0;
		System.out.println("请输入学生分数");
		for(int i=0;i<scores.length;i++) {
			scores[i] = scanner.nextInt();
			//4.获取数组中的元素的最大值:最高分
			if(maxscore<scores[i]) {
				maxscore=scores[i];
			}
		}
		//5.根据每个学生成绩与最高分的差值,得到每个学生的等级,并输出等级和成绩
		char level;
		for(int i=0;i<scores.length;i++) {
			if(maxscore-scores[i]<10) {
				level='A';
			}
			else if(maxscore-scores[i]<20) {
				level='B';
			}
			else if(maxscore-scores[i]<30) {
				level='C';
			}
				else {
					level='D';						
			}
			System.out.println("student "+number+"score is "+scores[i]+"grade is "+level);
		}
	}

}