Java String函數的使用

文章目錄

  • String
    • 字符串比較
    • 字符串查找
    • 轉化
    • 字符串替換
    • 字符串拆分
    • 字符串截取(常用)
    • 字符串的不可變性

在這里插入圖片描述

String

  1. str本來是字符串常量的引用,應該打印地址,但是編譯器重寫了toString方法,所以打印hello
    在這里插入圖片描述
  2. String 的構造方法
public class test {public static void main(String[] args) {// 用常量字符串構造String s1 = "hello";System.out.println(s1);// 用字符數組構造char[] array = new char[]{'a','b','c'};String s2 = new String(array);System.out.println(s2);char[] array1 = new char[]{'a','b','c'};String s4 = new String(array,0,2);// 從0位置后拿2個字符System.out.println(s4);// 直接newSting對象構造String s3 = new String("hello");System.out.println(s3);}
}
  1. String對象在內存中的情況

在這里插入圖片描述

在這里插入圖片描述
4. 空指針異常和空字符串,isEmpty()判斷是否為空字符串

在這里插入圖片描述

字符串比較

  1. s1 == s2 比較地址
  2. s1.equals(s2)比較是否相等,返回true或者false
  3. s1.compareTo(s2)比較大小
  4. s1.compareToIgonreCase(s2)忽略大小寫比較
public class test {public static void main(String[] args) {String s1 = new String("hello");String s2 = new String("Hello");System.out.println(s1 == s2);// 不等于,s1和s2表示對象的引用都存的是地址System.out.println(s1.equals(s2));System.out.println(s1.compareTo(s2));// s1 大于 s2 返回正數// s1 小于 s2 返回負數// s1 等于 s2 返回0System.out.println(s1.compareToIgnoreCase(s2));// 忽略大小寫比較}
}

字符串查找

