java基礎


String str = "abcd"; // str是一個類類型變量,"abcd"是一個對象
String str1 = new String("abcd");
str 只有常量池對象"abcd";str1 既有常量池對象,又有類String對象
1、面試題:這兩有什麼不同?
2、String類複寫了Object類中的equals方法。Object類中的equals用來判斷是否是同一個對象,String類中的equ als方法用來判斷兩個字符串是否相等。(ASCII碼)
3、字符串常見操作:
length();//求字符串長度
charAt();//根據位置獲取位置上某字符
indexOf();//返回字符串第一次出現的位置
contains();//判斷字符串中是否含有某個子串,boolean類型。如果返回-1,表示不包含此字符串
isEmpty();//判斷字符串中是否有內容
equalsIgnoreCase();//忽略大小寫是否相等
4、copyValueOf() //將字符數組轉化爲字符串
toCharArray() //將字符串轉化爲數組
valueOf() //將基本數據類型轉換成字符串,還有一種更簡單的方法,s+""
byte[] getBytes() //字符串轉化成字符數組
5、String[] split() //切割,參數是正則表達式
6、subString() //獲取子串
7、toUpperCase() //轉化爲大寫
8、String trim() //去除字符串兩端的空白
9、compareTo() //自然順序的比較,不區分大小寫的字典順序
10、StringBuffer字符串緩衝區,是一個可變長度數組容器。特點有:
長度可以變化;
可以對內容通過指定方法修改;
容器對象一般都會具備對容器中的元素進行操作的功能,比如增刪改查;
緩衝區中可以存儲不同類型的數據;
最終緩衝區存儲完的數據都會變成字符串。
str = new StringBuffer().append("ab").append("cd").toString();
//StringBuffer常用方法:
reverse()//反轉
11、StringBuilder和StringBuffer用法一樣,區別是:StringBuffer是線程同步的,StringBuilder是線程不同步的(緩衝區是單例模式編寫的,肯定是線程同步的,安全),StringBuilder速度更快。
12、jdk升級的三個要素:
提高效率;簡化書寫;提高安全
13、可以new Integer
14、自動拆箱和自動封箱
15、一個面試題,輸出什麼結果?
class IntegerDemo {
    public static void sop(String str) {
        System.out.println(str);
    }
    public static void main(String[] args) {
        Integer m = 128;
        Integer n = 128;
        sop("m==n:"+(m==n));

        Integer a = 127;
        Integer b = 127; 
        sop("a==b:"+(a==b));
    }
}

false;true
jdk1.5後自動封箱的值在規定範圍內(int類型範圍值),不會開闢兩個空間,使用同一空間,是同一個對象。
128不在範圍內,開闢兩個空間,返回false;127在範圍內,開闢同一個空間,返回true。
16、OOP(面向對象編程)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章