1. 程式人生 > >技術面試-java基礎

技術面試-java基礎

什麼是良好的程式碼習慣?

寫好主要步驟的註釋,修改程式碼時的註釋,程式碼適當縮排,駝峰命名,減少冗餘程式碼,適當複用,在=前後加空格等。命名的時候符合常用的或者上下文規範,不能太短,注意不要過早優化程式碼(最後這個可不說)

 

*valueOf()  把括號資料填入物件

valueof("12");用於查詢12第一次出現的位置

 

擷取字串 substr(),subString(),split()

String str = "abc,12,3yy98,0";

String[]  strs=str.split(","); //按照逗號截斷字串

String sb = "bbbdsajjds";

sb.substring(2);   //表示從第2個開始截到最後,注意從0開始數

sb.substring(2, 4);  //表示從2擷取到4,且不包含4

str = sb.substring(0, sb.indexOf("@"));  //表示從0擷取到@符號

str = sb.substr(5);  //表示從第5個開始擷取到最後

str =sb.substr(5,10);   //表示從5開始擷取10位

 

date轉字串

1.日期轉字元

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

System.out.println(sdf.format(date));

sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

System.out.println(sdf.format(date));

sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

System.out.println(sdf.format(date));

2.字元轉日期

String string = "2016-10-24 21:59:06";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

System.out.println(sdf.parse(string));

Object方法

toString,equals,hashcode,clone,finalize,notify,wait(wait方法不止一個),notifyall

 

*前臺精度

Number(num1/num2).toFixed(0);  //num1除數num2被除數 toFixed(0)意思是後面精確到幾位小數

 

後臺精度

    使用BigInterger,或者BigDecimal類

 

介面和抽象類的區別?

1.介面可以繼承介面,抽象類可以繼承實體類.

2.抽象類可以有普通方法,介面只有抽象方法;

3.介面中的變數只能是public static final(常量),抽象類可以是各種型別,

4.抽象類和類相似(可以有構造器,有main類,有普通方法.),介面(沒有構造器,沒有main方法)

5.介面可以同時被繼承多個,抽象類同時只能一個.

 

String ,Stringbuffer,Stringbuilder區別,實現?

String是不可變長字串

Stringbuffer是可變長字串,執行緒安全的,因為有 synchronized關鍵字修飾方法

StringBuilder也是可變長字串

 

零碎知識點

自動拆箱會導致空指標