本节主要知识点:
1. 一维数组
2. 二维数组
3. 循环和数组搭配使用
概念:数组
本质--数组的本质就是变量
跟普通变量的区别在于,一个普通的变量只能存储一个数据,但是数组可以根据其长度存储多个数据。
声明一个数组等同于声明一个变量,都是程序在运行的时候向内存要存储空间以达到存储数据的目的
作用--可以存储多个数据类型相同的数据
声明一个普通的变量
整型的变量: int num=9;
字符窜类型的变量 String name=”admin”;
声明数组
整型的数组: int[] num=newint[10];
字符窜类型的数组 String[] name=newString[10];
如何变现出数组中的每个元素
使用数组名加下标的形式表示数组中的元素,数组的下标从0开始的,数组的最大下标等于数组的长度减1,数组的长度是指数组能够存储元素的个数,是指声明数组的时候必须指明的要素
即: 数组名[下标] 例如 num[1]=10;
声明数组的表达式:
数据类型[] 数组名=new 数据类型[长度];
3要素:
1. 数据类型
2. 数组名
3. 长度
一、一维数组
声明一维数组的方式
1.最常见方式
int[] num=new int[10];
String[] name=new String[10];
2. 其它方式
int num[]=new int[10];
int[] num={1,2,3,4,5,6};
Int num[10]=new int[];错误的表达式方式
二、二维数组
int[][] num=newint[5][6];
表示数组元素: num[0][3]
补充:在java中,普通的变量没有赋值是不能拿来使用的,而数组被声明之后,即使没有赋初始值也可以使用,因为会有默认的初始值给数组的每一个元素,例如整型的数组其中每一个元素的默认初始值是0,而String类型的数组默认初始值null
比较:
String name=null; 程序运行之后,内存不会给name分配存储空间
String name=””; 程序运行之后,内存给name分配空间,只是该空间没有存储任何数据
案例:
1. 请输入m个班,每个班n个同学的成绩,统计出每个班的最高分、最低分和平均分,并统计出年级最高分、最低分和平均分
import java.util.Scanner;
public class Demo08
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
double Max=0;//存储年级最高分
double Min=100;//存储年级最低分
double total=0;
int n=0;//存储总人数
System.out.println("请输入班级的数量:");
int num=input.nextInt();
for(int i=1;i<=num;i++)
{
double max=0;//默认存储当前班级最高分
double min=100;//默认存储当前班级最低分
double sum=0;//用于存储当前班级总分
System.out.println("请输入第"+i+"个班级的人数:");
int m=input.nextInt();
n=n+m;
double[] score=new double[m];
for(int j=0;j<m;j++)
{
System.out.println("请输入第"+(j+1)+"个同学的成绩");
score[j]=input.nextDouble();
if(score[j]>max)
{
max=score[j];
}
if(score[j]<min)
{
min=score[j];
}
sum=sum+score[j];
}
System.out.println("当前班级的最高分是:"+max);
System.out.println("当前班级的最低分是:"+min);
System.out.println("当前班级的平均分是:"+sum/m);
if(max>Max)
{
Max=max;
}
if(min<Min)
{
Min=min;
}
total=total+sum;
}
System.out.println("年级的最高分是:"+Max);
System.out.println("年级的最低分是:"+Min);
System.out.println("年级的平均分是:"+total/n);
}
}
2. 数列 1 1 2 3 5 8 、 、 、根据次数列特点统计出该数列钱20位的数据,并统计出钱20位中有多少个奇数和偶数
Java基础相关知识: |