数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
数据的有点不使用数组定义100个整形变量:int i1int i2int i3
使用数组定义 int i[100]
数组定义:int i[100]只是一个伪代码,只是表示含义的(1)一维数组
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一声明一维数组:数据类型 数组名[]=null非配内存给数组:数组名=new 数据类型[长度]声明形式二声明一维数组:数据类型 [] 数组名=null
(2)java数据类型分为两大类1.基本数据类型int、long操作的时候本身就是具体的内容引用数据类型:数组、类、接口
引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用
2.事例声明数组
数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度。
基本数据类型偶读有其默认值:int 0只要是引用数据类型默认值就是null事例
声明数组的同时分配内存空间声明数组的同时非配内存数据类型 数组名[]=new 数据类型[个数]int score[]=new int[10]声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节
(3)数组的访问
数组中元素的表示方法想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素一直向下,最后一个为score[9]
(4)取得数组的长度在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,数组名称.length--返回一个int类型的数据
(5)数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现静态初始化是指在数组声明后直接为数组指定具体的内容如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n}
范例排序,在操作中排序是比较常用的从大到小
这个时候不要被i值所迷惑 if(score[i]>score[j]){
这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的
(6)二维数组
二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字
其实声明与分配内存的格式如下动态初始化数据类型 数组名[][]数组名=new 数据类型[行的个数][列的个数]
声明并初始化数组数据类型 数组名[][]=new 数据类型[行的个数][列的个数]静态初始化
(7)二维数组的存储声明二维数组score 同时开辟一段内存空间int score[][]=new int[4][3]整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节事例
(8)二维数组静态初始化
用到的时候才会开辟空间,不用的(红色部分)则不开辟空间多维数组一般只是用到二维数组三维数组简单了解
java中数组是没有length()方法的,只有length属性,数组array.length返回的是该数组的长度。
字符串String是有length()方法的,str.length()返回的是该字符串的长度。
扩展资料
java数组常用方法:
1、声明一个数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
2、打印一个数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
3、根据数组创建ArrayList
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String>arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
4、判断数组内部是否包含某个值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
5、连接两个数组
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
6、声明一个内联数组
method(new String[]{"a", "b", "c", "d", "e"})
String常用方法:
1、求字符串某一位置字符
charAt(int index)返回字符串中指定位置的字符;注意字符串中第一个字符索引是0,最后一个是
length()-1。
例如:
String str = new String("asdfzxc");
char ch = str.charAt(4);//ch = z
2、提取子串
用String类的substring方法可以提取字符串中的子串,该方法有两种常用参数:
1)substring(int beginIndex)该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一
个新的字符串返回。
2)substring(int beginIndex, int endIndex)该方法从beginIndex位置起,从当前字符串中取出到
endIndex-1位置的字符作为一个新的字符串返回。
例如:
String str1 = new String("asdfzxc");
String str2 = str1.substring(2);//str2 = "dfzxc"
String str3 = str1.substring(2,5);//str3 = "dfz"
3、字符串比较
1)compareTo(String anotherString)该方法是对字符串内容按字典顺序进行大小比较,通过返回的
整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负
整数,相等返回0。
2)compareToIgnore(String anotherString)与compareTo方法相似,但忽略大小写。
3)equals(Object anotherObject)//比较当前字符串和参数字符串,在两个字符串相等的时候返回
true,否则返回false。
4)equalsIgnoreCase(String anotherString)//与equals方法相似,但忽略大小写。
例如:
String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareToIgnoreCase(str2);//b=0
boolean c = str1.equals(str2);//c=false
boolean d = str1.equalsIgnoreCase(str2);//d=true
4、字符串连接
concat(String str)将参数中的字符串str连接到当前字符串的后面,效果等价于"+"。
例如:
String str = "aa".concat("bb").concat("cc");
相当于String str = "aa"+"bb"+"cc";