目录
在实际应用中,经常需要处理具有相同性质的一批数据。为此,在Java中还引入了数组,即用一个变量表示一组相同性质的数据。数组是一种数据结构,用于存储相同类型元素的集合
一维数组声明的格式为:
类型标识符 数组名[ ]?或?类型标识符[ ] 数组名
int[] myArray; // 声明一个整数数组
String[] names; // 声明一个字符串数组
int score[ ];
要让系统为数组分配存储空间,必须指出数组元素的个数,该工作在数组初始化时进行
用new初始化数组
PS:1.需要先声明数组再初始化
数组名= new 类型标识符[元素个数]
e.g
元素个数通过整型常量来表示。
要表示10个学生的成绩(整数),
可以先声明元素的数据类型为int的数组score,
再用new运算符初始化该数组。
int score[];
score=new int[10];
2.声明的同时进行初始化
可以用1条语句声明并初始化数组,即将上面的2条语句合并为一条语句。其格式如下:
类型标识符? 数组名[ ] = new 类型标识符[元素个数]
或
类型标识符[ ]?? 数组名= new 类型标识符[元素个数]
e.g
要表示10个学生的学号,可以按以下方式声明并初始化数组no:
int no[ ] = new int[10];
3.赋初值初始化数组
可以在声明数组的同时,给数组元素赋初值。所赋初值的个数决定数组元素的数目。其格式如下:类型标识符? 数组名[ ]= {初值表1,初值表2.....}
二维数组的声明方式与一维数组类似,只是要给出两对方括号。二维数组声明形式如下:
类型标识符? 数组名[ ][ ]? ?或? ??类型标识符[ ][ ]? 数组名
用new初始化二维数组
1.先声明数组再初始化
数组名= new 类型标识符[行数][列数]
int a[][];
a=new int[3][4];
2声明的同时进行初始化
类型标识符 数组名[ ][ ]= new 类型标识符[行数][列数]
或
类型标识符[ ][ ]? 数组名=new 类型标识符[行数][列数]
获取长度:
针对一维数组:数组名.length
针对二位数组:数组名.length→行数、数组名[行标].length→列数
各个数组创建之后的默认值:
int类型定义的数组,初始化默认是0
String类型定义的数组,默认值是null
char类型定义的数组,默认值是0对应的字符
double类型定义的数组,默认值是0.0
float类型定义的数组,默认值是0.0
boolean类型定义的数组,默认值是false
数组复制
int a[]=new int[6];
int b[]={1,2,3,4,5,6};
for(int i=0;i<6;i++) a[i]=b[i];
或 a=b;
数组输出
?数组的输出通常是逐个元素结合循环语句实现的。
int a[]=new int[6];
for(int i=0;i<6;i++)
{
a[i]=i;
System.out.println(a[i]);
}
字符数组指数组的元素是字符类型的数据。
使用方法跟上述数组类似,只不过是char类型的
为了使用方便Java提供了String类
字符串变量的声明和初始化
String 变量名;
变量名=new String();
或
String 字符串变量 = new String();
例如:
String s=new String();
或者 String s=new String(“XBMU”);
?字符串赋值
可以为字符串变量赋一个字符串常量,也可以将一个字符串变量或表达式的值赋给字符串变量
e,g
s1=“Chinese people”;
s2=s1;
s3="a lot of"+s2;
结果s2的值为“Chinese people”,
s3的值为“a lot of Chinese people”。
其中运算符“+”的作用是将前后的两个字符串连接起来。
?字符串的输出
字符串可以通过println()或print()语句输出
e.g
s="All the world";
System.out.println(s);
输出结果为:
All the world
String类的对象实例是不可改变的,一旦创建,就确定下来。Java?? String对象是常量字符串。一旦被初始化和付值,它的值和所分配的内存就被固定了。如果硬要改变它的值,将会产生一个包含新值的新String对象。这就是String对象会消耗掉很多资源的原因。
常用的方法:
length():返回字符串中的字符个数
charAt(int index):返回字符串中index位置的字符
equals():判断两个字符串是否相等。