游戲之道

          文不在多 有用就行
          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.aygfsteel.com/conanwsz

          評論

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 时尚| 沅陵县| 东方市| 桃园市| 台北市| 新宁县| 茂名市| 双江| 辽宁省| 望都县| 赣榆县| 营山县| 宣化县| 兰坪| 孝昌县| 新沂市| 靖宇县| 浮山县| 郸城县| 昌图县| 眉山市| 南涧| 鄂伦春自治旗| 屏东县| 荆州市| 霍州市| 灵宝市| 奉节县| 通海县| 长子县| 土默特右旗| 于都县| 大方县| 鹤庆县| 蓬安县| 绥宁县| 法库县| 福海县| 剑河县| 甘南县| 庄河市|