摘要:知識點總結常用類字符類知識點總結常用類類型用來比奧斯在編碼中的字符。使用給定中的字符替換此序列的子字符串中的字符。將此字符序列用其反轉形式取代。返回最右邊出現的指定子字符串在此字符串中的索引。
Java知識點總結(常用類-字符類)
@(Java知識點總結)[Java, Java常用類]
[toc]
Charchar類型用來比奧斯在Unicode編碼中的字符。Unicode用來處理各種語言的所有文字,它占2個字節,0~65535。
單引號用來表示字符常量,表示一個字符,它與"a"不同,”a"表示含有一個字符的字符串。
char c1 = "a";
Java語言中還允許使用轉義字符 ‘’ ,來將其后的字符轉義為其他的含義
char c2 = "n"; //代表換行符
char是在0~65535范圍,運算時直接當作整數來運算??梢园?~65535直接的整數直接轉型為char
char c3 = "a"; int i = c3+2; System.out.println(i); //99 char c4 = (char) i; System.out.println(c4); //c不可變字符序列:String String類
String類在java.lang包中,java使用String類創建一個字符串變量,字符串變量屬于對象
java把String類聲明的final類,不能有類
String類對象創建后不能修改,由0或多個字符組成,包含在一對雙引號之間
public final class String
implements java.io.Serializable, Comparable, CharSequence { /** The value is used for character storage. */ private final char value[]; //聲明一個不可變數組用來存放字符 public String(String original) { this.value = original.value; this.hash = original.hash; }
public String(char value[]) {
this.value = Arrays.copyOf(value, value.length); }String類構造方法
水果 | 價格 |
---|---|
public String() | 無參構造方法,用來創建空字符串的String對象 |
public String(String str) | 用已知的字符串str創建一個String對象 |
public String(char[] chars) | 用字符數組chars創建一個String對象 |
public String(byte[] bytes) | 用byte數組bytes創建一個String對象 |
public String(char[] chars, int startIndex, int numChars) | 用字符數組chars的startIndex開始的numChars個字符創建一個String對象 |
public String(StringBuffer buffer) | 用StringBuffer 創建一個String對象 |
public class Demo1 { // String 對象的創建 public static void test1() { String s = "apple"; String s1 = new String(); String s2 = new String("apple"); String s3 = new String(s2); byte[] bytes = new byte[] {1,2,3}; String s4 = new String(bytes); char[] chars = { "a", "b", "c", "d", "e","f" }; String s5 = new String(chars); // abcdef String s6 = new String(chars, 1, 4); //bcde } // 常用方法 public static void test2(){ String s1 = "apple"; String s2 = " a,p,p l e "; System.out.println(s1+s2); //字符串連接 System.out.println(s1.length()); //字符串長度 System.out.println(s1.charAt(2)); // 獲取指定未知的字符 char[] charArray = s1.toCharArray(); //轉換為char[] System.out.println(s1.substring(1, 3)); //截取字符串 String[] ss = s2.split(","); // 用,分割字符串 for (String s : ss) { System.out.println(s); } System.out.println(s2.trim()); //去掉兩端的空格 if (s1.equals(s2)) { //字符串比較 System.out.println(s1+"=="+s2); }else { System.out.println(s1+"!="+s2); } String s3 = "java is a good computer language"; System.out.println(s3.indexOf("o")); //用于查找當前字符串中字符或子串,返回字符或子串在當前字符串中從左邊起首次出現的位置,若沒有出現則返回-1。 System.out.println(s3.indexOf("o",13)); // 從13開始向右查找 System.out.println(s3.indexOf("good")); //查找字符串 System.out.println(s3.lastIndexOf("o")); //從右往左查找 System.out.println(s3.toUpperCase()); //轉大寫字母 System.out.println(s3.startsWith("a")); //s3是否以a開頭 System.out.println(s3.contains("good")); //s3是否包含"good" } // 字符串與基本類型的轉換 public static void test3(){ //字符類型轉為基本類型 System.out.println(Integer.parseInt("123")); System.out.println(Double.parseDouble("123.4")); System.out.println(Float.parseFloat("123.456f")); // 基本類型轉為字符類型 System.out.println(String.valueOf(123.4)); //進制轉換 String binaryString = Long.toBinaryString(123); //二進制 String octalString = Long.toOctalString(123); //8 String hexString = Long.toHexString(123); //16 String string = Long.toString(123,16); //任意進制 System.out.println(binaryString); System.out.println(octalString); System.out.println(hexString); System.out.println(string); } public static void main(String[] args) { test2(); test3(); } }可變字符序列:StringBuilder、StringBuffer StringBuilder(線程不安全,效率高)
public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ public StringBuilder() { super(16); } public StringBuilder(String str) { super(str.length() + 16); append(str ); } public AbstractStringBuilder append(String str ) { if (str == null) return appendNull(); int len = str.length(); ensureCapacityInternal(count + len); str.getChars(0, len, value, count); count += len; return this; } private void ensureCapacityInternal(int minimumCapacity) { // overflow-conscious code if (minimumCapacity - value.length > 0) expandCapacity(minimumCapacity); } void expandCapacity(int minimumCapacity) { //數組擴容 int newCapacity = value .length * 2 + 2; if (newCapacity - minimumCapacity < 0) newCapacity = minimumCapacity; if (newCapacity < 0) { if (minimumCapacity < 0) // overflow throw new OutOfMemoryError(); newCapacity = Integer.MAX_VALUE; } value = Arrays.copyOf(value, newCapacity); }StringBuffer(線程安全,效率低)
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence { @Override public synchronized int length() { return count; } @Override public synchronized int capacity() { return value.length; }使用
public class Demo2 { public static void main(String[] args) { test2(); } // 新建對象 private static void test1() { StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(20); StringBuffer sb3 = new StringBuffer("apple"); } // 常用方法 private static void test2() { StringBuffer sb = new StringBuffer(); sb.append("java"); //字符串表示形式追加到序列 sb.append("is a good computer language"); System.out.println(sb.toString()); //轉換為string System.out.println(sb.charAt(11)); //返回此序列中指定索引處的 char 值 sb.delete(3, 15); //移除此序列的子字符串中的字符 System.out.println(sb.toString()); char[] chars = new char[20]; sb.getChars(4, 11,chars, 0); //將字符從此序列復制到目標字符數組 dst。 System.out.println(new String(chars)); System.out.println(sb.charAt(9)); //返回第一次出現的指定子字符串在該字符串中的索引。 System.out.println(sb.insert(2, "6666").toString()); //將字符串插入此字符序列中。 System.out.println(sb.replace(2, 6, "888")); //使用給定 String 中的字符替換此序列的子字符串中的字符。 System.out.println(sb.reverse()); //將此字符序列用其反轉形式取代。 System.out.println(sb.lastIndexOf("8")); //返回最右邊出現的指定子字符串在此字符串中的索引。 System.out.println(sb.substring(5,15).toString()); //返回一個新的字符序列,該字符序列是此序列的子序列。 System.out.println(sb.length()); //返回長度 } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69139.html
摘要:知識點總結常用類包裝類知識點總結常用類包裝類是一個面向對象的語言,但是中的基本數據類型卻不是面向對象的。但是我們在實際使用中經常將基本數據類型轉換成對象,便于操作。 Java知識點總結(常用類-包裝類) @(Java知識點總結)[Java, Java常用類] [toc] 包裝類(wrapper) Java是一個面向對象的語言,但是Java中的基本數據類型卻不是面向對象的。但是我們在實際...
摘要:知識點總結常用類類知識點總結常用類在標準類庫中包含一個類。它的對象表示一個特定的瞬間,精確到毫秒。中時間的表示說白了也是數字,是從標準紀元點開始到某個時刻的毫秒數,類型是。 Java知識點總結(常用類-Date類) @(Java知識點總結)[Java, Java常用類] [toc] 在標準Java類庫中包含一個Date類。它的對象表示一個特定的瞬間,精確到毫秒。 Java中時間的表...
摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...
閱讀 2484·2023-04-25 19:24
閱讀 1700·2021-11-11 16:54
閱讀 2833·2021-11-08 13:19
閱讀 3547·2021-10-25 09:45
閱讀 2552·2021-09-13 10:24
閱讀 3276·2021-09-07 10:15
閱讀 4014·2021-09-07 10:14
閱讀 2950·2019-08-30 15:56