从0学Java之数组篇

开发 前端
最小的下标是0,最大的下标是数组的元素个数-1;可是编译器不会检查看你是不是有效下标;但是如果运行的时候出现无效的下标,可能会导致程序终止。

数据可以存放在变量里,每一个变量有一个名字,有一个类型,还有它的生存空间。如果我们需要保存一些相同类型、相似含义、相同生存空间的数据,我们可以用数组来保存这些数据,而不是用很多个独立的变量。

数组是长度固定的数据结构,用来存放指定的类型的数据。一个数组里可以有很多个数据,所有的数据的类型都是相同的。

①创建数组

  • 数组是一种容器(放东西的地方)。
  • 特点是:其中所有的元素具有相同的数据类型;一旦创建,不能改变大小。
  • 数组中的每个数据叫做元素。

写一个程序计算用户输入的数字的平均数,并输出所有大于平均数的数。

必须先记录每一个输入的数字,计算平均数之后,再检查记录下来的每一个数字,与平均数比较,决定是否输出。

如何记录很多数?

int[]numbers=new int[]

写一个程序计算用户输入的数字的平均数,并输出所有大于平均数的数。


public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int x;
double sum=0;
int cnt=0;
int[]numbers = new int[100];

x= in.nextInt();
while(x!=-1)
{
numbers[cnt]=x;
sum += x;
cnt ++;
x= in.nextInt();
}
if(cnt>0)
{
double average = sum/cnt;
for(int i=0;i<cnt;i++)
{
if(numbers[i]>average)
{
System.out.println(numbers[i]);
}

}
}
}

图片

这里面是有安全隐患的:数组容量为100,超出范围则下标越界报错。

②数组的元素

  • 每个元素都是一种类型的变量。
  • 索引或者下标是从0开始的。

图片

  • 有效下标:最小的下标是0,最大的下标是数组的元素个数-1;可是编译器不会检查看你是不是有效下标;但是如果运行的时候出现无效的下标,可能会导致程序终止。

如果在刚刚那个程序上写入: numbers[101]= 20;编译器不会报错,但运行不了。

图片

图片

③数组变量

  • <类型>【】<名字>=new<类型>【元素个数】;
  • int【】grades=new int【100】;

写一个程序,输入数量不确定的【0,9】范围内的整数,统计每一种数字出现的次数,输入-1表示结束。

Scanner in=new Scanner(System.in); int x; x =in.nextInt(); int[]numbers = new int[10];

while(x!=-1)
{
if(x>=0 && x<=9)
{
}
numbers[x]++;
{
x= in.nextInt();
}
for(int i=0;i<numbers.length;i++)
{
System.out.println(i+":"+numbers[i]);
}

}
}

图片

length:每个数组有一个内部成员length,会告诉你它的元素的数量。

责任编辑:武晓燕 来源: Java极客技术
相关推荐

2022-10-31 07:33:05

Javafor循环

2022-09-30 07:32:48

循环while循环体

2022-10-30 10:14:43

Java循环语句

2022-09-16 07:32:15

编程计算机命令

2022-10-28 07:38:06

Javawhile循环

2022-09-30 07:32:39

架构

2022-09-22 07:31:14

Java变量计算

2021-05-10 11:38:07

Java数组IDEA

2022-03-10 09:33:21

Java数组初始化

2021-07-09 06:48:29

数组存储内存

2019-01-29 14:29:03

微服务路由

2021-01-13 11:51:25

ARM位置无关码

2020-12-11 09:05:04

ARMMDKGNU

2021-01-08 12:06:59

WDT定时装置

2014-02-01 21:25:08

Python数组

2021-05-25 11:50:32

ARMuboot网络协议栈

2012-06-15 10:13:03

2021-01-16 11:40:28

ARM嵌入式开发ADC应用

2011-09-22 10:48:20

MySQL集群HAProxy

2020-12-10 08:13:15

ARM架构 嵌入式
点赞
收藏

51CTO技术栈公众号