標籤:
回顧:
1.運算子和運算式
1)算術: +-*/%,++,--
2)關係:>,<,>=,<=,==,!=
3)邏輯:&&,||,!
4)賦值:=,+=,-=,*=,/=,%=
5)字串串連:+
6)三目/條件:boolean?數1:數2
2.分支結構
1)if: 1
2)if...else: 2
3)if...else if: 多
4)switch...case: 多
優點: 結構清晰,效率高
缺點: 整數,相等
break:跳出switch
正課:
1.迴圈:反覆的執行一段相同或相似的代碼
2.迴圈三要素:
1)迴圈變數的初始化
2)迴圈的條件(以迴圈變數為基礎)
3)迴圈變數的改變(向著迴圈的結束變)
迴圈變數:在迴圈過程中所改變的那個量
3.迴圈結構:
1)while: 先判斷後執行,有可能一次都不執行
2)do...while: 先執行後判斷,至少執行一次
竅門:當第1要素與第3要素相同時,首選
3)for:應用率最高
4.break:跳出迴圈
continue:跳過迴圈體中剩餘語句而進入下一次迴圈
任務: 1.隨機加法運算器 2.經典案例沒有很順利寫下來的,重做一次 3.課後作業 4.每日一練
課後作業第9題數列求和 要求:只輸出最終結果就OK
Addition
隨機產生0到88之間的隨機數
(int)(Math.random()*89)
(1)5+85=?-----------------出題 算吧! 90---------------------------答題 對了------------------------判題
(2)8+2=? 算吧! 10 對了
(3)87+54=? 算吧! 100 錯了
.... score=40
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1,3
if(guess==0){
break;
}else if(guess>num){
System.out.println("大了");
}else if(guess<num){
System.out.println("小了");
}
}while(guess!=num);
int num = 250; //藏起來的那個數 迴圈變數:使用者猜的那個數guess 1)System.out.println("猜吧!"); int guess = scan.nextInt(); 2)guess!=num 3)System.out.println("猜吧!"); guess = scan.nextInt();
給變數賦值,有三種方式:
1) int num = 250;
2) int num = scan.nextInt();
3) int num = ?;
要求: num為1到1000之間的隨機數
Math.random()------------------0到0.999999999....... *1000----------------------------0到999.9999999....... +1--------------------------------1到1000.999999....... (int)------------------------------1到1000
Math.random()------------------0到0.999999999....... *1000----------------------------0到999.9999999....... (int)------------------------------0到999 +1--------------------------------1到1000 Math.random()------------------0到0.999999999....... *1000----------------------------0到999.9999999....... (int)------------------------------0到999 +1--------------------------------1到1000
分三步實現:
1.先與三要素
2.大了或小了的對比提示
3.輸入0時退出
GuessingGame
猜吧! 200 小了
猜吧! 300 大了
猜吧! 260 大了
猜吧! 249 小了
猜吧! 250 恭喜你,猜對了
列印10份簡曆
份數
夠10份嗎? 不夠 打一份 份數為1
夠10份嗎? 不夠 打一份 份數為2
夠10份嗎? 不夠 打一份 份數為3
夠10份嗎? 不夠 打一份 份數為4
夠10份嗎? 不夠 打一份 份數為5
夠10份嗎? 不夠 打一份 份數為6
夠10份嗎? 不夠 打一份 份數為7
夠10份嗎? 不夠 打一份 份數為8
夠10份嗎? 不夠 打一份 份數為9
夠10份嗎? 不夠 打一份 份數為10
夠10份嗎? 夠了
迴圈變數: 份數times
1)int times=0;
2)times<10
3)times++;
times=0/1/2/3/4/5/6/7/8/9
案例1: 輸出10次"行動是成功的階梯"
行動是成功的階梯
行動是成功的階梯
行動是成功的階梯
...
行動是成功的階梯
行動是成功的階梯
迴圈變數:輸出的次數times
1)int times=0;
2)times<=9
3)times++;
times=0/1/2/3/4/5/6/7/8/9
案例2: 輸出9的乘法表
1*9=9
2*9=18
3*9=27
4*9=36
...
9*9=81
迴圈變數: 乘數num
1)int num=1;
2)num<=9
3)num++;
num=1/2/3/4/5/6/7/8/9
9*9=81
8*9=72
...
1*9=9
迴圈變數: 乘數num
1)int num=9;
2)num>=1
3)num--;
num=9/8/7/6/5/4/3/2/1
1)順序結構:從上往下逐行執行,每句必走
2)分支結構:有條件的執行某語句一次,並非每句必走
3)迴圈結構:有條件的執行某語句多次,並非每句必走
while(boolean){
語句塊----迴圈體(反覆執行的代碼)
}
System.out.println("over");
if(boolean){ 語句塊 } System.out.println("over");
反覆--------
每年都過花牌 (春夏秋冬)四季
每周都過周一到周日
每天都過白天和黑夜
每周一到周五來達內上班
每周一到周六來達內上課
跑3圈
印表機列印10份簡曆
nt a=8,b=55; //升序---a=5,b=8
if(a>b){
int t=a; //t=8
a=b; //a=5
b=t; //b=8 //交換兩個數的小演算法(追尾並繞圈)
}
a>b則換,保證a<b
int a=45,b=3,c=6,d=56; //a=3,b=6,c=45,d=56
若a>b則交換,保證a<b 若a>c則交換,保證a<c 若a>d則交換,保證a<d 若b>c則交換,保證b<c 若b>d則交換,保證b<d 若c>d則交換,保證c<d
天數主要和月有關
1/3/5/7/8/10/12-----------31天 4/6/9/11--------------------30天 2-----------------------------28天/29天
day004--20150804