學習Java的Day06

来源:https://www.cnblogs.com/ZhuX-H/archive/2020/06/30/13215964.html
-Advertisement-
Play Games

常用類 string類: 常量都是存在jvm,方法區的常量池當中 String str1 = "123"; String str2 = "123"; System.out.println(str1.equals(str2));//true System.out.println(str1 == str ...


 

常用類

string類:

  常量都是存在jvm,方法區的常量池當中
String str1 = "123";
String str2 = "123";
System.out.println(str1.equals(str2));//true System.out.println(str1 == str2));//true
String str3 = new String("123");
String str4 = new String("123");
System.out.println(str3.equals(str4));//true System.out.println(str3 == str4));//false

string類的構造方法

String s6 = new String(“abc”); //創建String對象,字元串內容為abc

byte[] bys = new byte[]{97,98,99,100};// 創建String對象,把數組元素作為字元串的內容

String s2 = new String(bys);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數length為要幾個元素

String s3 = new String(bys, 1, 3);

System.out.println(s2);//abcd

System.out.println(s3);//bcd//解決請求亂碼時需要用到,在此先做瞭解

String s4 = new String(s3.getBytes("ISO8859-1"), "UTF-8");

char[] chs = new char[]{'a','b','c','d','e'};

String s5 = new String(chs); //創建String對象,把數組元素作為字元串的內容

String s6 = new String(chs, 0, 3);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數count為要幾個元素

System.out.println(s5);//abcd
System.out.println(s6);//abc
獲取字元串的長度
String str = "abcde"; 
int len = str.length(); 
System.out.println(len);//5
截取字元串
String str = "abcde"; 
String s1 = str.substring(1); //返回一個新 字元串,為指定索引後的內容 
String s2 = str.substring(2, 4);//返回一個 新字元串,內容為指定位置開始到指定位置結束所有字 符[2,4) 
System.out.println(s1);//bcde System.out.println(s2);//cd
是否以字元開頭和結尾
String str = "baidu"; 
boolean b2 = str.startsWith("bai"); 
boolean b3 = str.endsWith("du");
索引和包含
String str = "abcde"; //返回指定字元串的索引值,不包含則返回-1 
int index = str.indexOf(“bcd”); //判斷是否包含指定字元串,包含返回true,不包含返 回false
boolean b2 = str.contains("bcd"); 
分割字元串
String s5 = "1-2-3-4-5"; //{"1","2","3","4","5"}
System.out.println(s5.split("-").length); 
String s6 = "www.zhiyou.com"; //{"www","zhiyou","com"} //註意使用.進行分割時候需要使用轉義字元,使用\\. 
System.out.println(s6.split("\\.").lengt h);

 

轉換大小寫字元串
String str = "hElLo";
String big = str.toUpperCase();//HELLO
String small = str.toLowerCase();//hello

 

將字元串指定索引轉換成char
char ch = str.charAt(i);

string類的API

boolean equals(Object obj) 判斷兩個字元串中 的內容是否相同
boolean equalsIgnoreCase(String str) 判 斷兩個字元串中的內容是否相同, 忽略大小寫
boolean contains(String str) 判斷該字元串中 是否包含給定的字元串 
boolean startsWith(String str) 判斷該字元串 是否以給定的字元串開頭
boolean endsWith(String str) 判斷該字元串 是否以給定的字元串結尾 
boolean isEmpty() 判斷該字元串的內容是否為空 的字元串 ""
int length() 獲取該字元串的長度
char charAt(int index) 獲取該字元串中指定位 置上的字元
String substring(int start) 從指定位 置開始,到末尾結束,截取該字元串,返回新字元串 
String substring(int start,int end) 從指定 位置開始,到指定位置結束,截取該字元串,返回新字 符串int indexOf(int ch ) 獲取給定的字元,在該字元 串中第一次出現的位置
int indexOf(String str) 獲取給定的字元串,在 該字元串中第一次出現的位置
int indexOf(int ch,int fromIndex) 從指定位 置開始,獲取給定的字元,在該字元
byte[] getBytes() 把該字元串 轉換成 位元組數組
char[] toCharArray() 把該字元串 轉換成 字元 數組
String replace(char old,char new) 在該字元 串中,將給定的舊字元,用新字元替換
String replace(String old,String new) 在 該字元串中, 將給定的舊字元串,用新字元串替換
String trim() 去除字元串兩端空格,中間的不會去 除,返回一個新字元串
String toLowerCase() 把該字元串轉換成 小寫字 符串
String toUpperCase() 把該字元串轉換成 大寫字 符串
int indexOf(String str,int fromIndex) 從 指定位置開始,獲取給定的字元串,在該字元串中第一 次出現的位置

  

StringBuffer類

  StringBuffer叫做字元串緩衝區,是一個容器,裡面存放了很多字元串

 
添加,插入,刪除,替換
StringBuffer sb = new StringBuffer(); sb.append("haha"); //添加字元串 sb.insert(2, "huhu");//索引為2的地方,插入字 符串 sb.delete(1, 4);//刪除索引為[1,4) sb.replace(1, 4, "heihei");//替換範 圍[1,4)的內容

  

StringBuilder類

此類提供一個與 StringBuffer 相容的 API,但是屬於

