<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    游戲之道

    文不在多 有用就行
    posts - 5, comments - 14, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    一、上節回顧 
    上次我們學習了變量,和一些基本的運算符的相關知識。這次我們要學習一下什么是邏輯。 
    btw:上次關于“+”的用法雖然最后的例子中用到了,可是沒有講。 
    Java代碼 
    1. String str = "Hello Lilei!";    //聲明str為字符串,初值為Hello Lilei!  
    2. ...  
    3. str += " I'm Hanmeimei!";   //+=運算符的效果等同于:str = str + " I'm Hanmeimei!";    

    這次我們上次寫到的一句代碼。運行過的同學都很清楚“+”是用來連接兩個字符串的。 
    比如:"AAA"+"BBB",返回結果就是"AAABBB"。 
    那么上述代碼中str+=" I'm Hanmeimei!";就不難理解了。結果就是"Hello Lilei! I'm Hanmeimei!"。 
    下面開始這次的內容。 

    小知識:在Eclipse中,按下 Ctrl+Shift+F 可以讓Eclipse自動為我們的代碼排版。 

    二、條件判斷語句 
    我們知道,JAVA語言是從程序的入口函數(public static void main())開始,逐行執行的。 
    假如我們要有一個選擇怎么辦呢?比如上次說的,玩家打怪,打中跟沒打中,結果顯然是不一樣的。if-else語句幫我們解決了這個問題。 

    1、if-else語句 


    語法結構:
    Java代碼 
    1. if(條件表達式)  
    2. {  
    3.    語句塊;  
    4. }  
    5. else  
    6. {  
    7.    語句塊;  
    8. }  

    拿例子說明問題 
    Java代碼 
    1. boolean hitSuccess = false;                  //聲明一個布爾型的變量  
    2.   
    3. if (hitSuccess == true) {                    //如果hitSuccess為真  
    4.               //語句塊1  
    5.     System.out.println("打中了!!");          //輸出“打中了”  
    6. else {                                     //如果hitSuccess不為真  
    7.               //語句塊2  
    8.     System.out.println("真可惜");  
    9.     System.out.println("沒打中");  
    10. }  

    這下很清晰了吧。程序執行到if (hitSuccess == true)的時候,就會進到括號里進行判斷,如果括號里的條件成立,那么執行下面的語句塊1,如果條件不成立則執行else里面的語句塊2。 
    if()里的判斷條件可以是多種多樣的。 
    Java代碼 
    1. int i=100;  
    2. int j=50;  
    3. int k=i+j;  
    4. if(k>200)  
    5. {語句塊1}  
    6. else if(k<100//else if用在if和else之間。滿足了需要判斷多個條件的需求。  
    7. {語句塊2}  
    8. else if(k==150)  
    9. {語句塊3}  
    10. else  //else是可選的,如果不需要做最后的判斷,可以不寫else。  
    11. {語句塊4}  

    我們讀讀上面的代碼,很容易理解。 
    如果 k>200 ,執行 語句塊1 
    如果 k<100 ,執行 語句塊2 
    如果 k==150 ,執行 語句塊3 
    如果 k的值都不滿足上述條件,則執行語句塊4。簡單吧。 

    注意,如果在一個if-else的結構中,有任意一個語句塊被執行了,那么其它的就都不會被執行了。就是說 
    if(k>100){...} 
    else if(k>150){...} 
    如果k的值為200,雖然兩個條件都滿足,但是當執行完了if(k>100){...}里面的語句塊之后下面的else if就不會再被執行了。
     

    大家可能奇怪,為什么是 k==150 ,而不是 k=150。 
    因此這里我們還要引出一概念:判斷比較符。 
    > ,大于 
    >=,大于等于 
    < ,小于 
    <=,小于等于 
    這些都跟大家八歲學的意義一樣。 
    要注意一下的是 == 。這個符號的作用是比較左右兩邊是否相等。還記得我們上節中說到了 = 嗎?對了,它叫賦值號。作用是把右邊的表達示的結果賦給左邊的變量,千萬不要跟這個比較符搞混了。 

    除了上述的符號,常用的還有: 
    && ,“與”——表示并且(and),取交集。 
    || ,“或”——表示或者(or),取并集。 
    因此上述代碼我們還可以寫成: 
    Java代碼 
    1. int i=100;  
    2. int j=50;  
    3. int k=i+j;  
    4. if(k>200 || k<100)    //如果 k>200 或 k<100 執行語句塊1  
    5. {語句塊1}  
    6. else if(k>=100 && k<=200)    //如果 k>=100 且 k<=200 執行語句塊2  
    7. {語句塊2}  


    if-else我們就說到這里。條件判斷的語法其實還有一個——switch語句。如果以后需要用到,再討論。講完了條件判斷,再來講講循環。 

    三、循環語句 
    我們做游戲,要在屏幕上生成一群怪的話,總不能自己一個個手工為每個怪都編寫一段代碼,讓它們顯示在屏幕上吧,那樣子要死人的!!! 

    [size=medium]1、while循環語句 
    Java代碼 
    1. while(條件表示式){  
    2.    語句塊;  
    3. }  

    上面可以看出,while循環的語法結構很簡單。下面我們來用while循環語句模擬一下生成10個怪。 
    Java代碼 
    1. int i = 0;  
    2. while (i < 10) {  
    3.     System.out.println("我是怪" + i + ",我出來了,哈哈哈!");  
    4.     i++;     
    5. }  

    咱們還是一行一行的來看(總共也沒幾行可以看-_-!)。 
    Java代碼 
    1. int i = 0;  

    這個 i ,我把它稱為循環控制變量。 
    Java代碼 
    1. while (i < 10) {循環體;}  

    如果 i<10 那么進入循環體,開始重復執行里面的代碼。 
    Java代碼 
    1. while (i < 10) {  
    2.     System.out.println("我是怪" + i + ",我出來了,哈哈哈!");  
    3.     i++;     
    4. }    

    進入循環了總得退出啊,要不然代碼運行到里面就不出來了,就會變成死循環。這里就靠我們的小 i 來退出。還記得 i++; 吧。就是 i 自身加1。每執行一次循環 i 的值就加1。當 i 的值等于10的時候,那么便不再滿足 i<10 的條件,循環退出。 

    [size=medium]2、for循環語句 
    語法結構 
    Java代碼 
    1. for(表達式1;表達式2;表達式3;)  
    2. {  
    3.     語句塊;  
    4. }  

    還是用例子說話 
    Java代碼 
    1. for(int i=0;i < 5;i++;)  
    2. {  
    3.     System.out.println(i);  //結果是換行輸出1 2 3 4 5  
    4. }  

    對照上面,我們很容易發現: 
    表達式1 是用來聲明或初始化一個循環變量。(聲明變量i,初值為0) 
    表達式2 是循環控制條件。(滿足 i < 5 這個條件時,循環繼續,否則退出循環) 
    表達式3 是循環控制變量的自增漲。(每次循環體完成后,執行i++) 
    可以看出來,只是和while循環形式上不一樣,本質還是一樣的。 

    最后我們用一個“復雜”的例子來結束這一節。 
    我們的目的是在控制臺打印如下效果,大家可以先自己做著試試, 不看下面答案。 

    ** 
    *** 
    **** 
    ***** 
    提示:System.out.println()是換行打印。System.out.print()是不換行打印。 


    Java代碼 
    1. package test;  
    2.   
    3. public class ForPro {  
    4.   
    5.     /** 
    6.      * 不要看我,不要看我,不要看我。 
    7.      */  
    8.     public static void main(String[] args) {  
    9.         for (int i = 0; i < 5; i++) {  
    10.             for (int j = 0; j <= i; j++) {  
    11.                 System.out.print("*");  
    12.             }  
    13.             System.out.println("");  
    14.         }  
    15.     }  
    16. }  



    由于J2SE的內容太多,而來這里看的人多少都有些編程的底子,這樣詳細的講解沒必要。所以我決定提前結束掉掃盲篇的內容。關于后面還要用到的數組以及OOP的思想,我在這就不多講了,需要了解的可以自己去找點資料看看。下次就進入J2ME的基礎篇了。


    本文出自Silver Wong的博客:http://www.tkk7.com/conanwsz

    評論

    # re: 從“傻X”到牛X——掃盲篇(二)JAVA的基本語法(二)  回復  更多評論   

    2009-04-21 09:49 by Stan
    終于出來了。。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一级特黄aaa大片免费看| 亚洲风情亚Aⅴ在线发布| 成人免费ā片在线观看| 亚洲精品无码专区2| 久久成人18免费网站| 亚洲精品无码久久久久| 一级毛片在线免费看| 亚洲影视一区二区| 成人午夜18免费看| 亚洲日产乱码一二三区别| 日韩精品免费一区二区三区| 免费人成网上在线观看| 在线观看亚洲天天一三视| 18禁在线无遮挡免费观看网站| 久久综合亚洲色一区二区三区| 亚洲毛片免费观看| 亚洲精品无码高潮喷水A片软| 四虎影视免费永久在线观看| 亚洲精品偷拍视频免费观看| 亚洲av网址在线观看| 免费看韩国黄a片在线观看| 亚洲AV无码AV日韩AV网站| 精品国产日韩亚洲一区| 久久成人免费电影| 亚洲精品国产suv一区88| 亚洲一区二区女搞男| 1000部羞羞禁止免费观看视频| 亚洲精品无码高潮喷水A片软| 国产亚洲欧洲Aⅴ综合一区| 欧洲一级毛片免费| 国产精品亚洲精品日韩动图| 亚洲精品成人片在线观看精品字幕| 57pao国产成永久免费视频| 亚洲av无码偷拍在线观看| 国产亚洲精品a在线观看app | 亚洲精品成a人在线观看夫| 亚洲人成人网站在线观看| 中文字幕在线免费观看| 国产精品亚洲专区一区| 中文字幕亚洲色图| 亚洲AV无码乱码在线观看性色扶|