2021.1.22記錄一次面試

c/c++和java布爾值的區別:

C/C++遵循的規則是「非零即爲真」,即全部不是零的數,均可以認爲是「true」,而僅把零當作false。Java語言的布爾類型變量,其賦值只能是true和false。除此以外,沒有其餘的值能夠賦給布爾變量。不能用1和0分別代替true和false。java語言中的布爾變量與整型變量不要緊。前端

String、StringBuffer、StringBuilder三者異同:

String(JDK1.0):不可變的字符序列(只要修改就要從新建);java

StringBuffer(JDK1.0):可變的字符序列;線程安全的,效率低;c++

StringBuilder(JDK1.5新增):可變的字符序列;線程不安全的,效率高;數組

三者都是1.8及之前底層用char[]存儲,1.9開始用byte[]存儲。安全

問題1.System.out.println(StringBuffer.length());//3app

由於StringBuffer重寫了length()方法,返回的不是容量而是實際使用長度。框架

問題2.擴容問題:若是要添加的數據底層數組盛不下了,那就須要擴容底層的數組。默認狀況下,擴容爲原來容量的2倍 + 2,同時將原有數組中的元素複製到新的數組中。學習

指導意義:開發中建議你們使用:StringBuffer(int capacity) 或StringBUilder(int capacity)ui

經常使用方法(StringBuffer和StringBuilder相同):線程

增:append(xxx)

刪:delete(int start, int end)

改:setCharAt(int n, char ch) 改一個字符/ replace(int start, int end, String str)把[start,end)替換成str

查:charAt(int n) indexOf(String str)

插:insert(int offset, xxx)

長度:length()

反轉:reverse()

字串:subString(int start, int end)返回值纔是子串,其他方法都是自身變化。

delete from 表名 [where 條件]

我寫成了:delete * from 表名 [where 條件]

-- 查詢姓名第二個字是化的人 ( _:單個任意字符 %:多個任意字符)

SELECT * FROM student WHERE NAME LIKE "_化%";

實習題目:基於JFinal框架學習並開發一個2張表的增刪查改操做:前端界面自行設計 自學一天看JFinal文檔,感受不太行,趕忙跑路。

相關文章
相關標籤/搜索