Java从零开始学九(数组)
一、什么是数组
数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组。同一数组中的变量数据类型相同
二、数组的优点
不使用数组定义100个整型变量:int i1;int i2;…int i100
使用数组定义:int i[100]
同一类型的多个变量可以使用数组来完成
三、数组声明
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的。
要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。这两个步骤的语法如下:
声明形式一:
声明一维数组:数据类型 数组名[];
int num [];
分配内存给数组:数组名 = new 数据类型[长度] ;
int num [] = new int[10];
声明形式二:
声明一维数组:数据类型[] 数组名;
int [] num;
int [] num = new int [10];
数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型、浮点型与字符型等。
“数组名”是用来统一这组相同数据类型的元素的名称,其命名规则和变量的相同,建议使用有意义的名称为数组命名
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中“长度”是告诉编译器,所声明的数组要存放多少个元素,
而“new”则是命令编译器根据括号里的长度开辟空间。
四、声明数组,并赋值
package com.pb.demo1; import java.util.Scanner; public class demo4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); //声明字符串数组 String [] cities=new String [5]; //赋值 System.out.println("请输入5个城市的名字:"); for (int i = 0; i < cities.length; i++) { cities[i]=input.next(); } //输出 System.out.println("输入的城市名称是:"); for (String city : cities) { System.out.println(city); } } }
五、比较大小和排序
package com.pb.demo1; import java.util.Scanner; /* * 输入5个学生的成绩,并求出最高分,最低分,平均分 */ public class Demo5 { public static void main(String[] args) { //声明一个扫描器类似的变量 Scanner input = new Scanner(System.in); //声明整形数组 int [] scores=new int [5]; System.out.println("请输入5个学生的成绩:成绩为整数"); //为数组赋值 for (int i = 0; i < scores.length; i++) { scores[i]=input.nextInt(); } //总成绩 float sum=0; //最低分 int min=0; //最高分 int max=0; //平均分 float avg=0; //将第一个值赋为min和max,进行比较 min=scores[0]; max=scores[0]; for (int i = 0; i < scores.length; i++) { //总成绩 sum=sum+scores[i]; //最低分 if(scores[i] < min){ min=scores[i]; } //最高分 if(scores[i]>max){ max=scores[i]; } } System.out.println("总成绩:"+sum); System.out.println("最低分:"+min); System.out.println("最高低:"+max); System.out.println("平均分:"+sum/scores.length); } }