数组:是一个变量,存储相同数据类型的一组数据
数组的基本用法:
1、声明数组 int[ ] a;
2、分配空间 a = new int[5];
3、赋值a[0]=8899;
处理数据,例 a[0] = a[0]*10;
public class arr_1 {
public static void main(String[] args){
int[] arr;
arr = new int[5];
arr[0] = 8899;
System.out.println(arr[0]);
}
}
1、声明数组:告诉计算机数据类型是什么
数据类型 数组名[];
数据类型[] 数组名;
int[] score1; //Java成绩
int score2[]; //python成绩
String[] name; //姓名
2、分配空间:告诉计算机分配几个格子
score1 = new int[30];
score2 = new int[6];
name = new String[30]; // 数组属于引用数据类型
//声明数组并分配空间
数据类型[] 数组名 = new 数据类型[大小];
int[] arr = new int[5];
arr[0]=12;
System.out.println(arr[1]); //没赋值时,int类型默认为0
3、赋值
方法一:边声明边赋值
int[] score = {66,77,88};
int[] score = new int[]{66,77,88}
方法二:动态地从键盘录入信息并赋值
Scanner input = new Scanner(System.in);
for (int i=0;i<5;i++){
score[i] = input.nextInt();
}
java中的数组类型:
数据类型 | 数组类型 |
---|---|
char | char[ ] |
int | int[ ] |
double | double[ ] |
String | String[ ] |
Scanner | Scanner[ ] |
Random | Random[ ] |
使用数组类型的方式:
//1
int[] arr;
arr = new int[5];
arr[0] = 66;
//2
int[] arr = new int[5];
arr[0] = 66;
//3
int[] arr = {88,99,1212,698,921};
例:String[]数组未赋值时为null
public class arr_1 {
public static void main(String[] args){
String[] name = new String[5];
name[0]="Hey";
System.out.println(name[0]+name[1]); //未来呀null, 未赋值的String类型为null
for (int i=0; i<5;i++){
if (name[i]==null) {
System.out.println(name[i]+"还没赋值");
} else{
System.out.println(name[i]);
}
}
}
}
例:求平均分
import java.util.Scanner;
public class arr_1 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int[] score = new int[5];
int sum = 0;
for (int i=0; i<5;i++){
System.out.println("请输入第"+(i+1)+"个人的成绩数据:");
score[i] = input.nextInt();
sum+=score[i];
}
System.out.println("平均分:"+(sum/5));
}
}
例:length的使用
import java.util.Scanner;
public class arr_1 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入总共多少人");
int num = input.nextInt();
int[] score = new int[num];
int sum = 0;
for (int i=0; i<score.length;i++){
System.out.println("请输入第"+(i+1)+"个人的成绩数据:");
score[i] = input.nextInt();
sum+=score[i];
}
System.out.println("平均分:"+sum/score.length);
}
}
例:求最大值
import java.util.Scanner;
public class arr_max {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for (int i=0; i<arr.length; i++){
System.out.println("请输入第"+(i+1)+"个人的比赛得分");
arr[i] = in.nextInt();
}
int max = arr[0];
for (int i=0; i<arr.length; i++){
if (max<arr[i]) {
max = arr[i];
}
}
System.out.println("比赛最佳成绩:"+max);
}
}
例:求数组最小值
public class arr_min{
public static void main(String[] args){
int[] arr = {2800,2900,2750,3100};
int min_a = arr[0]; //存储最小值,从数组第一个开始
for (int i=0; i<arr.length; i++){
if (min_a>arr[i]){
min_a = arr[i];
}
}
System.out.println(min_a);
}
}
使用java.util.Arrays类
java.util包提供了许多存储数据的结构和方法
Arrays类提供了许多方法操纵数组,例如:排序,查询
Arrays类的sort()方法:对数组进行升序排序
Arrays.sort(数组名);
例:循环录入5个数据,进行升序排列后输出结果
import java.util.*;
public class arr_sort {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for (int i=0; i<arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个数据");
arr[i] = in.nextInt();
}
Arrays.sort(arr); //升序
for (int i=0; i<arr.length; i++){ //升序
System.out.println(arr[i]);
}
for (int i=arr.length-1;i>=0; i--){ //降序
System.out.println(arr[i]);
}
}
}