·数组(array):
简单的说就是一组数。 java中数组也是一种数据类型,相同数据类型的匀速按照一定的顺序的集合,而且是有限个类型相同的变量用一个名字来命名。
比如要存储1706A班级的学员成绩,第一组有四个同学,我们可以如下定义:
int score1 =80;
int score2 = 82;
int score3 = 83;
int score = 84;
但是这么定义之后无法进行处理,比如我们要取出一组中成绩最高的。
所以我们把这四个类型相同的变量,用 int[ ] scores = int[4]; 表示,我们用scores这个统一的名称,来管理4个int类型。
这里涉及的概念: 数组名, 下标【0,长度-1】,元素(数组名【下标】),数组的长度(数组名.length)
举例:
class Array_test01{
public static void main(String[] args){
int[] scores = new int[4];
scores[0] = 80;
scores[1] = 82;
scores[2] = 83;
scores[3] = 84;
System.out.println(scores.length);
}
}
声明一个数组:
语法格式: 元素的数据类型【】 数据名;
例如: int [ ] scores; //存储几个学员的成绩
String[] names;
double b[ ];
注意: java语言中声明数组 不能指定其长度(数组中的元素个数)
像 int table[5]; 这样的声明是非法的。
数组的初始化:
1) 确定数组的长度
2) 确定数组的元素的值
方式一: 动态初始化
数组名 = new 元素的数据类型[长度】
如果没有手动赋值之前,数组的元素有默认值,如下:
byte,short,int ,long: 0
char: \u0000 字符编码为0的空字符
举例:
class Array_test01{
public static void main(String[] args){
// 声明一个数组,用来存储26个大写英文字母
char[] letters;
//初始化数组
letters = new char[26];
//遍历数组中的元素
for(int i=0;i<letters.length;i++){
letters[i] = (char) ('A' + i);
System.out.println(letters[i]);
}
}
}
方式二: 静态初始化
数组名 = new 元素的数据类型[ ] {指定元素的值列表};
举例:
class Array_test01{
public static void main(String[] args){
// 声明一个数组,用来存储成绩,是int类型
int [] scores;
//初始化数组
scores = new int[]{81,82,83,84,85};
//遍历数组中的元素
// 下表index的方为[0,长度-1]
for(int index=0;index<scores.length;index++){
//每个元素就是数组名[下标]
System.out.println(scores[index]);
}
//数组的长度
System.out.println(scores.length);
}
说明: 把数组的声明和静态初始化合成一句:
int[] scores = new int[] { 81,82,83,84};
简化: int[] scores = {81,82,83,84};
总结: 初始化一维数组:
int arr1[] = new int[]{1,2,3,4,5,6}; // 第一种
int arr2[] = {10,11,12,13,14}; // 第二种
练习: 求一组数组中各元素的和
class Array_test01{
public static void main(String[] args){
int[] num ={1,2,3,4,5,6,7,8,9,10};
int sum = 0;
for(int i=0;i<num.length;i++){
sum += num[i];
}
System.out.println(sum);
}
}
学到这里就可以了解下各种算法,诸如冒泡排序、选择排序等等的许多排序算法,这是学习编程语言必须掌握的知识之一