1.数组foreach 循环
JDK 1.5 引进了一种新的循环类型,被称为 foreach 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}
注意:foreach不能代替for语句,因为foreach不能修改数组中内容。
2.Arrays 类
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
- public static int binarySearch(Object[] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。 - public static boolean equals(long[] a, long[] a2)
如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 - public static void fill(int[] a, int val)
public static void fill(int[] a, int index, int end, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 - public static void sort(Object[] a)
public static void fill(int[] a, int index, int end, int val)
对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
3.Java Character 类【字符】
3.1 实例
char ch = 'a';
// Unicode 字符表示形式
char uniChar = '\u039A';
// 字符数组
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };
// 使用Character的构造方法创建一个Character类对象
Character ch = new Character('a');
// 自动装箱
Character ch = 'a';
3.2 转义序列
\t 在文中该处插入一个tab键
\b 在文中该处插入一个后退键
\n 在文中该处换行
\r 在文中该处插入回车
\f 在文中该处插入换页符
’ 在文中该处插入单引号
" 在文中该处插入双引号
\\ 在文中该处插入反斜杠
注意:
\r: return 到当前行的最左边。
\n: newline 向下移动一行,并不移动左右。
Linux中\n表示:回车+换行;
Windows中\r\n表示:回车+换行。
Mac中\r表示:回车+换行。
3.3 Character 方法【重点】
| 序号 | 方法 |
| ------------- |: -----|
| 1 | isLetter()是否是一个字母 |
| 2 | isDigit()是否是一个数字字符 |
| 3 | isWhitespace()是否是一个空格 |
| 3 | isUpperCase() 是否是大写字母 |
| 3 | isLowerCase() 是否是小写字母 |
| 3 | toUpperCase() 指定字母的大写形式 |
| 3 | toLowerCase()指定字母的小写形式 |
| 3 | toString() 返回字符的字符串形式,字符串的长度仅为1 |
4.Java String 类
String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
4.1 连接字符串
//offset - 要解码的第一个 byte 的索引
//length - 要解码的 byte 数
string1.concat(string2);
"Hello," + " runoob" + "!"
//charsetName - 受支持 charset 的名称
String(byte[] bytes, int offset, int length, Charset charset) ;
String(int[] codePoints, int offset, int count);
String(StringBuffer buffer);
String(StringBuilder builder);
4.2 String 方法
-
char charAt(int index)【重要,指定位置的字符】
-
int indexOf(int ch)【重要,指定字符出现位置】
int indexOf(int ch, int fromIndex)
int indexOf(String str)
int indexOf(String str, int fromIndex) -
char[] toCharArray()【重要,转成char[]】
将此字符串转换为一个新的字符数组。 -
static String **copyValueOf**(char[] data)【重要,char[]转String】
static String copyValueOf(char[] data, int offset, int count)
offset – 子数组的初始偏移量。。
count – 子数组的长度。
-
boolean **matches**(String regex)【重要,正则匹配】
告知此字符串是否匹配给定的正则表达式。
-
String replace(char oldChar, char newChar)【重要,新字符替换指定旧字符】
String replaceAll(String regex, String replacement【重要,替换匹配正则对旧字符】
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 -
String[] split(String regex)【重要,根据正则分割】
String[] split(String regex, int limit)
limit是拆成几份;
根据给定正则表达式的匹配拆分此字符串。 -
String substring(int beginIndex, int endIndex)【重要,返回子字符串】
返回一个新字符串,它是此字符串的一个子字符串。
beginIndex – 起始索引(包括)。
endIndex – 结束索引(不包括)。 -
String **trim**()【实用,去前后空格】
返回字符串的副本,忽略前导空白和尾部空白。
-
static String valueOf(primitive data type x)【实用,data类型转String】
返回给定data type类型x参数的字符串表示形式。 -
int compareTo(String anotherString)
int compareToIgnoreCase(String str)
按字典顺序比较两个字符串。计算这两个不同字符的ASCII码的差,作为返回值。(第二个不考虑大小写。)
如果参数字符串等于此字符串,则返回值 0;
如果此字符串小于字符串参数,则返回一个小于 0 的值;
如果此字符串大于字符串参数,则返回一个大于 0 的值。 -
boolean equals(Object anObject)
boolean equalsIgnoreCase(String anotherString)
如果给定对象与字符串相等,则返回 true;否则返回 false。
返回指定数组中表示该字符序列的 String。 -
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。 -
byte[] getBytes()
byte[] getBytes(String charsetName)
使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 -
int hashCode()
返回此字符串的哈希码。 -
int lastIndexOf(int ch)
int lastIndexOf(int ch, int fromIndex)
int lastIndexOf(String str)
int lastIndexOf(String str, int fromIndex)
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 -
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
测试两个字符串区域是否相等。
ignoreCase – 如果为 true,则比较字符时忽略大小写。
toffset – 此字符串中子区域的起始偏移量。
other – 字符串参数。
ooffset – 字符串参数中子区域的起始偏移量。
len – 要比较的字符数。 -
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。
srcBegin – 字符串中要复制的第一个字符的索引。
srcEnd – 字符串中要复制的最后一个字符之后的索引。
dst – 目标数组。
dstBegin – 目标数组中的起始偏移量。 -
String toUpperCase()
String toLowerCase()
转大小写