java基礎教程之字符串的介紹,比較重要的一個知識點「四」

2020-12-25 特瑞王

1、判斷字符串的開始與結尾

startsWith()方法與endsWith()方法分別用於判斷字符串是否以指定的內容開始或結束。這兩個方法的返回值都為boolean類型。

startsWith()方法

該方法用於判斷當前字符串對象的前綴是否是參數指定的字符串。

語法:

str.startsWith(Stringprefix)

prefix:作為前綴的字符。

endsWith()方法

該方法用於判斷當前字符串是否是以給定的子字符串結束。

語法:

str.endsWith(Stringsuffix)

suffix:作為後綴的字符串。

在項目中創建類StartOrEnd,在主方法中創建String型變量,並判斷變量的前導和後置字符串。

publicclassStartOrEnd { // 創建類

publicstaticvoidmain(String args[]) { // 主方法

String num1 = "22045612"; // 定義字符串num1

String num2 = "21304578"; // 定義字符串num2

booleanb = num1.startsWith("22"); // 判斷字符串num1是否以』22』開頭

booleanb2 = num1.endsWith("78"); // 判斷字符串num1是否以』78』開頭

booleanb3 = num2.startsWith("22"); // 判斷字符串num2是否以』22』開頭

booleanb4 = num2.endsWith("78"); // 判斷字符串num2是否與』78』開頭

// 輸出信息

System.out.println("字符串num1是以'22'開始的嗎?" + b);

System.out.println("字符串num1是以'78'結束的嗎?" + b2);

System.out.println("字符串num2是以'22'開始的嗎?" + b3);

System.out.println("字符串num2是以'78'結束的嗎?" + b4);

}

}

運行的結果如圖1所示。

圖1 運行結果

2、判斷字符串是否相等

字符串作為對象如對其進行比較不能簡單的使用比較運算符「==」,因為比較運算符比較的是兩個字符串的地址是否相同。即使兩個字符串的內容相同,但兩個對象的內存地址是不同的。使用比較運算符仍然會返回false。

使用比較運算符比較兩個字符串,實例代碼如下:

String tom = newString("Iam a student");

String jerry = newString("Iam a student");

booleanb = (tom == jerry);

此時布爾型變量b的值為false,因為字符串是對象,tom、jerry是引用,內存示意圖如圖1所示。

圖1 內存示意圖

因此要比較兩個字符串內容是否相等,應使用equals()方法和equalsIgnoreCase()方法。

equals()方法

如果兩個字符串具有相同的字符和長度,則使用equals()方法進行比較時,則返回true。

語法:

str.equals(Stringotherstr)

str、otherstr:參加比較的兩個字符串對象。

equalsIgnoreCase()方法

使用equals()方法對字符串進行比較時,是區分大小寫的。而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個字符串是否相等。返回結果仍為boolean類型。

語法:

str.equalsIgnoreCase(Stringotherstr)

str、otherstr:參加比較的兩個字符串對象。

通過下面的例子可以看出equals()方法和equalsIgnoreCase()方法的區別。

在項目中創建類Opinion,在主方法中創建String型變量,實現判斷兩個字符串是否相等,並將結果輸出。

publicstaticvoidmain(String args[]) { //主方法

String s1 = new String("abc"); //創建字符串對象s1

String s2 = new String("ABC"); //創建字符串對象s2

String s3 = new String("abc"); //創建字符串對象s3

booleanb = s1.equals(s2); //使用equals()方法比較s1與s2

booleanb2 = s1.equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比較s1與s2

System.out.println(s1+ " equals " + s2 + " :" + b); //輸出信息

System.out.println(s1+ " equalsIgnoreCase " + s2 + " :" + b2);

}

}

運行結果如圖2所示。

圖2 運行結果

3、按字典順序比較兩個字符串

compareTo()方法為按字典順序比較兩個字符串,該比較基於字符串中各個字符的Unicode值。按字典順序將此String對象表示的字符序列與參數字符串所表示的字符序列進行比較。如果按字典順序此String對象位於參數字符串之前,則比較結果為一個負整數;如果按字典順序此String對象位於參數字符串之後,則比較結果為一個正整數;如果這兩個字符串相等,則結果為0。

