day04分支结构(下)循环结构(上)

回顾:
1.运算符:
1)算术:+,-,/,%,++,–
2)关系:>,<,>=,<=,==,!= boolean
3)逻辑:&&,||,! boolean
4)赋值:=,+=,-=,=,/=,%=
5)字符串连接:+
6)条件/三目: boolean?数1:数2
2.分支结构:基于条件执行的
1)if结构: 1条路
2)if…else结构: 2条路

正课:
1.Scanner接收用户输入的数据:--------不需要理解,背下来(面向对象第5天才能理解)
1)在package下:
import java.util.Scanner;
2)在main中:
Scanner scan = new Scanner(System.in);
3)在第2步之下:
System.out.println(“请输入年龄:”);
int age = scan.nextInt();
System.out.println(“请输入价格:”);
double price = scan.nextDouble();
2.分支结构:
1)if结构: 1条路
2)if…else结构: 2条路
3)if…else if结构: 多条路
4)switch…case结构: 多条路
优点:结构清晰、效率高
缺点:只能对整数来判断相等
break:跳出switch
3.循环:反复执行一段相同或相似的代码
4.循环三要素:
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环的结束变)
循环变量:在整个循环过程中所反复改变的那个数
5.循环结构:
1)while结构:先判断后执行,有可能一次都不执行
2)do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while

变量的作用域/范围: 从变量的声明开始,到包含它最近的大括号结束

1到1000

Math.random()--------------0.0到0.99999999999999…
*1000----------------------0.0到999.999999999999…
+1-------------------------1.0到1000.99999999999…
(int)----------------------1到1000

(int)----------------------0到999
+1-------------------------1到1000

所说的有几条路:
-------------------不是指要干几件事
-------------------而是指有几种情况

int num = 250;

循环变量:用户猜的数guess
1)System.out.println(“猜吧!”);
int guess = scan.nextInt();
2)guess!=num
3)System.out.println(“猜吧!”);
guess = scan.nextInt();

猜吧!
300
太大了
猜吧!
200
太小了
猜吧!
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的乘法表:
19=9
29=18
39=27
49=36
59=45
69=54
79=63
89=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时结束

3)num+=2;
num=1/3/5/7/9/ 11时结束

循环变量:所打印的份数num
1)int num=0;
2)num<5
3)num++;
num=0/1/2/3/4/ 5时结束

                                                份数为0

够5份吗? 不够 打印一份 份数为1
够5份吗? 不够 打印一份 份数为2
够5份吗? 不够 打印一份 份数为3
够5份吗? 不够 打印一份 份数为4
够5份吗? 不够 打印一份 份数为5
够5份吗? 够了

循环变量:所跑圈数count
1)int count=0;
2)count<3
3)count++;
count=0/1/2/ 3时结束

                                           圈数为0

够3圈吗? 不够 跑一圈 圈数为1
够3圈吗? 不够 跑一圈 圈数为2
够3圈吗? 不够 跑一圈 圈数为3
够3圈吗? 够了

打印机打印5份简历:

1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句一次,并非每句必走
3)循环结构:有条件的执行某语句多次,并非每句必走

if(boolean){ //判断一次
语句块 //最多只执行一次
}

while(boolean){ //判断多次
语句块 //执行多次
}

当业务正好是对整数判断相等的时候-------switch…case是首选

A:成绩大于等于90
B:成绩大于等于80并且小于90
C:成绩大于等于60并且小于80
D:成绩小于60

if(score>=90){
A-优秀
}else if(score>=80){
B-良好
}else if(score>=60){
C-中等
}else{
D-不及格
}

Scanner-------------小零件(API时详细讲)

给变量赋值:
1)赋一个固定的值:
int a = 5;
2)接收用户输入的数据:---------------Scanner
int a = ?;
3)系统随机生成的值:-----------------下午讲
int a = ?;

1.Scanner接收用户输入的数据:

package day04;
import java.util.Scanner; //1.
//Scanner的演示
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //2.
System.out.println(“请输入年龄:”);
int age = scan.nextInt(); //3.
System.out.println(“请输入价格:”);
double price = scan.nextDouble();

	System.out.println("年龄为 :"+age);
	System.out.println("价格为:"+price);
}

}

2.分支结构:
1)if结构: 1条路
2)if…else结构: 2条路
3)if…else if结构: 多条路
* 1)语法:
* if(boolean-1){
* 语句块1
* }else if(boolean-2){
* 语句块2
* }else if(boolean-3){
* 语句块3
* }else{
* 语句块4
* }
* 2)执行过程:
* 判断boolean-1,若为true则执行语句块1(结束),若为false则
* 再判断boolean-2,若为true则执行语句块2(结束),若为false则
* 再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束)
* 3)结论:
* 语句块1/2/3/4,只能走其中之一
*/
}
}

案例:
package day04;
import java.util.Scanner;
//成绩等级判断
public class ScoreLevel {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println(“请输入成绩:”);
double score = scan.nextDouble();

	//888, -23, 95, 85, 65, 45
	if(score<0 || score>100) {
		System.out.println("成绩不合法");
	}else if(score>=90) { //合法
		System.out.println("A-优秀");
	}else if(score>=80) {
		System.out.println("B-良好");
	}else if(score>=60) {
		System.out.println("C-中等");
	}else {
		System.out.println("D-不及格");
	}
	
}

}
4)switch…case结构: 多条路

优点:结构清晰、效率高
缺点:只能对整数来判断相等
break:跳出switch

package day04;
//switch…case结构的演示
public class SwitchCaseDemo {
public static void main(String[] args) {
int num = 2;
switch(num) { //byte,short,int,char,String(JDK1.7版本开始支持)
case 1: //相当于if(num==1)
System.out.println(111);
break;
case 2: //以此为入口
System.out.println(222);
break; //跳出switch
case 3:
System.out.println(333);
break;
default: //所有case都未匹配时执行
System.out.println(666);
}
}
}
案例:
package day04;
import java.util.Scanner;
//命令解析程序
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println(“请选择功能: 1.存款 2.取款 3.查询余额 4.退卡”);
int command = scan.nextInt();

	switch(command) {
	case 1:
		System.out.println("存款");
		break;
	case 2:
		System.out.println("取款");
		break;
	case 3:
		System.out.println("查询余额");
		break;
	case 4:
		System.out.println("退卡");
		break;
	default:
		System.out.println("输入错误");
	}
}

}
5.循环结构:
1)while结构:先判断后执行,有可能一次都不执行
* 1)语法:
* while(boolean){
* 语句块-------------反复执行的代码
* }
* 2)执行过程:
* 判断boolean的值,若为true则执行语句块,
* 再判断boolean的值,若为true则再执行语句块,
* 再判断boolean的值,若为true则再执行语句块,
* 如此反复,直到boolean为false时循环结束
*
2)do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while
* 1)语法:
* do{
* 语句块
* }while(boolean);
* 2)执行过程:
* 执行语句块,再判断boolean的值,若为true则
* 再执行语句块,再判断boolean的值,若为true则
* 再执行语句块,再判断boolean的值,…
* 如此反复,直到boolean的值为false时,循环结束
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值