Java学习记录(补充三:String类)
生活随笔
收集整理的這篇文章主要介紹了
Java学习记录(补充三:String类)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
String類的基本概念
package day6;import java.util.Arrays;public class Demo02 { public static void main(String[] args) {//基本數據類型的存儲區域在棧中,//每一個數據都是相互獨立存在的// == 比較的是兩個數據的大小int i = 5;int j = 5;System.out.println(i == j);//數組是引用數據類型//數據占用兩塊空間, 棧和堆//棧中存放數組數據在堆中存在的首地址(數組名)//堆里面存放的是數組數據int []arr1 = new int[2];arr1[0] = 1;arr1[1] = 2;int []arr2 = new int[2];arr2[0] = 1;arr2[1] = 2;System.out.println(arr1 == arr2);System.out.println(Arrays.equals(arr1, arr2));//普通的聲明字符串的方法,只會在字符串常量池里開辟空間//并且開辟空間之前,會檢查字符串常量池里是否已經存在相同的數據,如果有,//直接指向已經存在的數據,如果沒有//胡子哎字符串常量池里開辟一個新的空間String s = "ccy";String s2 = "ccy";System.out.println(s == s2);String s3 = new String("jereh");String s4 = new String("jereh");System.out.println(s3 == s4);} }
package day6;import java.util.Scanner;public class Demo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("請輸入用戶名:");String name = scanner.next();System.out.println("請輸入密碼:");String pwd = scanner.next();if(pwd.length()>=6){//equals()方法:比較是否相等 equalsIgnoreCase():忽略大小寫if(name.equalsIgnoreCase("Tom")&&pwd.equals("1234567")){System.out.println("登陸成功");}else{System.out.println("用戶名或密碼不匹配,登錄失敗!");}}else{System.out.println("密碼長度不能小于6位!");}scanner.close();//用完之后最好關掉 } }
package day6;public class Demo03 {public static void main(String[] args) {// 使用String類的concat()方法:把兩個字符串連接構成新的字符串String s = new String("你好");String name = new String("張三");String sentence = s.concat(name);System.out.println(sentence);} }
package day6_2;public class Test {public static void main(String[] args) {//需在前后兩端加上無用字符串,否則會發生錯誤//split()用來分割字符串String s = "愛你, 愛他, 愛我, 愛中國! ";s = " " + s + " ";int length = s.split("愛").length - 1;System.out.println(length);} }
package day6;public class Demo04 {public static void main(String[] args) {String s = "我愛北京天安門!天安門上太陽升!";//indexOf()獲取字符串中某個字符或字符串首次出現的位置System.out.println(s.indexOf("天"));//indexOf()獲取字符串中某個字符或字符串最后一次出現的位置System.out.println(s.lastIndexOf("天"));//substring(index)從指定位置(包含)開始截取字符串, 直到最后一個String newS = s.substring(8);System.out.println(newS);int index = s.indexOf("!");String newS2 = s.substring(index+1);System.out.println(newS2);//substring(starIndex,endIndex)//從指定索引開始(包含),到指定索引結束(不包含)String newS3 = s.substring(2,4);System.out.println(newS3);//trim():去掉兩邊的空格String s2= " 杰 瑞 教 育 ";String newS4 = s2.trim();System.out.println(newS4);} }
package day6;public class Demo05 {public static void main(String[] args) {// StringBuffer:String的增強型 (數據頻繁發生改變時使用)// append();用來往StringBuffer追加內容StringBuffer sb = new StringBuffer("青春永恒");StringBuffer sb1 = sb.append(",我心;永恒");System.out.println(sb1);StringBuffer sb2 = sb1.append("啊!");System.out.println(sb2);StringBuffer sb3 = sb2.append("110");System.out.println(sb3);//String ---> StringBufferStringBuffer s = new StringBuffer("qwer");//StringBuffer ---> StringString s2 = s.toString();} }
package day6;public class Demo07 {public static void main(String[] args) {StringBuffer buffer = new StringBuffer("abcde");//append()方法 追加內容buffer.append("f"); //insert(index,content)buffer.insert(1, "a");//deleteCharAt()刪除指定位置的字符串buffer.deleteCharAt(0);buffer.delete(1, 3);//reverse() buffer.reverse();// buffer.replace(1, 3, "oo");System.out.println(buffer);} }
package day6_2;public class Goods {String name;String pwd;public Goods(String name, String pwd) {this.name = name;this.pwd = pwd;}public void show() {System.out.println("登陸成功!");System.out.println("*********歡迎進入商品批發商城*********");System.out.println("\t編號\t商品\t價格");System.out.println("\t1\t電風扇\t124.23");System.out.println("\t2\t洗衣機\t4500.0");System.out.println("\t3\t電視機\t8000.9");System.out.println("\t4\t冰箱\t5000.88");System.out.println("\t5\t空調\t4456.0");System.out.println("*********************************");}public String sum(int num1, int num2) {double result = 0;switch (num1) {case 1:result = 124.238 * num2;break;case 2:result = 4500.0 * num2;break;case 3:result = 8000.9 * num2;break;case 4:result = 5000.88 * num2;break;case 5:result = 4456.0 * num2;break;default:break;}String result1 = String.valueOf(result);StringBuffer result2 = new StringBuffer(result1);for (int i = result1.lastIndexOf(".") - 3; i > 0; i = i - 3) {result2.insert(i, ",");}String result3 = result2.toString();return result3;} } package day6_2;import java.util.Scanner;public class GoodsTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("請輸入用戶名:");String name = scanner.next();System.out.println("請輸入密碼:");String pwd = scanner.next();Goods user = new Goods(name,pwd);if (name.equals("TOM")&&pwd.equals("123456")) {user.show();System.out.println("請輸入商品編號:");int num1 = scanner.nextInt();System.out.println("請輸入需要批發的數量");int num2 = scanner.nextInt();System.out.println(user.sum(num1,num2));}else{System.out.println("輸入信息錯誤!");}scanner.close();} }
package day6;import java.util.Arrays;public class Demo02 { public static void main(String[] args) {//基本數據類型的存儲區域在棧中,//每一個數據都是相互獨立存在的// == 比較的是兩個數據的大小int i = 5;int j = 5;System.out.println(i == j);//數組是引用數據類型//數據占用兩塊空間, 棧和堆//棧中存放數組數據在堆中存在的首地址(數組名)//堆里面存放的是數組數據int []arr1 = new int[2];arr1[0] = 1;arr1[1] = 2;int []arr2 = new int[2];arr2[0] = 1;arr2[1] = 2;System.out.println(arr1 == arr2);System.out.println(Arrays.equals(arr1, arr2));//普通的聲明字符串的方法,只會在字符串常量池里開辟空間//并且開辟空間之前,會檢查字符串常量池里是否已經存在相同的數據,如果有,//直接指向已經存在的數據,如果沒有//胡子哎字符串常量池里開辟一個新的空間String s = "ccy";String s2 = "ccy";System.out.println(s == s2);String s3 = new String("jereh");String s4 = new String("jereh");System.out.println(s3 == s4);} }
結果圖: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 模型圖;
??
?
?
?
equals()方法以及equalsIgnoreCase()方法package day6;import java.util.Scanner;public class Demo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("請輸入用戶名:");String name = scanner.next();System.out.println("請輸入密碼:");String pwd = scanner.next();if(pwd.length()>=6){//equals()方法:比較是否相等 equalsIgnoreCase():忽略大小寫if(name.equalsIgnoreCase("Tom")&&pwd.equals("1234567")){System.out.println("登陸成功");}else{System.out.println("用戶名或密碼不匹配,登錄失敗!");}}else{System.out.println("密碼長度不能小于6位!");}scanner.close();//用完之后最好關掉 } }
?
結果圖;
?
String類的concat()方法package day6;public class Demo03 {public static void main(String[] args) {// 使用String類的concat()方法:把兩個字符串連接構成新的字符串String s = new String("你好");String name = new String("張三");String sentence = s.concat(name);System.out.println(sentence);} }
結果圖:
?
String類的split()方法package day6_2;public class Test {public static void main(String[] args) {//需在前后兩端加上無用字符串,否則會發生錯誤//split()用來分割字符串String s = "愛你, 愛他, 愛我, 愛中國! ";s = " " + s + " ";int length = s.split("愛").length - 1;System.out.println(length);} }
結果圖:
?
?
String類其他方法package day6;public class Demo04 {public static void main(String[] args) {String s = "我愛北京天安門!天安門上太陽升!";//indexOf()獲取字符串中某個字符或字符串首次出現的位置System.out.println(s.indexOf("天"));//indexOf()獲取字符串中某個字符或字符串最后一次出現的位置System.out.println(s.lastIndexOf("天"));//substring(index)從指定位置(包含)開始截取字符串, 直到最后一個String newS = s.substring(8);System.out.println(newS);int index = s.indexOf("!");String newS2 = s.substring(index+1);System.out.println(newS2);//substring(starIndex,endIndex)//從指定索引開始(包含),到指定索引結束(不包含)String newS3 = s.substring(2,4);System.out.println(newS3);//trim():去掉兩邊的空格String s2= " 杰 瑞 教 育 ";String newS4 = s2.trim();System.out.println(newS4);} }
結果圖:
StringBuffer類(String類的增強型)
package day6;public class Demo05 {public static void main(String[] args) {// StringBuffer:String的增強型 (數據頻繁發生改變時使用)// append();用來往StringBuffer追加內容StringBuffer sb = new StringBuffer("青春永恒");StringBuffer sb1 = sb.append(",我心;永恒");System.out.println(sb1);StringBuffer sb2 = sb1.append("啊!");System.out.println(sb2);StringBuffer sb3 = sb2.append("110");System.out.println(sb3);//String ---> StringBufferStringBuffer s = new StringBuffer("qwer");//StringBuffer ---> StringString s2 = s.toString();} }
結果圖;
?
StringBuffer的一些方法package day6;public class Demo07 {public static void main(String[] args) {StringBuffer buffer = new StringBuffer("abcde");//append()方法 追加內容buffer.append("f"); //insert(index,content)buffer.insert(1, "a");//deleteCharAt()刪除指定位置的字符串buffer.deleteCharAt(0);buffer.delete(1, 3);//reverse() buffer.reverse();// buffer.replace(1, 3, "oo");System.out.println(buffer);} }
結果圖:
?
練習題(難點:String與StringBuffer之間的轉換以及insert()方法的使用)package day6_2;public class Goods {String name;String pwd;public Goods(String name, String pwd) {this.name = name;this.pwd = pwd;}public void show() {System.out.println("登陸成功!");System.out.println("*********歡迎進入商品批發商城*********");System.out.println("\t編號\t商品\t價格");System.out.println("\t1\t電風扇\t124.23");System.out.println("\t2\t洗衣機\t4500.0");System.out.println("\t3\t電視機\t8000.9");System.out.println("\t4\t冰箱\t5000.88");System.out.println("\t5\t空調\t4456.0");System.out.println("*********************************");}public String sum(int num1, int num2) {double result = 0;switch (num1) {case 1:result = 124.238 * num2;break;case 2:result = 4500.0 * num2;break;case 3:result = 8000.9 * num2;break;case 4:result = 5000.88 * num2;break;case 5:result = 4456.0 * num2;break;default:break;}String result1 = String.valueOf(result);StringBuffer result2 = new StringBuffer(result1);for (int i = result1.lastIndexOf(".") - 3; i > 0; i = i - 3) {result2.insert(i, ",");}String result3 = result2.toString();return result3;} } package day6_2;import java.util.Scanner;public class GoodsTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("請輸入用戶名:");String name = scanner.next();System.out.println("請輸入密碼:");String pwd = scanner.next();Goods user = new Goods(name,pwd);if (name.equals("TOM")&&pwd.equals("123456")) {user.show();System.out.println("請輸入商品編號:");int num1 = scanner.nextInt();System.out.println("請輸入需要批發的數量");int num2 = scanner.nextInt();System.out.println(user.sum(num1,num2));}else{System.out.println("輸入信息錯誤!");}scanner.close();} }
結果圖:
?
轉載于:https://www.cnblogs.com/lizuowei/p/7412735.html
總結
以上是生活随笔為你收集整理的Java学习记录(补充三:String类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请教下香薰精油正确的使用方法~
- 下一篇: Java的OOP三大特征之一——多态