数组
1.java中的数组是相同数据类型元素的集合,数组是一种线性数据结构。
2.数组的声明方式:
(1)数据类型(定义数组中可以存储的数据的类型)[]变量名(引用类型)eg:int[]a
(2)数据类型 变量名[] eg:int a[]
3.数组本身是引用类型,即对象,里面既可以存储基本类型,也可以存储引用类型。
4.java中的数组在创建时,必须要为其定义长度,长度一旦定义不能修改,数组在内存空间中是一个连续的空间,为其中的每个存储空间初始化值。
5.数组的创建:
(1)声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值 eg:int []a = new int[10];
(2)声明数组并分配内存,同时将其初始化 eg:int []b = new int[]{1,2,3,4,5,6};
(3)与前一种方式相同,仅仅只是语法相对简略 eg:int []c = {1,2,3,4,5,6}.
public class Demo1 {
public static void main(String[] args){
/*数组的声明方式
* 1.数据类型(定义数组中可以存储的数据的类型) [] 变量名(引用类型)
* 2.数据类型 变量名 []*/
/*int [] a;
int b [];*/
/*数组本身是引用类型,即对象,里面既可以存储基本类型,也可以存储引用类型*/
/*java中的数组在创建时,必须要为其定义长度,长度一旦定义不能修改。
* 数组在内存中是一个连续的空间,为其中的每个存储空间初始化值*/
//数组创建:
//1.声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
int [] a = new int[10];
float []f=new float[10];
//2.声明数组并分配内存,同时将其初始化
int [] b = new int[]{1,2,3,4,5};
//3.与前一种方式相同,仅仅只是语法相对简略
int [] c = {1,2,3,4,5,6};
//toString方法是将对象以字符串形式输出
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(f));
System.out.println(Arrays.toString(b));
System.out.println(Arrays.toString(c));
}
}
6.toString()方法:将对象以字符串的形式输出。
7.数组中如果存储的基本类型,存储的是具体的值;如果存储的是引用类(类类型),会存储对象的引用。
public class Demo3 extends Object {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString(){
return this.name;
}
}
public class Test {
public static void main(String[] args) {
Demo3 car1=new Demo3();
car1.setName("car0");
Demo3 car2=new Demo3();
car2.setName("car1");
Demo3 car3=new Demo3();
car3.setName("car2");
Demo3 car4=new Demo3();
car4.setName("car3");
Demo3 car5=new Demo3();
car5.setName("car4");
String[] car={car1.getName(),car2.getName(),car3.getName(),car4.getName(), car5.getName()};
System.out.println("Car1:"+car[0]+"Car2:"+car[1]+"Car3:"+car[2]+"Car4:"+car[3]+"Car5:"+car[4]);
}
}
8.访问数组元素
数组中每个位置都会有一个索引(下标,标号)。
索引类型为整型 区间0—数字长度-1
**注意:**使用合法的索引访问,否则会程序终止,抛出异常。
9.使用for循环遍历
for循环:
for(int i;i<数组长度;i++)
foreach循环:
区间是已知的 0——length-1
for(数据类型 变量:要循环的数组/集合) 每循环一次从数组中取出一个元素,赋给前面声明的变量,直到数组中的所有元素遍历完循环终止。
public class Work1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个数据:");
int x = s.nextInt();
int []a = {8,4,2,1,23,344,12};
int y=0;
for(int i=0;i<=a.length-1;i++){
if(a[i]==x){
System.out.println("数组中包含此数");
break;
}else {
y++;
}
if(y==a.length){
System.out.println("数组中不包含此数");
}
}
}
}