Java-数组和字符串
数组
数组是相同类型的数据按顺序组成的一种的复合数据类型
- 一个数组中的类型应该是相同的
- 数组的各个元素是有序的,数组的下标是从0开始的,数组的长度是其包含的数组元素的个数
一、一维数组的声明
数组元素类型 [ ] 数组名;
数组元素类型 数组名[ ];
例如 double [ ] score;或double score [ ];
二、数组的创建
数组声明时,Java不会给数组分配任何空间,仅仅是创建了一个引用数据类型的存取地址。所以在使用数组之前,需要先使用new关键字创建数组
格式: 数组名=new 数组元素的类型[ 数组的长度];
例如 student=new Student;
三、数组的初始化
可以在声明数组的同时初始化
例如: double [ ] score={98.8,85,78,100};
四、数组的长度
score.length指明数组的长度
五、数组的复制
System中的arrayCopy()方法可以将数组中的元素的值复制给另外一个元素,而不改变原数组的值
System.arrayCopy(src,srcPos,dest,destPos,length);
该方法可以将src源数组中从srcPos开始的连续length个元素复制到dest数组的从destPos开始的位置,且从src和dest数组指向不同的内存空间。
六、多维数组
二维数组的声明
数组元素类型 数组名[ ][ ];
数组元素类型 [ ][ ] 数组名;
例如:double score[ ][ ];或doubel [ ][ ] score;
二维数组的初始化
score=new double[4][3];
double score[ ][ ]={{56.78,42.5,96.8}{100,78}{99,63,78,45}};
七、数组类Arrays
- equals()用来比较两个数组是否相等。
- fill()用来以某个值填充整个数组。
- binarySearch()用来在已经排好序的数组中查找数组。
- sort()用来给数组排序。
字符串
Java中使用String类和StringBuffer类封装字符串
String类定义不变字符串,而StringBuffer用来定义可变字符串。
简单来说:String类创建的字符串是不会改变的,而StringBuffer类创建的字符串是可以修改的。
字符串String中的主要方法
方法 | 含义 |
s.length(); | 获取字符串的长度 |
s.charAt(); | 截取一个字符,索引的范围是从0到length-1,charAt(0)是第一个字符,charAt(1)是第二个字符。 |
s.substring(int beginIndex,int endIndex) | 取得子串 |
s.equals(); | 字符串相等比较 |
s.equalsIgnoreCase(); | 忽略大小写的字符串相等的方法 |
s.concat() | 字符串连接 |
s.compareToIgnoreCase() | 按字典顺序比较两个字符串 |
s.replace() | 字符串替换 |
s.toLowerCase() | 字符串大小写转换 |
s.split() | 字符串分割 |
字符串StringBuffer
如果一个字符串需要经常被改变,则需要使用StringBuffered类。
StringBuffer类:用于对象内容可以改变的字符串。
在修改时StringBuffer都是修改自身,而String类则是产生一个新的对象。
一旦通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类。
之后,再使用String类的各种方法操作这个字符串了。
StringBuffer是线程安全的,所以多用在多线程的程序中,但程序的执行效率较慢。