一、basic
4、day04
0) day04_all.txt
回顾:
1.运算符:
1)算术:+,-,*,/,%,++,--
2)关系:>,<,>=,<=,==,!= boolean
3)逻辑:&&,||,! boolean
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相同时,首选do...while
3)for:应用率最高,固定次数循环
4.break:跳出循环
continue:跳过循环体中剩余语句而进入下一次循环
练习:----------------------每人至少写两次
1)while版的猜数字
2)do...while版的猜数字
3)for的随机加法运算器
课后作业:
sum=11111111111100
sum=3.3182....9937
Math.random()-----------------0.0到0.9999999999...
*100--------------------------0.0到99.999999999...
(int)-------------------------0到99
加数为0到99之间的随机数
int score = 0;
for(int i=1;i<=10;i++){
}
System.out.println("score"+score);
(1)45+5=?
算吧!
50
答对了
(2)56+97=?
算吧!
125
答错了
(3)56+97=?
算吧!
125
答错了
(4)56+97=?
算吧!
125
答错了
(5)56+97=?
算吧!
125
答错了
(6)56+97=?
算吧!
125
答错了
(7)56+97=?
算吧!
125
答错了
(8)56+97=?
算吧!
125
答错了
(9)56+97=?
算吧!
125
答错了
(10)56+97=?
算吧!
125
答错了
总得分为:10
for(int times=0 ; times<10 ; times++){
System.out.println("行动是成功的阶梯");
}
System.out.println("over");
12432432432432432432
12432432432432432432
int times=0;
while(times<10){
System.out.println("行动是成功的阶梯");
times++;
}
System.out.println("over");
案例难
1到1000之内的随机数
Math.random()---------------0.0到0.999999999999...
*1000-----------------------0.0到999.9999999999...
(int)-----------------------0到999
+1--------------------------1到1000
Math.random()---------------0.0到0.999999999999...
*1000-----------------------0.0到999.9999999999...
+1--------------------------1.0到1000.999999999...
(int)-----------------------1到1000
int num = 250;
循环变量:用户猜的那个数guess
1)System.out.println("猜吧!");
int guess = scan.nextInt();
2)guess!=num
3)System.out.println("猜吧!");
guess = scan.nextInt();
Guessing
输入0,退出循环
break;
猜吧!
300
太大了
猜吧!
200
太小了
猜吧!
249
太小了
猜吧!
250
恭喜你,猜对了
案例一:
输出10次"行动是成功的阶梯":
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
循环变量:次数times
1)int times=0;
2)times<10
3)times++;
times=0/1/2/3/4/5/6/7/8/9/10时结束
案例二:
输出9的乘法表:
1*9=9
2*9=18
3*9=27
4*9=36
5*9=45
6*9=54
7*9=63
8*9=72
9*9=81
循环变量:乘数num
1)int num=1;
2)num<=9
3)num++;
num=1/2/3/4/5/6/7/8/9/10时结束
循环变量:乘数num
1)int num=9;
2)num>=1
3)num--;
num=9/8/7/6/5/4/3/2/1/0时结束
循环变量:份数times
1)int times=0;
2)times<10
3)times++;
times=0/1/2/3/4/5/6/7/8/9/10时结束
份数为0
够10份吗? 不够 打印一份 份数为1
够10份吗? 不够 打印一份 份数为2
够10份吗? 不够 打印一份 份数为3
够10份吗? 不够 打印一份 份数为4
够10份吗? 不够 打印一份 份数为5
够10份吗? 不够 打印一份 份数为6
够10份吗? 不够 打印一份 份数为7
够10份吗? 不够 打印一份 份数为8
够10份吗? 不够 打印一份 份数为9
够10份吗? 不够 打印一份 份数为10
够10份吗? 够了
循环变量:圈数count
1)int count=0;
2)count<3
3)count++;
count=0/1/2/3时结束
圈数为0
够3圈吗? 不够 跑一圈 圈数为1
够3圈吗? 不够 跑一圈 圈数为2
够3圈吗? 不够 跑一圈 圈数为3
够3圈吗? 够了
案例一:
输出10次"行动是成功的阶梯":
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
行动是成功的阶梯
案例二:
输出9的乘法表:
1*9=9
2*9=18
3*9=27
4*9=36
5*9=45
6*9=54
7*9=63
8*9=72
9*9=81
1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句一次,并非每句必走
3)循环结构:有条件的执行某语句多次,并非每句必走
while(boolean){
语句块/循环体------------反复干的那个事
}
System.out.println("over");
if(boolean){
语句块
}
System.out.println("over");
1/3/5/7/8/10/12--------------31天
4/6/9/11---------------------30天
2----------------------------28天/29天
int a=3,b=8,c=2,d=1;
若a>b则交换,保证a<b
若a>c则交换,保证a<c
若a>d则交换,保证a<d
若b>c则交换,保证b<c
若b>d则交换,保证b<d
若c>d则交换,保证c<d
int a=8,b=55;
if(a>b){
int t=a;
a=b;
b=t;
}
int t=a;a=b;b=t;
int t=b;b=a;a=t;
System.out.println("请输入两个数:");
int a = scan.nextInt();
int b = scan.nextInt();
5 6
5 6
5
6
int a=8,b=5;
int max = a>b?a:b;
if(a>b){
max=a;
...
...
}else{
max=b;
}
1) Addition.java
package day04;
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score = 0;
for(int i=1;i<=10;i++){
int a = (int)(Math.random()*100);
int b = (int)(Math.random()*100);
int result = a+b;
System.out.println("("+i+")"+a+"+"+b+"=?");
System.out.println("算吧!");
int answer = scan.nextInt();
if(answer==-1){
break;
}
if(answer==result){
System.out.println("答对了");
score += 10;
}else{
System.out.println("答错了");
}
}
System.out.println("score="+score);
}
}
2) ForDemo.java
package day04;
public class ForDemo {
public static void main(String[] args) {
int sum = 0;
for(int i=1;i<=100;i++){
if(i%10!=3){
sum += i;
}
}
System.out.println("sum="+sum);
}
}
3)Guessing.java
package day04;
import java.util.Scanner;
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1);
System.out.println(num);
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt();
if(guess==0){
break;
}
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}
}while(guess!=num);
if(guess==num){
System.out.println("恭喜你,猜对了!");
}else{
System.out.println("下次再来吧!");
}
}
}
4) Homework.java
package day04;
public class Homework {
public static void main(String[] args) {
}
}
5) WhileDemo.java
package day04;
public class WhileDemo {
public static void main(String[] args) {
int num = 1;
while(num<=9){
System.out.println(num+"*9="+num*9);
num++;
}
System.out.println("over");
}
}