- 相關(guān)推薦
android面試問(wèn)題
android面試問(wèn)題你了解了嗎?面試做好準(zhǔn)備對(duì)于面試取得成功有很大的幫助,以下是陽(yáng)光網(wǎng)小編幫你們整理的android面試問(wèn)題,一起來(lái)學(xué)習(xí)啦。
android面試問(wèn)題篇一
1、一個(gè)".java"源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制?
可以有多個(gè)類,但只能有一個(gè)public的類,并且public的類名必須與文件名相一致。
2、Java有沒(méi)有g(shù)oto?
java中的保留字,現(xiàn)在沒(méi)有在java中使用。
3、說(shuō)說(shuō)&和&&的區(qū)別。
&和&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false。
&&還具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,例如,對(duì)于if(str != null && !str.equals(“”))表達(dá)式,當(dāng)str為null時(shí),后面的表達(dá)式不會(huì)執(zhí)行,所以不會(huì)出現(xiàn)NullPointerException如果將&&改為&,則會(huì)拋出NullPointerException異常。If(x==33 & ++y>0) y會(huì)增長(zhǎng),If(x==33 && ++y>0)不會(huì)增長(zhǎng)
&還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類型時(shí),&表示按位與操作,我們通常使用0x0f來(lái)與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來(lái)獲取該整數(shù)的最低4個(gè)bit位,例如,0x31 & 0x0f的結(jié)果為0x01。
備注:這道題先說(shuō)兩者的.共同點(diǎn),再說(shuō)出&&和&的特殊之處,并列舉一些經(jīng)典的例子來(lái)表明自己理解透徹深入、實(shí)際經(jīng)驗(yàn)豐富。
4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)?
在Java中,要想跳出多重循環(huán),可以在外面的循環(huán)語(yǔ)句前定義一個(gè)標(biāo)號(hào),然后在里層循環(huán)體的代碼中使用帶有標(biāo)號(hào)的break 語(yǔ)句,即可跳出外層循環(huán)。例如,
ok:
for(int i=0;i<10;i++)
{
} for(int j=0;j<10;j++) { } System.out.println(“i=” + i + “,j=” + j); if(j == 5) break ok;
另外,我個(gè)人通常并不使用標(biāo)號(hào)這種方式,而是讓外層的循環(huán)條件表達(dá)式的結(jié)果可以受到里層循環(huán)體代碼的控制,例如,要 int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i
{
} for(int j=0;j
5、switch語(yǔ)句能否作用在byte上,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一個(gè)整數(shù)表達(dá)式或者枚舉常量(更大字體),整數(shù)表達(dá)式可以是int基本類型或Integer包裝類型,由于,byte,short,char都可以隱含轉(zhuǎn)換為int,所以,這些類型以及這些類型的包裝類型也是可以的。顯然,long和String類型都不符合switch的語(yǔ)法規(guī)定,并且不能被隱式轉(zhuǎn)換成int類型,所以,它們不能作用于swtich語(yǔ)句中。
6、short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?
對(duì)于short s1 = 1; s1 = s1 + 1; 由于s1+1運(yùn)算時(shí)會(huì)自動(dòng)提升表達(dá)式的類型,所以結(jié)果是int型,再賦值給short類型s1時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類型的錯(cuò)誤。
對(duì)于short s1 = 1; s1 += 1;由于 += 是java語(yǔ)言規(guī)定的運(yùn)算符,java編譯器會(huì)對(duì)它進(jìn)行特殊處理,因此可以正確編譯。
android面試問(wèn)題篇二
1、char型變量中能不能存貯一個(gè)中文漢字?為什么?
char型變量是用來(lái)存儲(chǔ)Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當(dāng)然可以存儲(chǔ)漢字啦。不過(guò),如果某個(gè)特殊的漢字沒(méi)有被包含在unicode編碼字符集中,那么,這個(gè)char型變量中就不能存儲(chǔ)這個(gè)特殊漢字。補(bǔ)充說(shuō)明:unicode編碼占用兩個(gè)字節(jié),所以,char類型的變量也是占用兩個(gè)字節(jié)。
備注:后面一部分回答雖然不是在正面回答題目,但是,為了展現(xiàn)自己的學(xué)識(shí)和表現(xiàn)自己對(duì)問(wèn)題理解的透徹深入,可以回答一些相關(guān)的知識(shí),做到知無(wú)不言,言無(wú)不盡。
2、用最有效率的方法算出2乘以8等於幾?
2 << 3,
因?yàn)閷⒁粋(gè)數(shù)左移n位,就相當(dāng)于乘以了2的n次方,那么,一個(gè)數(shù)乘以8只要將其左移3位即可,而位運(yùn)算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2 << 3。
3. 有一個(gè)一維整型數(shù)組int[] data保存的是一張寬為width,高為height的圖片像素值信息。請(qǐng)寫(xiě)一個(gè)算法,將該圖片所有的白色不透明(0xffffffff)像素點(diǎn)的透明度調(diào)整為50%。
答:像素?cái)?shù)組int[]data里就是一個(gè)個(gè)像素的'顏色值,你循環(huán)和0xffffffff比較,如果相等,那么就把這個(gè)值換成0x88ffffff就行了,這樣像素?cái)?shù)組里所有的白色不透明(0xffffffff)都變成的半透明
4. 你如何評(píng)價(jià)Android系統(tǒng)?優(yōu)缺點(diǎn)。
優(yōu)點(diǎn):開(kāi)源特性,得到眾多廠商支持。
軟件發(fā)展很快。
界面UI,系統(tǒng)優(yōu)化不錯(cuò)。
缺點(diǎn):版本過(guò)多,升級(jí)過(guò)快。
用戶體驗(yàn)不一致。
5. android中的動(dòng)畫(huà)有哪幾類,他們的特點(diǎn)和區(qū)別是什么?
兩種,
一種是Tween動(dòng)畫(huà)(補(bǔ)間動(dòng)畫(huà)),
一種是Frame動(dòng)畫(huà)(逐幀動(dòng)畫(huà))。
Tween動(dòng)畫(huà):使試圖組件移動(dòng),放大,縮小以及產(chǎn)生透明度的變化。
Frame動(dòng)畫(huà):傳統(tǒng)的動(dòng)畫(huà)方法,通過(guò)順序的播放排列好的圖片來(lái)實(shí)現(xiàn),類似電影。
android面試問(wèn)題篇三
1. 請(qǐng)描述下Activity的聲明周期。
onCreate->onStart->onRemuse->onPause->onStop->onRestart->onDestroy
2. 如果后臺(tái)的Activity由于某種原因被系統(tǒng)回收,如何在回收之前保存當(dāng)前狀態(tài)。
onSaveInstanceState().
程序中的某一個(gè)Activity A 在運(yùn)行時(shí),主動(dòng)或被動(dòng)的運(yùn)行另一個(gè)新的Activity B,這個(gè)時(shí)候A會(huì)執(zhí)行onSaveInstanceState()。B完成以后又回來(lái)找A,這個(gè)時(shí)候有兩種情況:一是A被回收,二是A沒(méi)有被回收,被回收的A就要重新調(diào)用onCreate()方法,不同于直接啟動(dòng)的是這回onCreate()里是帶上了參數(shù)savedInstanceState;而沒(méi)被回收的就直接執(zhí)行onResume(),跳過(guò)onCreate()。
3. 如何將一個(gè)Activity設(shè)置成窗口樣式。
在AndroidManifext.xml中Activity定義處添加
android:theme="@android:style/Theme.Dialog" 或
android:theme="@android:style/Theme.Translucent"。
4. 如何退出Activity?如何安全退出已調(diào)用多個(gè)Activity的Application?
1.Activity.finish();也可以用killProcess()和System.exit()這樣的方法
2.用ActivityManager的restartPackage方法
5. 請(qǐng)介紹下android大眾常用的'五種布局。
FrameLayout(框架布局)
只可以有一個(gè)控件,并且不能設(shè)計(jì)這個(gè)控件的位置,控件會(huì)放在左上角
LinearLayout(線性布局)
一行只能控制一個(gè)控件的線性布局,所以當(dāng)有很多控件需要在一個(gè)界面中列出時(shí),可以用LinearLayout布局
AbsoluteLayout(絕對(duì)布局)
可以放置多個(gè)控件,并且可以自己定義控件的x,y的位置
RelativeLayout(相對(duì)布局)
比如要在一行上顯示多個(gè)控件,這時(shí)就要用到相對(duì)布局
TableLayout(表格布局)
將子元素的位置分配到行或列中,一個(gè)TableLayout由許多的TableRow組成
【android面試問(wèn)題】相關(guān)文章:
總結(jié)的android面試題12-09
android面試題201704-04
android面試題及答案04-04
android面試題整理04-04
android面試題大全04-04
android面試題練習(xí)04-04
android測(cè)試面試題11-25
android軟件測(cè)試面試題04-04
android面試題庫(kù)04-04