04-程序流程控制(中卷)

04-程序流程控制(中卷)
0. 作业练习题
1:基本小题目

int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
请分别计算出a,b,c的值

2:比较复杂的题目
int a = 4;
int b = (a++)+(++a)+(a*10);

3.键盘录入两个数据,并对这两个数据求和,输出其结果
4.键盘录入两个数据,获取这两个数据中的最大值
5.键盘录入三个数据,获取这三个数据中的最大值
6.键盘录入两个数据,比较这两个数据是否相等
public static void main(String[] args) {
//录入三个数据

  Scanner sc = new Scanner(System.in);
  
  System.out.println("请输入第一个数字");
  
  int num1 = sc.nextInt();
  
  System.out.println("请输入第二个数字");
  
  int num2 = sc.nextInt();
  
  System.out.println("请输入第三个数字");
  
  int num3 = sc.nextInt();
  
 
  int temp=  num1>num2?num1:num2;
  
  int max = temp>num3?temp:num3;
  
  System.out.println("max:"+max);	  

}

键盘录入两个数据,比较这两个数据是否相等
public static void main(String[] args) {

	Scanner sc = new Scanner(System.in);

	System.out.println("请输入第一个数:");

	int num1 = sc.nextInt();

	System.out.println("请输入第二个数");

	int num2 = sc.nextInt();

	// 比较两个数是否相等

	boolean res = (num1 == num2);
	System.out.println("比较结果:" + res);

}
  1. 选择结构-switch语句
    1.1.定义格式

switch语句格式:

switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;

default:
语句体n+1;
break;
}

1.2.switch格式解释
格式的解释:
switch:表示这是switch选择结构

	表达式:这个地方的取值是有限定的
		byte,short,int,char

		JDK5以后可以是枚举
		JDK7以后可以是字符串

	case:后面跟的是要和表达式进行比较的值

	语句体:要执行的代码

	break:表示中断,结束的意思,可以控制switch语句的结束。

	default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。

1.3.switch基本使用
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

 System.out.println("请输入一个年龄的数据(1-90)");
 
 int  week = sc.nextInt();
 
 switch(week)
 {
  case 1:
	 System.out.println("年龄是:"+week);
  break;
  
  case 2:
	  System.out.println("年龄是:"+week);
	 break;
  case 3:
	  System.out.println("年龄是:"+week);
	  break;
  default:
	   System.out.println("您输入的星期数值非法");
	   break;
 }

}

1.4.switch的注意事项
1)case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

2)default可以省略吗?
可以省略。一般不建议

3)break可以省略吗?

break 可以省略,但是不要在前面的case中省略,否则会造成case贯穿问题,可以在default中省略

4)default的位置一定要在最后吗?
可以出现在switch语句任意位置。

5)switch语句的结束条件
 遇到break

 执行到程序的末尾

问题1:只能是常量,不能是变量

public static void main(String[] args) {

	Scanner sc = new Scanner(System.in);

	System.out.println("请输入一个年龄");

	int age = sc.nextInt();

	int num = 1;

	switch (age) {
	case num:
		System.out.println("年龄是:" + age);
		break;

	case 2:
		System.out.println("年龄是:" + age);
		break;

	default:
		System.out.println("年龄数据太大");
		break;

	}
}

问题2:多个case后面的值不能出现相同的

问题3:default可以省略吗?

问题4:break可以省略吗?

问题5:default的位置一定要在最后吗?

可以出现在switch语句任意位置。

问题6:switch语句结束条件

 遇到break

 执行到程序的末尾
1.5.switch的练习题
1)看程序猜结果

int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println(“y=”+y);

2)模拟做单项选择题,根据你的选择,给出对应的答案。(表达式是字符的情况)

3)键盘录入字符串,根据给定的字符串,来输出你选择的字符串是什么?(表达式是字符串的情况)

4)用switch语句实现键盘录入月份,输出对应的季节

1.7.switch和if的对比
在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?

if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断
2. 循环结构
需求:
请在控制台 输出10次:在操场跑步!!!
请在控制台输出 100次: 在操场跑步!!!
请在控制台 10000次: 在操场跑步!!!

2.1.介绍
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
2.2.循环语句的组成

初始化语句:
一条或者多条语句,这些语句完成一些初始化操作。

判断条件语句:
这是一个boolean 表达式,这个表达式能决定是否执行循环体。

循环体语句:
这个部分是循环体语句,也就是我们要多次做的事情。

控制条件语句:
这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

2.3.循环结构的分类
for 循环

while 循环

do-while 循环

2.4.for循环
2.4.1.基本格式

for循环语句格式:

for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}

执行流程:

A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。

C:执行循环体语句

D:执行控制条件语句
E:回到B继续

图解:

2.4.2.基本使用

2.4.3.for循环的注意事项
判断条件语句的结果是一个boolean类型

循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

一般来说:有左大括号就没有分号,有分号就没有左大括号

2.4.4.for循环的练习题
请在控制台输出数据1-10
请在控制台输出数据10-1
求出1-10之间数据之和
求出1-100之间偶数和
求出1-100之间奇数和
求5的阶乘
在控制台输出所有的”水仙花数”
统计”水仙花数”共有多少个

2.5.while循环
2.5.1.基本格式

while循环语句格式:

基本格式:

while(判断条件语句) {
循环体语句;
}

扩展格式:

初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}

图解:

2.5.2.基本使用

2.5.3.while循环练习
1)输出10次HelloWorld案例
2)求出1-100之和
3)C:统计水仙花数有多少个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_669646

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值