-------android培訓、java培訓、期待與您交流!
----------
1如果你覺得你很熟悉java,那麼你認識這些關鍵字嗎?
abstract | assert | boolean | break | byte |
case | catch | class | continue | |
default | do | double | else | enum |
extends | final | finally | float | for |
if | implements | import | instanceof | int |
interface | long | native | new | package |
private | protected | public | return | strictfp |
short | static | super | switch | synchronized |
this | throw | throws | transient | try |
void | volatile | while |
如果不出意外的話,我想會有assert,native,strictfp你不會很熟悉。但除此之外const和goto也是關鍵字,並且爲保留字!
假如你這樣int const=2;//那麼你會有編譯錯誤!java不用這兩個值,也不許你用!
native的作用是你要假如java外的編程語言的話,就要用到她了。assert是斷言的標記符。strictfp是用於標記方法的,精確標記符。實際上以上的關鍵字要認識,有些不是很常用。
2第一個demo是hello java。
public static void main(String[] args) {
System.out.println("hello java");
}
你會認爲太簡單嗎?那麼public可以換成private嗎?會出現什麼情況?
在java語言規範中有main函數必須爲public,但是jvm的規範中沒有。也就是說有的jvm或許可能編譯通過!只是一個可能哦。要看jvm的技術細節了。
3當你寫下short的demo
short lit;
lit=lit+1;//Type mismatch: cannot convert from int to short
你會認爲他很正確嗎?你試一下,由於lit爲short,1在這裏爲int型的。會有convert轉換異常!太讓人恍然大悟了!
3你知道if()裏面是什麼類型的嗎?
int flag=1;
if(flag==1)
System.out.println("right");
int flag=1;
if(1==flag)//你知道嗎?c/c++高手是這樣寫代碼的!但在java中flag=1再也不會騙過編譯器了!
Boolean n=new Boolean(true);
if(n)
System.out.println("right");
Boolean的對象也是可以的!一定要活學活用!不要死記憶概念!
4你知道switch()裏是什麼嗎?
int flag=0;
switch(flag)
{case 0:System.out.println("right");
break;//關於break你還會丟嗎?如果丟了,會有right和wrong兩個結果!
case 1:System.out.println("wrong");
break;
default :System.out.println("never");
}
你知道switch是隻有byte,short,int,char如果是其他的會報錯!如果爲String的話Type mismatch: cannot convert from int to String,又是這個異常!Long你試一下!如果是Integer的話你知道了嗎?
5你知道怎麼去測試二維數組的大小麼?
int[][] array=new int[3][4];
System.out.println(array.length);
是這樣嗎?你會得到3!好的怎麼樣去計算呢?你可以先計算維度i,利用維度i計算數組大小!
int i=array.length;
int sum=0;
for(int j=0;j<i;j++)
{
sum=sum+array[j].length;
}
System.out.println(sum);
你明白了沒?array[i].length計算的是該維度下的長度!
6 break和continue怎麼跳出循環?我覺得是break跳出這層循環!然後continue繼續這層循環。好吧這些大家都知道。怎麼用break跳出多個循環?用標籤!
1.loop:
for(int i=0;i<10;i++)
2.loop:
for(int j=0;j<10;j++)
{
if(j==1)
{
System.out.println("haha");
break loop;
}
}
當你測試這個用例的時候會發現loop在1時會打印1個haha而在2的時候有10個!break+標籤會跳出標籤處的循環!你瞭解嗎?7if語句的奇怪waring
public static int sign(int n)
{
if(n<0)
return 0;
else if(n>0)
return 1;
else if(n==0)
return 0;
}
你能忍受這個警告?竟然是由於必須返回一個值!雖然你認爲你的判斷完美無缺,但是java編譯器並沒有你那麼聰明!你需要改的是最後一個else if換爲else!
如果你感覺我的demo幫到你了,謝謝。用心思考問題。
------- android培訓、java培訓、期待與您交流! ----------