回顾:
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天