<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://m.tkk7.com/conanwsz

    評論

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

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

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


    網站導航:
     
    主站蜘蛛池模板: 一级看片免费视频囗交| 中文字幕亚洲精品无码| 一级毛片视频免费| 亚洲国产精品13p| 一级a性色生活片久久无少妇一级婬片免费放 | 99在线免费观看视频| 久久精品国产亚洲夜色AV网站 | 99视频有精品视频免费观看| 亚洲VA中文字幕无码一二三区| 久久久久久AV无码免费网站| 久久国产精品亚洲一区二区| 未满十八18禁止免费无码网站 | 亚洲高清国产拍精品青青草原| 天堂亚洲免费视频| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 精品亚洲国产成人| 成人男女网18免费视频| MM1313亚洲精品无码久久| 免费人成年轻人电影| 成人超污免费网站在线看| 亚洲va中文字幕| 免费人成激情视频| 中国一级特黄的片子免费 | 亚洲AV无码一区东京热久久| 曰批全过程免费视频网址| 亚洲专区一路线二| 国产精品免费一级在线观看| 亚洲日韩中文字幕| 成人毛片18女人毛片免费| 美女黄色免费网站| 国产精品另类激情久久久免费| 免费人人潮人人爽一区二区| 亚洲av无码一区二区三区乱子伦| 最近2019中文字幕免费直播| 久久精品国产亚洲AV果冻传媒 | 狼友av永久网站免费观看| 国产VA免费精品高清在线| 久久久久亚洲AV片无码下载蜜桃| 性色av免费观看| 日本在线免费观看| 国产成人高清亚洲一区久久|