数组、字符、字符串

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 方法能对排序好的数组进行二分查找法操作。
  1. public static int binarySearch(Object[] a, Object key)
    用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
  2. public static boolean equals(long[] a, long[] a2)
    如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
  3. 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等)。
  4. 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 方法
  1. char charAt(int index)【重要,指定位置的字符】

  2. int indexOf(int ch)【重要,指定字符出现位置】
    int indexOf(int ch, int fromIndex)
    int indexOf(String str)
    int indexOf(String str, int fromIndex)

  3. char[] toCharArray()【重要,转成char[]】
    将此字符串转换为一个新的字符数组。

  4. static String **copyValueOf**(char[] data)【重要,char[]转String】
    

static String copyValueOf(char[] data, int offset, int count)
offset – 子数组的初始偏移量。。
count – 子数组的长度。

  1. boolean **matches**(String regex)【重要,正则匹配】
    

告知此字符串是否匹配给定的正则表达式。

  1. String replace(char oldChar, char newChar)【重要,新字符替换指定旧字符】
    String replaceAll(String regex, String replacement【重要,替换匹配正则对旧字符】
    使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

  2. String[] split(String regex)【重要,根据正则分割】
    String[] split(String regex, int limit)
    limit是拆成几份;
    根据给定正则表达式的匹配拆分此字符串。

  3. String substring(int beginIndex, int endIndex)【重要,返回子字符串】
    返回一个新字符串,它是此字符串的一个子字符串。
    beginIndex – 起始索引(包括)。
    endIndex – 结束索引(不包括)。

  4. String **trim**()【实用,去前后空格】
    

返回字符串的副本,忽略前导空白和尾部空白。

  1. static String valueOf(primitive data type x)【实用,data类型转String】
    返回给定data type类型x参数的字符串表示形式。

  2. int compareTo(String anotherString)
    int compareToIgnoreCase(String str)
    按字典顺序比较两个字符串。计算这两个不同字符的ASCII码的差,作为返回值。(第二个不考虑大小写。)
    如果参数字符串等于此字符串,则返回值 0;
    如果此字符串小于字符串参数,则返回一个小于 0 的值;
    如果此字符串大于字符串参数,则返回一个大于 0 的值。

  3. boolean equals(Object anObject)
    boolean equalsIgnoreCase(String anotherString)
    如果给定对象与字符串相等,则返回 true;否则返回 false。
    返回指定数组中表示该字符序列的 String。

  4. boolean endsWith(String suffix)
    测试此字符串是否以指定的后缀结束。

  5. byte[] getBytes()
    byte[] getBytes(String charsetName)
    使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

  6. int hashCode()
    返回此字符串的哈希码。

  7. int lastIndexOf(int ch)
    int lastIndexOf(int ch, int fromIndex)
    int lastIndexOf(String str)
    int lastIndexOf(String str, int fromIndex)
    返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

  8. boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
    测试两个字符串区域是否相等。
    ignoreCase – 如果为 true,则比较字符时忽略大小写。
    toffset – 此字符串中子区域的起始偏移量。
    other – 字符串参数。
    ooffset – 字符串参数中子区域的起始偏移量。
    len – 要比较的字符数。

  9. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
    将字符从此字符串复制到目标字符数组。
    srcBegin – 字符串中要复制的第一个字符的索引。
    srcEnd – 字符串中要复制的最后一个字符之后的索引。
    dst – 目标数组。
    dstBegin – 目标数组中的起始偏移量。

  10. String toUpperCase()
    String toLowerCase()
    转大小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值