当前位置 : 主页 > 编程语言 > java >

Java自学第三讲|数组

来源:互联网 收集:自由互联 发布时间:2022-07-13
Java自学第三讲|数组 1.一维数组的声明方式 package zixue ; public class ZX1 { public static void main ( String [] args ) { int [] a ; //声明,方括号可以写到后面,像C++一样 double [] b ; Student [] c ; //对象数


Java自学第三讲|数组


1.一维数组的声明方式

package zixue;
public class ZX1{
public static void main(String[] args) {
int[] a; //声明,方括号可以写到后面,像C++一样
double[] b;
Student[] c; //对象数组
}
}
class Student{
int age;
public void sayHello() {
System.out.println("Hello!" + age);
}
}

Java语言中声明数组时不能指定其长度(这里要区别于C++),同时这里也体现了Java语言的稳定性。

2.数组初始化

public class ZX1{
public static void main(String[] args) {
int[] a = new int[3];
a[0] = 3;a[1] = 2;a[2] = 3;
Student[] b = new Student[3];
b[0] = new Student(1);
b[1] = new Student(2);
b[2] = new Student(3);
}
}
class Student{
int age;
public Student(int n) {
age = n;
}
}

也可以使用如下方式:

package zixue;
public class ZX1{
public static void main(String[] args) {
int[] a = {3,2,1};
int[] b = new int[] {1,2,3};
Student[] s = {
new Student(1),
new Student(2),
new Student(3)
};
}
}
class Student{
int age;
public Student(int n) {
age = n;
}
}

数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化

数值类型是0,引用类型是null

3.数组元素的引用

public class ZX1{
public static void main(String[] args) {
int[] a = {3,2,1};
System.out.println(a[0]);
int i = 1;
System.out.println(a[i]);
System.out.println(a[i * 2]);
}
}

可以是整型常量或整型表达式.

每个数组都有一个属性length指明它的长度

public class ZX1{
public static void main(String[] args) {
int[] a = {1,5,3};
for(int i = 0;i < a.length;++i)
System.out.println(a[i]);
}
}

4.增强的for语句

public class ZX1{
public static void main(String[] args) {
int[] a = {1,5,3};
for(int i : a)
System.out.println(i);
}
}

这种方式类似于C++STL中的迭代器,但是这种语句是只读类型的遍历.

5.复制数组

public class ZX1{
public static void main(String[] args) {
int[] a = {1,5,3};
int[] b = {2,3,4,5,6};
System.arraycopy(a, 0, b, 0, a.length);
for(int i : b)
System.out.println(i);
}
}

System.arraycopy(a,0,b,0,a.length)表示将数组a从0(第一个)开始的数赋值给数组b从0(第二个)开始的位置,赋值的个数是a.length,此程序执行结果是:

1
5
3
5
6

6.多维数组

public class ZX1{
public static void main(String[] args) {
int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[1];
}
}

这里我认为可以和C++中的vector进行类比,数组的数组

多维数组的声明和初始化应按从高维到低维的顺序进行


Java自学第三讲部分总结。

内容依赖于北京大学唐大仕老师的mooc。


上一篇:Java自学|Markdown语法详解
下一篇:没有了
网友评论