線程不安全的,所以效率較高,推薦使用

 

 

List介面

  可以看作是一個容器存儲,只能存儲引用類型,特點是:有序,帶索引,內容可以重覆

ArrayList

  ArrayList是List介面的一個實現類

  是一個容器,容器存放的是引用類型,他能夠實現動態擴容,內部實現是依靠數組實現的,初始化容量是10,當要超出容量的時候,擴容變成原來的1.5倍

創建的格式一般使用多態的形式 List<String> li= new ArrayList<String>();
添加,插入,刪除,替換,查詢
List<String> list = new ArrayList<String>();
//添加 list.add("李雷"); list.add("韓梅梅");
//插入 插入前["李雷","韓梅梅"] list.add(1, "隔壁老王"); //插入元素後的集合["李雷","隔壁老王","韓梅梅"]
//刪除 list.remove(2);// 刪除元素後的集合["李雷","隔壁老王"]
//修改 list.set(1, "隔壁老張");// 修改元素後的集合["李雷","隔壁老張","韓梅梅"]
//通過索引獲取 String str = list.get(0);//獲取李雷

  

遍歷(和數組相同)
for(int i = 0; i < li.size(); i++){
System.out.println(li.get(i));
}
for(String str : li){
System.out.println(str);
}

  

Map介面

Map是集合容器,存放的元素由鍵與值兩部分組成,通過鍵可以找對所對應的值,鍵和值必須是引用類型,鍵唯一不能重覆,沒有順序

HashMap

HashMap是Map的一個實現類map的添加,刪除,查詢//創建Map對象
Map<String, String> map = new HashMa
p<String,String>();//給map中添加元素
map.put("1", "Monday");
map.put("7", "Sunday");
System.out.println(map); //當給Map中添加元素,會返回key對應的原來的value值,若key沒有對應的值,返回null
System.out.println(map.put("1", "Mon")); // Monday
System.out.println(map); // {星期日=Sunday, 星期一=Mon}//根據指定的key獲取對應的value
String en = map.get("1");
System.out.println(en); // Sunday//根據key刪除元素,會返回key對應的value值
String value = map.remove("1");
System.out.println(value); // Sunday
System.out.println(map); // {1=Mon}
map的遍歷

Map<String, String> map = new HashMa p<String,String>();//給map中添加元素 map.put("鄧超", "孫儷"); map.put("李晨", "範冰冰"); map.put("劉德華", "柳岩");//獲取Map中的所有key Set<String> keySet = map.keySet(); for(String key : keySet){ System.out.println(map.get(key)) }

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.隊列是遵循先進先出(FIFO)原則的一組有序的項,隊列在尾部添加元素,並從頂部移除元素,最新添加的元素必須排在隊列的末尾。生活中常見的例子如排隊等。 2.創建一個隊列類 class Queue{ constructor(){ this.count = 0;//記錄隊列的數量 this.lowes ...
  • 一、Socket 1.Socket構造方法 構造方法說明 Socket() 該創建的對象,沒有指定IP地址和埠號,意味著只創建了客戶端對象,並且沒有連接任何伺服器。通過該構造方法創建對象後還需要調用connect(SocketAddress endpoint)方法,才能完成與指定伺服器端的連接,其 ...
  • 現在距離 Python 3.9.0 的最終版本還有 3 個月,官方公佈的時間線是: 3.9.0 beta 4: Monday, 2020-06-29 3.9.0 beta 5: Monday, 2020-07-20 3.9.0 candidate 1: Monday, 2020-08-10 3.9. ...
  • 類載入運行的全過程 當用java命令運行某個main函數時,首先需要類載入器把主類載入到JVM記憶體中。 通過Java命令執行代碼的大致流程為 將編譯好的位元組碼class文件通過java命令,在win操作系統就是一個java.exe文件,這個文件底層是c++語言實現的,通過這個文件調用底層jvm.dl ...
  • mac 使用yarn brew install yarn 安裝全局vue-cli全家桶: yarn global add @vue/cli 驗證: node -v npm -v 打開界面 vue ui 本文由博客一文多發平臺 OpenWrite 發佈! ...
  • 前言 網路上的信息很多,有的時候我們需要關鍵字搜索才可以快速方便的找到我們需要的信息。今天我們實現搜索關鍵字爬取堆糖網上相關的美圖,零基礎學會通用爬蟲,當然我們還可以實現多線程爬蟲,加快爬蟲爬取速度 環境: windows pycharm python3 導入模塊 import urllib.par ...
  • 本文源碼:GitHub·點這裡 || GitEE·點這裡 一、服務間隔離 1、分散式結構 分散式系統架構的明顯特點,就是按照業務系統的功能,拆分成各種服務,每個服務下麵都有自己獨立的資料庫,以此降低業務間的耦合度,隔離不同的資料庫保證系統最大的穩定性等。 例如上圖是電商系統中經典的業務場景,訂單-倉 ...
  • clone 並導入源碼 本地啟動 NameServer 本地啟動 Broker 本地運行生產者與消費者代碼 完成上述步驟之後,RocketMQ的源碼環境就搭建完畢了,之後就可以在本地啟動以及收發消息,調試和分析RocketMQ的源碼了。 clone 並導入源碼 在 github 上選擇對應的的代碼 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...