学习日志(Java)一维数组

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

使用规范

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);
		}
	}

}

笔记来源:尚硅谷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值