p156 - p
一维数组
声明、分配空间、赋值
type[] var;
- Java 语言中声明数组是不能指定其长度(数组中元素的数),例如:int a[5];
- 动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
String[] name ; //声明
name = new String[3]; // 分配空间;
name[0] = "孟磊"; // 赋值,不赋值默认为null
name[1] = "libai"; // 赋值
- 静态初始化:在定义数组的同时就为数组元素分配了空间并赋值
int[] array1 = {1, 2, 3, 4, 5};
数组元素的引用
System.out.println(name[0]);
System.out.println(name[1]);
System.out.println(name[2]);
System.out.println(name.length);
System.out.println(array1[1]);
System.out.println(array2);
从0 开始到n - 1;
length 指明数组的长度
数组一旦初始化,其长度就是不可变的。
数组元素的出任初始化值
不同的数据类型,初始化的值各不相同
数组元素的类型 | 元素默认初始化值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0l |
float | 0.0 f |
double | 0.0 |
char | 0或者空 |
boolean | false |
引用类型 | null |
一维数组的使用
内存的简化结构
栈:局部变量
package com.atguigu.java;
public class lianxi1 {
public static void main(String[] args) {
int[] arr = new int[] {8, 2, 1, 0, 3};
int[] index = new int[] {2, 0, 3, 2, 4, 0, 1, 3, 2, 3, 3};
String tel = "";
for (int i = 0; i < index.length; i++) {
tel+= arr[index[i]];
}
System.out.println("联系方式:" + tel);
}
}
package com.atguigu.java;
import java.util.Scanner;
// import java.util.Scanner;
public class chengji {
public static void main(String[] args) {
int num_Student;
System.out.print("请输入学生人数:");
Scanner input = new Scanner(System.in);
num_Student = input.nextInt();
System.out.println("请输入" + num_Student + "个人的成绩");
int[] score = new int[num_Student];
int score_most = 0;
for (int i = 0; i < score.length; i++) {
score[i] = input.nextInt();
if(score_most < score[i])
score_most = score[i];
}
System.out.println("最高成绩是:" + score_most);
for (int i = 0; i < score.length; i++) {
if (score[i] > score_most - 10) {
System.out.println("student" + i +"score is" + score[i] + " grade is 'A' ");
}
else if (score[i] > score_most - 20) {
System.out.println("student" + i +"score is" + score[i] + " grade is 'B' ");
}
else if (score[i] > score_most - 30) {
System.out.println("student" + i +"score is" + score[i] + " grade is 'C' ");
}
else {
System.out.println("student" + i +"score is" + score[i] + " grade is 'D' ");
}
}
}
}