語法:

str.compareTo(Stringotherstr)

str、otherstr:參加比較的兩個字符串對象。

說明:compareTo()方法只有在equals(Object)方法返回true時才返回0。

在項目中創建類Wordbook,在主方法中創建String變量,使用compareTo()方法將字符變量進行比較。並將比較結果輸出。

publicclassWordbook { //創建類

publicstaticvoidmain(String args[]) { //主方法

String str = new String("b");

String str2 = new String("a"); //用於比較的3個字符串

String str3 = new String("c");

System.out.println(str+ " compareTo " + str2 + ":"

+ str.compareTo(str2)); //將str與str2比較的結果輸出

System.out.println(str+ " compareTo " + str3 + ":"

+ str.compareTo(str3)); //將str與str3比較的結果輸出

}

}

運行結果如圖1所示:

圖1 運行結果

今天就寫這麼多,後邊繼續寫吧,字符串這邊比較重要,內容就寫詳細點吧!

相關焦點

  • JAVA基礎之字符串替換的講解
    JAVA基礎之字符串替換的講解 本文介紹的是關於java程序設計語言中字符串的講解,希望對你有幫助,一起來看。下面介紹java中的字符串替換。最近在java開發的過程中用到了字符串的替換,本來覺得挺簡單的問題,卻總也解決不了。字符串明明是替換了,卻總也輸出不了正確結果,很是鬱悶,到底是為什麼呢?
  • 淺談Java中字符串的初始化及字符串操作類
    對於這種直接通過雙引號""聲明字符串的方式, 虛擬機首先會到字符串常量池中查找該字符串是否已經存在. 如果存在會直接返回該引用, 如果不存在則會在堆內存中創建該字符串對象, 然後到字符串常量池中註冊該字符串。在本案例中虛擬機首先會到字符串常量池中查找是否有存在"hello"字符串對應的引用.
  • Java之字符串內容的比較
    各位小夥伴們大家好,這次小編要介紹的是,Java當中字符串的比較的相關方法。在之前的文章中,小編有介紹過,對於引用數據類型來說,==是進行地址值的比較,其實也可以對字符串的內容進行比較,有兩個方法:方法一:public Boolean equals(Object obj);(參數可以是任何對象,只有參數是一個字符串並且內容相同時才會是true,否則返回false
  • php字符串常用處理,運算符和幾個常用的字符串函數
    本篇將介紹php字符串常用處理,運算符和幾個常用的字符串函數。有興趣的朋友可以了解一下!php是一門很受歡迎的程式語言之一,由於它的語法簡單易學,迎來了一大批的自學者,小編就是其中一個。php確實相當於其它語言(java、c#等等)比較簡單,但是對一個毫無程式語言基礎的人來說,還是有一定難度的。
  • Java之字符串替換replace()
    replace(char oldChar, char newChar)返回一個新的字符串,它是通過用 newChar 替換此字符串中出現的所有
  • 一文讀懂 Java 字符串相關知識點和常見面試題
    String 類有 11 種構造方法,這些方法提供不同的參數來初始化字符串,比如提供一個字符數組參數:StringDemo.java 文件代碼:public class StringDemo{ public static void main(String args[]){ char[] helloArray = { 'r', 'u', 'n',
  • 字符串本地化
    在本地化字符串時,根據語法規則為每一種類型的語句定義一個可本地化的字符串是非常重要的。假設你在應用中需要顯示「Paul invited you」和「You invited Paul」,那麼只本地化格式化字符串「%@ invited %@」看起來是個不錯的選擇,這樣在合適的時候把「you」本地化之後插入進去就可以完成任務。
  • Java基礎之字符串及——String
    Java基礎之字符串操作——String 字符串什麼是字符串?我們可以用烤串來比喻說明,可以把字符串看作是烤串,烤串上的每一塊肉都相當於是一個字符。把一塊塊肉按照肥瘦相間的順序排列並串起來便成了我們吃的烤串,同理,把多個字符按照一定的順序「串」起來就構成了字符串。
  • Java之字符串的分割方法
    各為小夥伴們大家好,這次小編要介紹的是,在Java當中,字符串的分割方法。在之前的文章中,小編介紹了字符串的截取方法Java之字符串的截取方法,這兩種方法是不同的,一種是截取其中的一部分,另一種是根據特定的規則把字符串分割成一小部分,逐一列印輸出。
  • Golang語言之字符串操作
    %o八進位整數%b二進位整數%f,%g,%e浮點數%t布爾值%c字符%s字符串%q帶雙引號的字符串%v內置格式內容%T類型%p內存地址%%字符%\n換行\t縮進文章內容主要以代碼注釋講解相關知識點如有紕漏,後續會在「Go 語言研究院」https://www.golanghub.cn 修正。如果文章對您有所幫助,還請關注公眾號給予支持。
  • Java之字符串的截取方法
    各為小夥伴們大家好,這次小編要介紹的是字符串的截取方法。具體如下:1.public String substring(int index) 從參數位置到字符串末尾反回,會出現新的字符串。2.public String substring(int begin, int end):從begin開始一直到end結束。
  • 通俗易懂的 Redis 的 5 種數據結構基礎教程
    點擊上方「芋道源碼」,選擇「置頂公眾號」技術文章第一時間送達!
  • 如何獲取PHP字符串的最後n個字符
    源 / php中文網      源 / www.php.cn編寫一個PHP程序來獲取給定字符串的最後n個字符。例子:輸入: $str = "HTML!CSS!MySQL!PHP!"方法1:在此方法中,遍歷字符串的最後N個字符並繼續將它們附加到新字符串中。例:<?php    $str = "HTML!CSS!MySQL!PHP!"
  • 字符串: KMP是時候上場了(一文讀懂系列)
    所以叫做KMPKMP有什麼用KMP主要應用在字符串匹配上。KMP的主要思想是「當出現字符串不匹配時,可以知道一部分之前已經匹配的文本內容,可以利用這些信息避免從頭再去做匹配了。」為了清楚的了解前綴表的來歷,我們來舉一個例子:要在文本串:aabaabaafa中查找是否出現過一個模式串:aabaaf。請記住文本串和模式串的作用,對於理解下文很重要,要不然容易看懵。
  • 如何在Java中輕鬆地將字符串轉換為Integer
    在Java中有兩種將字符串轉換為Integer的方法, 使用Integer.parseInt()到Integer的字符串 使用Integer.value eOf()到Integer的字符串假設您有一個字符串-strTest-包含一個數值。
  • java之小小的基礎知識點
    一.如何編寫java程序呢?1.新建一個java工程2.新建一個包名 新建一個java類 包的命民 :域名的反向 www.百度.com com.百度.www3.編寫內容4.在類中的空白處 右擊運行java 選擇run as java application詳情請參考:
  • php字符串函數匯總
    — 返回字符串所用字符的信息crc32 — 計算一個字符串的 crc32 多項式crypt — 單向字符串散列echo — 輸出一個或多個字符串explode — 使用一個字符串分割另一個字符串fprintf — 將格式化後的字符串寫入到流get_html_translation_table — 返回使用 htmlspecialchars
  • java基礎案例之java語言運算符算術賦值比較邏輯三元和位運算
    java運算符包含以下6種:1:算術運算符。 2:賦值運算符。 3:比較運算符。 4:邏輯運算符。 5:位運算符。 6:三元運算符。"5+5="+5+5);//結果輸出5+5=55.字符串連結這裡55不是五十五,是五五,加號是連接符,不是加法運算//字符串數據,和任何數據使用+(加號)都是相連接,最終都會變成字符串小知識點:轉義符反斜槓 \ ;通過\來轉變後面字母或符號的含義
  • Java基礎教程:Java之Object類,Objects類,Date類概念及使用!
    Object類概述java.lang.Object類是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。在對象實例化的時候,最終找的父類就是Object。如果一個類沒有特別指定父類, 那麼默認則繼承自Object類。
  • java之字符緩衝輸出流,BufferedWriter的簡單介紹
    各位小夥伴們,大家好在之前的文章中小編介紹了字節緩衝流的相關知識,這次小編要介紹的是字符緩衝輸出流,BufferedWriter,具體如下:java.io.BufferedWriter extends Writer