数组的价值在存储和处理多个同类型的多个变量的时候派上用场,比如有三百个学生,定义变量表示他们的成绩,可以考虑用三百个变量,工作量很大,用数组则只要一个变量,每个人记住自己的下标就好了。
数组的要素:名称,类型,下标(从0开始)
数组要在定义的时候确定长度(大小),后面就可以使用了,如下的案例:
数组定义
也可以在定义的同时给数组赋值(初始化)
当然,不可能给数组挨个赋值,结合循环以及下标,可以方便的控制数组,如下的例子用到了数组的length属性,表示长度:
数组的存储
下面的例子是典型的用法,从一个数组中查找某个值在不在其中
数组中查找
这是数组求和
数组初始化后求和
这是求数组中的最大值,注意,max=0的做法是不对的,在所有都是数都是负数的情况下,他是最大的:
查找最大及其位置
数组的排序,有很多方法,比如冒泡:
当然,java提供了相关的实现,在java.util.Arrays中:
作业:
-4: 定义一个数组,放入1---100内所有的偶数
-3:定义一个数组,存入所有的小写字符(a-z),并倒序输出
-2:定义一个数组,存放10名同学的年龄,然后给数组中所有的数涨一岁。然后输出。
-1: 定义一个整数数组,求最大值,以及最大值的位置(不考虑最大值不止一个的情况)
0:定义一个String类型的数组,存放我们班学生姓名,然后输入一个名字,查找其是否存在
1:输出1-10000以内所有的质数并统计个数
2:定义一个整数数组,判断是否是递增有序的,即数组中的每一个数,都不大于其后面的数,比如{1,3,6},{1,2,2,4,6,9,9}等
3:定义一个长度为100的数组,放入1000以后的100个质数
4:输出倒等腰三角形,高度由用户输入。从下往上*的个数分别是1,3,5,...每次加两个。比如如下是高度为4的三角形
*******
*****
***
*
5:输出一个空心的等腰三角形,高度由用户输入,周围由 *组成,空格的数目分别是0,1,2,3,.....
比如,如下是一个高度为5的图形
*
* *
* *
* *
*********
6:1、2、4、9个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?