<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 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    一、上節(jié)回顧 
    上次我們學(xué)習(xí)了變量,和一些基本的運(yùn)算符的相關(guān)知識(shí)。這次我們要學(xué)習(xí)一下什么是邏輯。 
    btw:上次關(guān)于“+”的用法雖然最后的例子中用到了,可是沒(méi)有講。 
    Java代碼 
    1. String str = "Hello Lilei!";    //聲明str為字符串,初值為Hello Lilei!  
    2. ...  
    3. str += " I'm Hanmeimei!";   //+=運(yùn)算符的效果等同于:str = str + " I'm Hanmeimei!";    

    這次我們上次寫(xiě)到的一句代碼。運(yùn)行過(guò)的同學(xué)都很清楚“+”是用來(lái)連接兩個(gè)字符串的。 
    比如:"AAA"+"BBB",返回結(jié)果就是"AAABBB"。 
    那么上述代碼中str+=" I'm Hanmeimei!";就不難理解了。結(jié)果就是"Hello Lilei! I'm Hanmeimei!"。 
    下面開(kāi)始這次的內(nèi)容。 

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

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

    1、if-else語(yǔ)句 


    語(yǔ)法結(jié)構(gòu):
    Java代碼 
    1. if(條件表達(dá)式)  
    2. {  
    3.    語(yǔ)句塊;  
    4. }  
    5. else  
    6. {  
    7.    語(yǔ)句塊;  
    8. }  

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

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

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

    注意,如果在一個(gè)if-else的結(jié)構(gòu)中,有任意一個(gè)語(yǔ)句塊被執(zhí)行了,那么其它的就都不會(huì)被執(zhí)行了。就是說(shuō) 
    if(k>100){...} 
    else if(k>150){...} 
    如果k的值為200,雖然兩個(gè)條件都滿足,但是當(dāng)執(zhí)行完了if(k>100){...}里面的語(yǔ)句塊之后下面的else if就不會(huì)再被執(zhí)行了。
     

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

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


    if-else我們就說(shuō)到這里。條件判斷的語(yǔ)法其實(shí)還有一個(gè)——switch語(yǔ)句。如果以后需要用到,再討論。講完了條件判斷,再來(lái)講講循環(huán)。 

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

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

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

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

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

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

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

    [size=medium]2、for循環(huán)語(yǔ)句 
    語(yǔ)法結(jié)構(gòu) 
    Java代碼 
    1. for(表達(dá)式1;表達(dá)式2;表達(dá)式3;)  
    2. {  
    3.     語(yǔ)句塊;  
    4. }  

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

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

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

    ** 
    *** 
    **** 
    ***** 
    提示: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的內(nèi)容太多,而來(lái)這里看的人多少都有些編程的底子,這樣詳細(xì)的講解沒(méi)必要。所以我決定提前結(jié)束掉掃盲篇的內(nèi)容。關(guān)于后面還要用到的數(shù)組以及OOP的思想,我在這就不多講了,需要了解的可以自己去找點(diǎn)資料看看。下次就進(jìn)入J2ME的基礎(chǔ)篇了。


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

    評(píng)論

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

    2009-04-21 09:49 by Stan
    終于出來(lái)了。。

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲免费观看网站| 亚洲视频免费在线观看| 一个人看www免费高清字幕| 一个人看的www免费高清| 暖暖免费在线中文日本| 5555在线播放免费播放| 好吊妞在线新免费视频| 国产偷国产偷亚洲高清日韩| 亚洲av中文无码乱人伦在线r▽ | 无码一区二区三区免费视频| 日韩一区二区在线免费观看| 国产精品亚洲视频| 亚洲国色天香视频| 最新亚洲人成无码网站| 中文字幕在线视频免费| 69式互添免费视频| 又大又黄又粗又爽的免费视频| 亚洲精品无码久久久久| 亚洲乱码一二三四区乱码| 黄色大片免费网站| 免费国产黄网站在线观看可以下载| 成人超污免费网站在线看| 亚洲中文字幕无码不卡电影 | www.亚洲日本| 一级特级女人18毛片免费视频| 免费国产黄网站在线观看 | 亚洲国产av玩弄放荡人妇| 国产精品九九久久免费视频 | 亚洲男人天堂av| 亚洲aⅴ无码专区在线观看| 国内永久免费crm系统z在线| 免费无码AV片在线观看软件| 亚洲综合无码AV一区二区| 亚洲精品第一国产综合野| 中文字幕无码免费久久9一区9 | 88av免费观看入口在线| 国产精品免费看香蕉| 亚洲成人在线电影| 日本永久免费a∨在线视频| 1000部羞羞禁止免费观看视频| 亚洲第一区精品日韩在线播放|