  1. char charAt(int index),返回數組中下標對應的字符
public static void main(String[] args) {String s1 = new String("hello");char ch = s1.charAt(1);System.out.println(ch);// e}
  1. int indexOf(char ch),返回第一次出現ch字符的下標
String s2 = new String("hello");int index = s1.indexOf('l');System.out.println(index);// 2
  1. int indexOf(char ch,int k),k表示下標,從指定位置開始查找
String s2 = new String("hello");int index = s1.indexOf('l',3);System.out.println(index);// 3
  1. int indexOf(String s),可以查找子串在主串中出現的位置,如果沒有找到返回-1
String s3 = "ababcdeabcf";int index = s3.indexOf("abc");System.out.println(index);// 2int index1 = s3.indexOf("abc",3);System.out.println(index1);// 7 
  1. int lastIndexOf(String s),倒著往前找,返回第一個找到的下標
 String s3 = "ababcabcd";int index = s3.lastIndexOf("abc");System.out.println(index);// 5int index1 = s3.lastIndexOf("abc",4);System.out.println(index1);// 2// 從4下標位置倒著往前找

轉化

  1. 數字和字符串之間的轉化
 String s2 = String.valueOf(new Student("zhangsan",20));System.out.println(s2);String s3 = String.valueOf(123);System.out.println(s3);String s4 = String.valueOf(123.34);System.out.println(s4);String s5 = String.valueOf(true);System.out.println(s5);// true

在這里插入圖片描述
2. 字符串轉數字

 int a = Integer.parseInt("190");System.out.println(a);int b = Integer.parseInt("19.9");// 錯誤,給的要是整數的字符串

在這里插入圖片描述

  1. 大小寫轉化

小寫轉大寫:toUpperCase
轉變為大寫不是在原有字符串的基礎上轉換,而是轉變為大寫是一個新的對象,不會改變原有的字符串

String s = "hello";String ret = s.toUpperCase();System.out.println(ret);

大寫轉小寫

String s = "HEllo";
String ret = s.toLowerCase();System.out.println(ret);// hello
  1. 字符串轉為數組
String s = "hello";char[] ret = s.toCharArray();System.out.println(Arrays.toString(ret));// [h,e,l,l,o]

數組轉為字符串

char[] ret = {'a','b','c'};String s = new String(ret);System.out.println(s);// abc
  1. 格式轉換
String s = String.format("%d-%d-%d",2019,9,20);
System.out.println(s);// 2019-9-20

字符串替換

  1. 替換字符串

在這里插入圖片描述

  1. 替換單個字符

在這里插入圖片描述
3. 替換第一個ab

在這里插入圖片描述
4. 把所有的ab都替換為123

在這里插入圖片描述

字符串拆分

  1. s.split()以這里面的字符串為標準分割
public static void main(String[] args) {String s = "hello world k";String[] array = s.split(" ");System.out.println(Arrays.toString(array));// [hello,world,k]String s1 = "hello world k";String[] array1 = s.split(" ",2);// 以空格分割最多分成兩組System.out.println(Arrays.toString(array1));// [hello, world k]}
  1. 特殊的情況,使用轉義字符

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

多次分割

在這里插入圖片描述

字符串截取(常用)

  1. substring(a,b) [a,b) a和b均為下標
String str = "hello";
String ret = str.substring(0,3);// hel
  1. 給一個參數,會把后面的全不截取
String str = "hello";
String ret = str.substring(0);// hello
  1. trim(),去掉字符串的左右空格,中間的空格不可去掉

在這里插入圖片描述

字符串的不可變性

  1. 字符串中的value[] 數組是被private修飾的,也沒有提供get方法,在類外是無法拿到的,就無法修改該數組了
  2. 而被final修飾的,只是表明它是常量了,它的引用只能指向一個對象,不能被改變成指向別的對象
  3. 被final修飾的不能被繼承
final int[] array = {1,2,3};
// array = new int[]{1,2};
// 不能改變array的指向了 
array[0] = 2;// 可被修改

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81519.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81519.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81519.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle 11G RAC重啟系統異常

vmware安裝centos7環境部署Oracle RAC (11.2.0.4) 部署時所有資源情況都是正常的,關機重啟虛擬機后集群資源狀態異常,請教CSDN大佬 – 部署規劃 域名地址備注rac16192.168.31.16rac17192.168.31.17rac16vip192.168.31.26viprac17vip192.168.31.27vip…

吉林省CCPC與全國邀請賽(東北地區賽)游記

總述: 本次賽段共獲得一銀(吉林省賽)、一銅(東北地區賽)、一鐵(全國邀請賽的成績)。總體成績跟校內賽的情況相比隊伍狀態與發揮水準都有提升),但也體現出很多不足&#x…

「Python教案」循環語句的使用

課程目標 1.知識目標 能使用for循環和while循環設計程序。能使用循環控制語句,break、continue、else設計程序。能使用循環實際問題。 2.能力目標 能根據需求合適的選擇循環結構。能對嵌套循環代碼進行調試和優化。能利用循環語句設計&am…

OpenCV---findCountours

一、基本概念與用途 findContours是OpenCV中用于在二值圖像中查找輪廓的核心函數。輪廓作為連續的點集,能夠精確勾勒出物體的邊界,廣泛應用于目標檢測、形狀分析、圖像分割等領域。 函數核心價值 目標檢測:通過輪廓定位圖像中的物體&#…

20250523-BUG:無法加載“GameLib/Framework.h“頭文件(已解決)

BUG:無法加載"GameLib/Framework.h"頭文件(已解決) 最近在打開新的C項目時報了這個錯,我是按照以下步驟來排除的BUG,希望對您有所幫助~ 檢查【C/C】-【附加包含目錄】中的路徑有無問題,一般需要加…

商品條形碼查詢接口如何用C#進行調用?

一、什么是商品條碼查詢接口? 1974年6月26日,美國俄亥俄州的一家超市首次使用商品條碼完成結算,標志著商品條碼正式進入商業應用領域。這項技術通過自動識別和數據采集,極大提升了零售行業的作業效率,減少了人工錄入錯…

SD07_NVM的安裝及相關操作

以下是在 Windows 系統 上使用 NVM(Node Version Manager) 管理多個 Node.js 版本的詳細步驟,從零開始操作: 一、準備工作 卸載舊版 Node.js 打開 控制面板 → 程序和功能,找到已安裝的 Node.js 和 npm,徹底…

OSI 深度安全防御體系架構深度剖析

文章目錄 前言什么是 OSI 深度安全防御體系架構各層的安全防御措施物理層數據鏈路層網絡層傳輸層會話層表示層應用層 OSI 深度安全防御體系架構的優勢全方位防護深度防御靈活性和可擴展性 總結 前言 大家好,我是沛哥兒。今天咱們來深入探討一下 OSI 深度安全防御體…

大模型應用:開發移動端頁面個人中心頁面提示詞

角色 你是一個移動端web頁面開發專家,擅長開發移動端頁面,使用原生web技術(html,css,js),開發的頁面針對手機移動端友好 技術棧 使用基礎的Html,CSS,JavaScript方案實現&#xff…

從零到一:影刀RPA學習者的破局之路

1. 學習目標與預期差距分析 1.1 官方課程學習目標梳理 影刀RPA的官方課程旨在幫助學習者掌握RPA(機器人流程自動化)的基本概念、操作技能和常見應用場景。課程內容通常包括: RPA基礎理論:介紹RPA的定義、優勢、發展歷程以及與其…

計算機組成與體系結構:硬盤驅動器(Hard Disk Drives)

目錄 💽 硬盤驅動器(HDD):傳統的固定輔助存儲設備 什么是硬盤驅動器? 硬盤的工作原理 HDD 的物理結構 Disk Pack(盤組) Tracks(磁道) Cylinders(柱面&…

GitCode鏡像倉庫批量下載開發實錄

GitCode作為國內領先的開源代碼托管平臺,其鏡像倉庫批量下載功能對開發者生態建設與開源協作效率提升具有關鍵價值。本文基于企業級代碼資產管理需求,系統記錄從需求分析到生產部署的全周期開發實踐。內容覆蓋鏡像倉庫同步機制設計、分布式任務調度優化、…

基線配置管理:為什么它對網絡穩定性至關重要

什么是基線配置(Baseline Configuration) 基線配置(Baseline Configuration)是經過批準的標準化主設置,代表所有設備應遵循的安全、合規且運行穩定的配置基準,可作為評估變更、偏差或未授權修改的參考基準…

AJAX get請求如何提交數據呢?

在 AJAX 中使用 GET 請求提交數據,主要通過 在 URL 后拼接查詢參數 的方式實現,具體步驟如下: 1.構造帶參數的 URL 將數據以 鍵值 的形式拼接在 URL 后,多個參數間用 & 連接。例如: var url "https://exa…

基于FashionMnist數據集的自監督學習(對比式自監督學習SimCLR算法)

目錄 一,對比式自監督學習 1.1 簡介 1.2 常見算法 1.2.1 SimCLR (2020) 1.2.2 MoCo (2020) 1.2.3 BYOL (2021) 1.2.4 SimSiam (2021) 1.2.5 CLIP (2021) 1.2.6 DINO (2021) 1.2.7 SwAV (2020) 二,代碼邏輯分析 2.1 整體目標與流程 2.2 數據…

Linux:基礎指令與內涵理解(下)與權限

1.mv 作用:將文件移動、文件重命名 語法: mv (選項) 源文件/目錄 目標文件/目錄 (1)將文件/目錄移動到當前目錄的新文件/目錄(也就是重命名操作) 這里我們mv了test.txt文件到當前目錄下當前并不存在的ln.tx…

卷積神經網絡(CNN)入門學習筆記

什么是 CNN? CNN,全稱 卷積神經網絡(Convolutional Neural Network),是一種專門用來處理圖片、語音、文本等結構化數據的神經網絡。 它模仿人眼識別圖像的方式: 從局部到整體,一步步提取特征&a…

c#基礎07(調試與異常捕捉)

文章目錄 調試與異常捕捉調試異常處理C#中的異常類異常處理拋出對象 調試與異常捕捉 很多時間,寫代碼不能一擼到底,中間都是經歷過無數次的調試,才能正常正確的運行起來。.Net調試有很多方法和技巧。 調試 在C#中程序調試主要指在Visual S…

一種比較精簡的協議

鏈接地址為:ctLink: 一個比較精簡的支持C/C的嵌入式通信的中間協議。 本文采用的協議格式如下 *幀頭 uint8_t 起始字節:0XAF\ *協議版本 uint8_t 使用的協議版本號:當前為0X01\ *負載長度 uint8_t 數據段內容長…

【windwos】文本編輯器Notepad++ 替代品Notepad--

一、N和N--對比介紹 曾經備受推崇的「Notepad」曾是Windows上的經典代碼編輯器。然而,作者的一些政治言論已經讓它被廣大中國用戶拋棄。 一個名為「Notepad--」的新編輯器,也是開源免費,功能和實用性也在盡可能接近。與此同時,「N…