經(jīng)典java面試題及答案
1.基本數(shù)據(jù)類型。
基本數(shù)據(jù)類型有四類八種
整形:byte short int long
浮點(diǎn)型:float double
字符型:char
布爾型:boolean
2.編碼轉(zhuǎn)換,把GB2312的字符串轉(zhuǎn)換成ISO8859-1。
String str = "abcd";
str = new String(str.getBytes("GB2312"), "ISO8859_1");
3.String和StringBuffer有什么區(qū)別,"=="和equals()有什么區(qū)別。
char能不能放下一個(gè)中文字符,為什么?
(1)本質(zhì)上的區(qū)別是:String是不可變類(immutable),而StringBuffer是可變類。
StringBuffer是可以改變字符串長(zhǎng)度的,用append("str")的方法可以不斷增加內(nèi)容,
而String則不可以,并且相同的字符串對(duì)象是相同的地址引用,
若要String改變值,需要改變String變量的引用(指向新的對(duì)象)。
(2)== 是對(duì)引用進(jìn)行判斷,對(duì)內(nèi)存地址的判斷
equals()是判斷引用的值是否相等,對(duì)實(shí)際存儲(chǔ)的值的判斷
內(nèi)存地址相同的值一定相同,但值相同的內(nèi)存地址就不一定相同
(3)char可以放下一個(gè)中文字符,因?yàn)閖ava采用的是unicode編碼,一個(gè)字符為兩個(gè)字節(jié)。
4.寫一個(gè)字符串反轉(zhuǎn)的.方法,把“abcdefg”轉(zhuǎn)換成“gfedcba”。
String str = "abcdefg";
//方法一:利用StringBuffer的reverse()方法實(shí)現(xiàn)
public static String reverse2(String str) {
StringBuffer sb = new StringBuffer(str);
sb.reverse().toString();
return sb.toString();
}
//方法二:
public static String reverse(String str) {
if (str == null) {
throw new NullpointerException();
}
return (new StringBuffer(str)).reverse().toString();
}
//方法三:參照StringBuffer的reverse()方法
public static String reverse(String s){
int length=s.length();
StringBuffer result=new StringBuffer(length);
for(int i=length-1;i>=0;i--)
result.append(s.charAt(i));
return result.toString();
}
5.替換字符串,把“abc.abc.abc”替換成“abc/abc/abc”。
String rep = "abc.abc.abc";
String rep2 = rep.replaceAll("\\\\.", "/");
//由于.是特殊字符,需要加上\\\\轉(zhuǎn)義,否則全部轉(zhuǎn)換成/了
6.類型轉(zhuǎn)換,把int類型的“123456”轉(zhuǎn)換成String后再轉(zhuǎn)換為int,方法越多越好。
int i = 123456;
將整數(shù)i轉(zhuǎn)換成字串 s
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
將字串 s 轉(zhuǎn)換成整數(shù) i
1.)int i = Integer.parseInt(s);
2.)int i = Integer.parseInt(s,10);//int radix為進(jìn)制
3.)int i = Integer.valueOf(s).intValue();
注: double, float, long 轉(zhuǎn)換的方法大同小異.
7.日期處理,取得從1970到現(xiàn)在的毫秒數(shù),格式為yyyy-MM-dd-HH:mm:ss再轉(zhuǎn)換成String輸出。
//獲取當(dāng)前系統(tǒng)的時(shí)間new
java.util.Date date = new java.util.Date();
//取得從1970年到現(xiàn)在的毫秒數(shù)
long now = date.getTime();
//格式化日期
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//轉(zhuǎn)為字符串
String dateStr = df.format(date);
8.io文件操作,指定一個(gè)文件夾,C:\\temp\\test,
判斷是否存在,存在則列出其下所有文件名,包括子目錄以及下面的文件,不存在則新建該文件夾。
【經(jīng)典java面試題及答案】相關(guān)文章:
華為的Java面試題及答案11-22
經(jīng)典java筆試題及答案06-21
Java的面試題和答案10-30
有哪些經(jīng)典面試題及答案分析10-29
經(jīng)典情景面試題及參考答案09-20
經(jīng)典的5條面試題及答案分析10-30
有關(guān)面試題及答案09-01
hr面試題及答案05-10
linux面試題及答案02-19