1.java中的数组语法
一维数组 一、声明:数组要先声明然后才能使用。
语法:数据类型 数组名[ ];或数据类型[ ] 数组名; 数据类型既可以是基本数据类型也可以是引用数据类型,数组名可以是任意的合法变量名。如:int [ ] score; double height[ ]; String[ ] name; 注意,不可在数组名后的方括号内指定数组元素的个数,如int sum[10];是错误的。
二、分配空间:声明了数组只是得到了一个存放数组的变量,并没有为数组元素分配空间,不能够使用,因此要为数组分配空间,这样数组的每个元素才有一个空间进行存储。语法:数组名=new 数据类型[数组长度]; 其中,数组长度就是能够存放的元素个数,显然应该是大于0的整数。
例如:score=new int [30]; height =new double[10]; name=new String [30]; 也可以在声明数组时就给它分配空间。语法:数据类型 数组名[ ]=new 数据类型[数组长度]; 如:int sum[ ]=new int[100]; 三、赋值:给数组元素赋值。
有三种方法赋值。方法一 语法:数组名[下标值]=值; 例如:score[0]=89; score[1]=56; score[2]=75; 方法二 每一次赋值时,只有下标在变,因此,可以使用循环给数组赋值。
例如:for (int index = 0; index < args.length; index++) { double num = Double.parseDouble(args[index]); } 方法三 直接创建数组,将声明数组、分配空间和赋值合并完成。语法:数据类型 数组名[ ]={值1, 值2, 值3, …, 值n }; 例如:使用下列方式来创建score数组 int score[]={60,75,64,73,45};//创建一个长度为5的数组score 同时它也等价于下面的代码:int score=new int[ ]{60,75,64,73,45}; 注意,直接创建并赋值的方式一般在数组元素比较少的情况下使用。
它必须一并完成,如下代码是不合法的: int[ ] score; score={60,75,64,73,45};//错误!!二维数组 一、声明二维数组 语法:数据类型 数组名[ ] [ ];或 数组类型[][] 数组名;或 数组类型[] 数组名[];例如:float boy[][]; char array[][]; int array_name[ ][ ]; 或 int [ ][ ] array_name; 或 int [ ] array_name[ ]; 二、为二维数组分配空间 (1)直接为每一维分配空间 例如:int a[][]=new int[3][2];//建立3行2列数组 (2)高维开始,分别为每一维分配空间 例如:int a[][]=new int[3][];//指定最高维的长度为3,然后分别为每一维分配空间 a[0]=new int[2]; a[1]=new int[3]; a[2]=new int[4]; 三、二维数组的初始化 (1)直接为数组元素赋值 例如:int a[][]=new int[2][2]; a[0][0]=1; a[0][1]=2; a[1][0]=3; a[1][1]=4; (2)在数组声明时为数组初始化 例如:int a[][]={{1},{2,3},{4,5,6}}; 四、二维数组的引用 格式为:数组名[下标1][ 下标2];下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始。
2.怎么理解java数组的基本知识
很多语言在基本数据类型上都差不多。数组也是差不多的。不同的主要是些实用类而已。
一维: 类型名+数组名[]=new 类型名[长度];
如:int my[]=new int[10];表示10个长度的int型一维数组。也可写成int[] my=new int[10];是一样的。
二维:同上
如:int my[][]=new int[10][5];相当于放了10个长度为5的一维数组。
照书打点代码,慢慢理解。
3.java中的数组语法是什么
一维数组 一、声明:数组要先声明然后才能使用。
语法:数据类型 数组名[ ];或数据类型[ ] 数组名; 数据类型既可以是基本数据类型也可以是引用数据类型,数组名可以是任意的合法变量名。如:int [ ] score; double height[ ]; String[ ] name; 注意,不可在数组名后的方括号内指定数组元素的个数,如int sum[10];是错误的。
二、分配空间:声明了数组只是得到了一个存放数组的变量,并没有为数组元素分配空间,不能够使用,因此要为数组分配空间,这样数组的每个元素才有一个空间进行存储。语法:数组名=new 数据类型[数组长度]; 其中,数组长度就是能够存放的元素个数,显然应该是大于0的整数。
例如:score=new int [30]; height =new double[10]; name=new String [30]; 也可以在声明数组时就给它分配空间。语法:数据类型 数组名[ ]=new 数据类型[数组长度]; 如:int sum[ ]=new int[100]; 三、赋值:给数组元素赋值。
有三种方法赋值。方法一 语法:数组名[下标值]=值; 例如:score[0]=89; score[1]=56; score[2]=75; 方法二 每一次赋值时,只有下标在变,因此,可以使用循环给数组赋值。
例如:for (int index = 0; index < args.length; index++) { double num = Double.parseDouble(args[index]); } 方法三 直接创建数组,将声明数组、分配空间和赋值合并完成。语法:数据类型 数组名[ ]={值1, 值2, 值3, …, 值n }; 例如:使用下列方式来创建score数组 int score[]={60,75,64,73,45};//创建一个长度为5的数组score 同时它也等价于下面的代码:int score=new int[ ]{60,75,64,73,45}; 注意,直接创建并赋值的方式一般在数组元素比较少的情况下使用。
它必须一并完成,如下代码是不合法的: int[ ] score; score={60,75,64,73,45};//错误!!二维数组 一、声明二维数组 语法:数据类型 数组名[ ] [ ];或 数组类型[][] 数组名;或 数组类型[] 数组名[];例如:float boy[][]; char array[][]; int array_name[ ][ ]; 或 int [ ][ ] array_name; 或 int [ ] array_name[ ]; 二、为二维数组分配空间 (1)直接为每一维分配空间 例如:int a[][]=new int[3][2];//建立3行2列数组 (2)高维开始,分别为每一维分配空间 例如:int a[][]=new int[3][];//指定最高维的长度为3,然后分别为每一维分配空间 a[0]=new int[2]; a[1]=new int[3]; a[2]=new int[4]; 三、二维数组的初始化 (1)直接为数组元素赋值 例如:int a[][]=new int[2][2]; a[0][0]=1; a[0][1]=2; a[1][0]=3; a[1][1]=4; (2)在数组声明时为数组初始化 例如:int a[][]={{1},{2,3},{4,5,6}}; 四、二维数组的引用 格式为:数组名[下标1][ 下标2];下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始。
4.java数组的相关操作
1.在Java 中所有的数组都在一个缺省的属性Length,用于获取数组中元素的个数.2.数组的复制System.arraycopy()3.数组的排序Arrays.sort()4.在已排序的数组中查找某个元素Arays.binarySearch()*/ import java.util.Arrays; //对数组排序时要导入此包.class ArrayTest { public static void main(String[] args) { /*int [] num1=new int [] {1,2,3}; int [] num2=new int [3]; System.arraycopy(num1,0,num2,0,num1.length); for(int i=0;i<num2.length;i++) { System.out.println(num2[i]); }*/ //对象数组的copy /*Point [] pts1=new Point []{ new Point(1,1),new Point(2,2),new Point(3,3)}; Point [] pts2=new Point[3]; System.arraycopy(pts1,0,pts2,0,pts1.length); for(int i=0;i数组的排序 /*int [] num=new int []{3,1,2}; Arrays.sort(num); for (int i=0;i<num.length;i++) { System.out.println(num[i]); } int index=Arrays.binarySearch(num,3); System.out.println("index="+index); System.out.println("element="+num[index]);*/ Student [] st=new Student[]{new Student(1,"zhangsan"), new Student(2,"lisi"), new Student(3,"wangwu"), new Student(3,"mybole")}; Arrays.sort(st); for(int i=0;is.num?1:(num==s.num?0:-1); int rusult=num>s.num?1:(num==s.num?0:-1); //在num相同时,对name进行排序. if(0==rusult) { rusult=name.compareTo(s.name);//对于比较字符类型的,在String类中已经重写的compareTo方法,可以直接使用. } return rusult; } } class Point { int x,y; Point(int x,int y) { this.x=x; this.y=y; } }。
5.Java编程数组基本语法是什么呢
了解了数组的概念以后,下面来看一下数组的语法格式。
数组的语法格式主要有四种:数组声明、数组初始化、引用数组元素和获得数组长度。 1 数组声明 和变量类似,数组在使用以前也必须声明,数组的声明语法格式为: 数据类型 数组名称[] 或:数据类型[] 数组名称 例如: int m[]; char c[]; double d[]; 这里的数据类型可以是Java语言的任意数据类型,也就是说既可以是基本数据类型也可以是复合数据类型。
在声明数组时使用一对中括号,该对中括号既可以放在数据类型的后面,也可以放在数组名称的后面。数组名称是一个标识符,可以根据需要设置其名称,在程序中使用该名称代表该数组。
这两种声明的语法格式在实际使用时完全等价,可以根据习惯进行使用。 数组声明以后在内存中不占用空间,没有地址,由于数组是复合数据类型,所以声明完成以后其默认值是null。
数组声明以后不能直接使用,必须对其初始化以后才可以进行使用。 2 数组初始化 数组初始化就是对数组进行赋值。
数组的初始化语法分为两种:静态初始化和动态初始化。静态初始化适用于已知数组所有元素的值,一次初始化所有元素,动态初始化只申请空间,每个元素的值是数组声明时数据类型对应的初始值。
2。1 静态初始化 静态初始化,也称数组的整体赋值,是一次为数组中所有元素依次进行赋值的语法,通过可以语法可以指定数组中每个元素的值,同时也指定了数组的长度。
语法格式为: 数据类型[] 数组名称 = {值1,值2,……,值n}; 例如: int[] m = {1,2,3,4}; char c[] = {‘a’,’f’,’d’}; 静态初始化必须和数组的声明位于同一行,换句话说,只能在声明数组的同时进行静态初始化。 数组中的所有元素书写一对大括号的内部,系统按照值的书写顺序依次为数组运算进行赋值,例如数组m,则将1赋值给m数组的第一个元素,2赋值给m数组的第二个元素,依次类推,数组的总长度等于静态初始化时数值的个数。
在实际书写时,需要注意,值的类型必须和数组声明时的类型匹配,或者可以自动进行转换。 在实际程序中,静态初始化一般书写一组已知的无规律数值,这样书写起来比较简单,格式比较统一。
2。2 动态初始化 动态初始化,也就是只为数组指定长度,并且在内存中申请空间。
动态初始化可以不必和数组的声明放在一起,也可以重新初始化一个初始化的数组。 动态初始化的语法格式:数据类型[] 数组名称 = new 数据类型[长度];例如: int[] m = new int[10]; char[] c; n = new char[3]; Examda提示: 动态初始化使用new关键字进行初始化,new关键字后续的数据类型要求和数组声明时的数据类型一样,中括号内部是需要初始化的数组长度,该长度值可以是数字也可以是整型变量,如果是整型变量则不能为long型。
在实际使用时,也可以先声明再进行动态初始化。 动态初始化指定了数组的长度,在内存中申请了对应长度的空间,而每个元素的值取数组数据类型对应的默认值。
默认值的规定如下:a、boolean类型的默认值是false。 b、其它7种基本数据类型是0。
说明:char的默认值是编码为0的字符,而不是字符0。 3 引用数组元素 数组是一组数的集合,在实际使用时还需要引用数组中的每个元素。
则引用数组中元素的语法格式为:数组名称[下标]其中下标指数组中每个元素的索引值,Java语法规定数组中的第一个元素索引值是0,第二个是1,依次类推。 在程序书写时,下标位置既可以书写常数也可以书写变量。
而整个引用元素的表达式可以看作是一个变量,该变量的类型和数组的类型一致。 示例代码如下:int[] m = {3,2,4,6};m[1] = 4;m[2] = m[3] + m[0];在代码中,可以使用变量作为下标,示例代码如下:char[] ch = new char[10];int i = 2;ch[i] = ‘a’;使用变量作为数组的下标,极大的增强了数组元素使用的灵活性,也是灵活使用数组必须深刻理解的内容。
因为数组的下标都从0开始,所以有效氖橄卤昵涫?到数组的长度减1,其它的下标都是非法的。在代码中出现非法的下标不会出现语法错误,但是会导致运行时出现异常。
4 获得数组长度 为了方便的操作数组,Java语法中提供了获得数组长度的语法格式。 对于一个已经初始化完成的数组,获得该数组长度的语法格式为:数组名称。
length示例代码如下: int[] n = {1,2,3,4,6}; int len = n。length; 则在该代码中n。
length代表数组n的长度,由数组的初始化可以看出数组n的长度是5,则变量len的值将是5。 使用该语法,可以只需要知道数组的名称就可以获得数组的长度,便于灵活操作数组。
综合前面下标的语法和长度的语法,则输出数组n中所有元素的代码为: for(int i = 0;i 关于数组的语法就介绍这么,下面通过一些示例来演示数组的实际使用。
6.java 数组相关操作
你看一下下边的代码。
——————————————————-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Listlist = new ArrayList();
Integer[] array = { 0, 1, 2, 8 };
for (int i = 0; i () {
public int compare(Integer int0, Integer int1) {
return int0.intValue() – int1.intValue();
}
});
Integer[] res = list.toArray(new Integer[0]);
System.out.println(list);
// 去重复
Setset = new HashSet();
set.addAll(list);
System.out.println(set);
Integer[] array2 = set.toArray(new Integer[0]);
list.clear();
list.addAll(Arrays.asList(array2));
int n = 3;
array2 = new Integer[n];
if (n 0) {
int random = (int) (Math.random() * 100) % list.size();
Integer tmp = list.remove(random);
array2[n] = tmp;
}
}
System.out.println(Arrays.asList(array2));
boolean result = fun(array, array2);
System.out.println(result);
}
public static boolean fun(Integer[] arr1, Integer[] arr2) {
Listlist = Arrays.asList(arr1);
for (int i = 0; i
7.Java编程数组概述的内容是什么呢
数组概述 在程序中,如果需要存储一个数值的话,则可以在代码中声明一个变量来进行存储,但是有些时候,为了程序操作的方便,需要将一组相关的数值存储在一起,这就是数组出现的最初原因。
在实际使用时,数组的目的就是存储一组相关的数据,例如棋牌游戏中的一副牌等,从存储数值的角度考虑,其作用是和变量等价的。 则实际使用时,数组名称是一个整体,类似学校里的班级名称,为了能够方便的访问数组中的某个具体的值,对数组中的值进行强制的编号,这个编号称作数组的下标,类似班级中每个学员的序号。
在实际引用数组中的值时,使用数组名称和下标一起进行指定,类似于XX班级序号为n的学员。 为了数组管理的方便,所以在语法上要求数组中存放的每个元素类型必须相同。
数组中的每个具体的数值也称作数组元素。 在内存中,数组存储在连续的区域内部,因为数组中每个元素的类型相同,则占用的内存大小也一致,所以在访问数组中的元素时可以直接根据数组在内存中的起始位置以及下标来计算元素的位置,因此数组的访问速度很高。
实际使用时,每个数组都有长度,为了方便管理,在Java语言中,在初始化数组时,必须指定数组的长度,而且一旦指定,长度就不能改变,除非在重新初始化该数组。 了解了数组以上相关的概念以后,在实际使用数组时,数组的类型、数组的长度以及数组中每个元素的功能,都由程序员根据需要进行指定,这些都需要一定的设计技巧,也是初学者最不熟悉的问题。
这个问题可以简单的这么理解,就像有了一块泥巴,只要你按照规则来做,可以根据你的需要做成任意的结构,制作过程和制作方法都由制作者进行设计。 虽然数组从结构上来看,只是把以前语法中的多个变量存储在一起,通过数组名称组合上下标的方式进行使用,这个简单的变化,将极大的简化程序算法的实现,所以说数组是数据存储方式的很大革新。
或者套用一句时髦的话——“数据存储的一小步,确实算法实现的一大步”。数组的另外一个变革就是下标可以使用变量进行代表,这样在访问数组的值时会更加灵活,这个也是理解数组的关键。
Examda提示: 总结来说,主要有以下几点: 1、数组中的元素类型必须相同。 2、数组的长度一旦指定即不能改变。
3、数组中的值通过数组名和下标组合起来进行访问。
8.java数组的相关操作
刚学java啊?数组知道怎么用就行啦,我觉得实际工作中用的频率不是很高,public static void main(String[] args){ // 如果不一定要用数组的话,我建议用List代替数组操作, // 因为List最后可以转成数组,而且操作灵活 // 先初始化一个5个长度的数组 Object[] arr = new Object[] { 1, 3, 5, 2, 4 }; List list = new ArrayList(); String out = “”; // 装进list里面,用list操作完,转成数组,就是找简单的方式去操作。
for(int i = 0; i < arr.length; i++){ list.add(arr[i]); } // 添加操作 list.add(100); arr = list.toArray(); for(int i = 0; i < arr.length; i++){ out += list.get(i) + (i == arr.length – 1 ? "" : ","); } System.out.println("添加一个100:" + out); // 删除操作,移除索引为1的对象,即把3删除 list.remove(1); arr = list.toArray(); out = ""; for(int i = 0; i < arr.length; i++){ out += list.get(i) + (i == arr.length – 1 ? "" : ","); } System.out.println("删除第二个3:" + out); // 正序排列 Collections.sort(list); arr = list.toArray(); out = ""; for(int i = 0; i < arr.length; i++){ out += list.get(i) + (i == arr.length – 1 ? "" : ","); } System.out.println("正序排列:" + out); // 倒序排列 Collections.reverse(list); out = ""; for(int i = 0; i < arr.length; i++){ out += list.get(i) + (i == arr.length – 1 ? "" : ","); } System.out.println("倒序排列:" + out);}。