首頁 >Java >java教程 >重拾java基礎(十二):java最常使用類型String總結

重拾java基礎(十二):java最常使用類型String總結

黄舟
黄舟原創
2017-01-16 10:03:181518瀏覽

重拾java基礎(十二):java最常使用類型String總結

一、String類別概述

  1.    . String是引用資料型,屬於java.lang套件

    3. 編碼表    ascii   unicode

  2.      4. Java語言支援unicode

類型

 空构造 public String()           
 String s1=new String();            
 System.out.println(s1);           
 输出结果为空。    
 参数为字符串   
 public  String(String  s)           
 String s2=new String("hello");  //String  s2="hello";            
 System.out.println(s2);           
 输出结果为  hello    
 参数为字节数组  
 public String( byte[]  bytes )  转换            
 byte[] t={97,98,99,'d'};   //byte b='d';            
 String s3=new String(t);            
 System.out.println(s3);           
 输出结果为   abcd   它是将byte数组类型转化为ASCII                       
 表对应的字符    
 参数为字符数组  public String( char[]  value )  转换           
 char[] c={'a','b','c',100};  //char d=100;            
 String s4=new String(c);            
 System.out.println(s4);            
 输出结果为   abcd   它是将char数组类型转化为ASCII                       
 表对应的字符。

new String的記憶體分配圖

new和不new兩種方式的記憶體分配

重拾java基礎(十二):java最常使用類型String總結

  • 重拾java基礎(十二):java最常使用類型String總結 3.一個字串常數可以直接當成一個物件去使用 


重拾java基礎(十二):java最常使用類型String總結四、+

  • 四、+重拾java基礎(十二):java最常使用類型String總結

四、+

    一個非字串的進行拼接,那麼Java會自動把非字串的轉換成字串,然後再進行拼接
  1. 3. 注意的是:使用+拼接字串時的記憶體分配圖(String物件是不可變的)

4. 即使String物件不是new出來的,那麼在進行字串拼接時也是每次都在堆   中新開闢記憶體空間重拾java基礎(十二):java最常使用類型String總結

5. 字串不常量在堆   中新開闢記憶體空間


5. 字串不常在堆 會在堆中新開闢記憶體空間(重點)

五、判斷功能相關的方法

1. 它支持两种写法:   
String s="hello";   //s也是对象   
String s=new String("hello");            
注意:
String s1="hello";String s2="hello";这时有三个对象  
s1、s2、hello2. 画内存分配图

六、獲取功能相關的方法

boolean equals(Object obj)       
String s1="hello";        
String s2=new String("HellO");        
System.out.println(s1==s2);        
System.out.println(s1.equals(s2));        
输出结果为  false  false  ; 
equals比较的是内容区分大小写boolean equalsIgnoreCase(String str)String s3="hello";
String s4="Hello";System.out.println(s3==s4);
System.out.println(s3.equalsIgnoreCase(s4));
輸出結果為 false   true  ;
equalsIgnoreCase比较的是内容不区分大小写boolean contains(String str)String s1="hello";
System.out.println(s1.contains("ho"));输出结果为  false   这个方法是看“hello”中是否包含ho            
记得不能分开,如果是he的话结果就是 trueboolean startsWith(String str)System.out.println(s1.startsWith("he"));
输出结果是:true   
这个方法是求输入的这个字符串是否                    
以你定义的这个字符串开头的!                      
这里就是看  “hello”是否以he开头                    
如果换成e   结果就为false了。
boolean endsWith(String str)        
System.out.println(s1.endsWith("llo"));
输出结果为:true   这个方法是求输入的这个字符串是否                    
以你定义的这个字符串结尾的!                      
这里就是看  “hello”是否以lo结尾                    
如果换位ll  结果就为false了。boolean isEmpty()     ""  null        
s1="";System.out.println(s1.isEmpty());
输出结果为:true   这个方法是看 s1这个字符串是否为""                     
如果是就为true
注意:null1.null在Java中是作为常量存在的2.它表示对象不存在3.一个是可以作为初始值来用,一个是可以加快垃圾回收的速度

、轉換功能相關的方法

、String類別的其他功能

int length()        
String s1="heloool";System.out.println(s1.length());    
输出结果为:7     
这个方法是来求一个字符串的长度的。            
char charAt(int index)            
System.out.println(s1.charAt(0));    
输出结果为 h   这个方法是用来输入字符串的某个字符的地址坐标来                   
输出这个坐标所对应的值;如果输入2的话输出应该为l。      
int indexOf(int ch) 和int indexOf(String str);    
System.out.println(s1.indexOf("he"));    
输出结果为  0   这个方法是用来寻找输入的字符串(例如he)在当前字                           
符串(heloool)中首次出现的,首个字符的位置。                           
注意he要连写,并且不能为ho这种形式  他们都会                           
输出  -1    
int indexOf(int ch,int fromIndex)和int indexOf(String str,int fromIndex)    
System.out.println(s1.indexOf("l",4));    
输出结果为  6   这个方法是用来寻找输入的字符串(例如l)在当前字                           
符串(heloool)中你定义的从哪个地址坐标(4)开始                           
出现的,首个字符的位置。    
String substring(int start)和    
String substring(int start,int end)            
////        
String substring(int start)             
System.out.println(s1.substring(3));      
输出结果为:oool    这个方法是为了求出  s1这个字符串中 从3开始                 
包括(3)这个坐标,开始输出字符串,一直到结尾。                     
//      
String substring(int start,int end)            
System.out.println(s1.substring(2,5));     
输出结果为  loo    这个方法是为了求出  s1这个字符串中 从2开始                 
包括(2)这个坐标,开始输出字符串,一直到5(不包括5                                      
这个坐标)。       
注意:java有两个原则     一、就近原则;二、顾前不顾后原则。
以上就是重拾java基礎(十二):java最常用類型String總結的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn