前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >04-程序流程控制(中卷)

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

作者头像
软件小生活
发布2021-08-16 10:32:27
4150
发布2021-08-16 10:32:27
举报
文章被收录于专栏:软件小生活

0.作业练习题

1:基本小题目

int a = 10;

int b = 10;

int c = 10;

a = b++;

c = --a;

b = ++a;

a = c--;

请分别计算出a,b,c的值

2:比较复杂的题目[n1]

int a = 4;

int b = (a++)+(++a)+(a*10);

3.键盘录入两个数据,并对这两个数据求和,输出其结果

4.键盘录入两个数据,获取这两个数据中的最大值

5.键盘录入三个数据,获取这三个数据中的最大值

6.键盘录入两个数据,比较这两个数据是否相等

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
  //录入三个数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数字");
  intnum1 = sc.nextInt();
        System.out.println("请输入第二个数字");
  intnum2 = sc.nextInt();
        System.out.println("请输入第三个数字");
  intnum3 = sc.nextInt();
  inttemp=  num1>num2?num1:num2;
  intmax = temp>num3?temp:num3;
        System.out.println("max:"+max); 
}

键盘录入两个数据,比较这两个数据是否相等

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入第一个数:");
  intnum1 = sc.nextInt();
         System.out.println("请输入第二个数");
  intnum2 = sc.nextInt();
  // 比较两个数是否相等
  booleanres = (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[n2]

JDK5以后可以是枚举

JDK7以后可以是字符串[n3]

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

语句体:要执行的代码

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

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

1.3.switch基本使用

代码语言:javascript
复制
publicstaticvoid 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语句的结束条件

n 遇到break

n 执行到程序的末尾

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

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入一个年龄");
  intage = sc.nextInt();
  intnum = 1;
  switch (age) {
  casenum:
              System.out.println("年龄是:" + age);
  break;
  case 2:
              System.out.println("年龄是:" + age);
  break;
  default:
              System.out.println("年龄数据太大");
  break;
  }
     }

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

问题3:default可以省略吗? [n4]

问题4:break可以省略吗?[n5]

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

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

问题6:switch语句结束条件

  • 遇到break
  • 执行到程序的末尾
  • 的练习题
  • 看程序猜结果
代码语言:javascript
复制
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的阶乘

在控制台输出所有的”水仙花数”[n7]

统计”水仙花数”共有多少个

2.5.while循环

2.5.1.基本格式

while循环语句格式:

基本格式:

while(判断条件语句) {

循环体语句;

}

扩展格式:[n8]

初始化语句;

while(判断条件语句) {

循环体语句;

控制条件语句;

}

图解:

2.5.2.基本使用

2.5.3.while循环练习

1)输出10次HelloWorld案例

2)求出1-100之和

3)C:统计水仙花数有多少个


[n1]引出运算符的优先级

[n2]byte类型可以是switch的表达式吗? 可以

long类型可以是switch的表达式吗? 不可以

String类型可以是switch的表达式吗? Jdk1.7后可以

[n3]面试的时候一定要注意

[n4]当然时可以的,但是不建议,省略之后,一些不恰当的值,我们无法进行校验

开发中:单选题就可以使用

[n5]最后一条语句都可以省略,其余地方的语句不可以省略

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

[n7]水仙花数

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

举例:153就是一个水仙花数。

153= 1*1*1 + 5*5*5 + 3*3*3

[n8]写完扩展格式,我们就可以说while循环语句讲解完毕。因为它和for循环是可以等价转换的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.作业练习题
  • 1.选择结构-switch语句
    • 1.1.定义格式
      • 1.2.switch格式解释
        • 1.3.switch基本使用
          • 1.4.switch的注意事项
            • 1.7.switch和if的对比
            • 2.循环结构
              • 2.1.介绍
                • 2.2.循环语句的组成
                  • 2.3.循环结构的分类
                    • 2.4.for循环
                      • 2.4.1.基本格式
                      • 2.4.2.基本使用
                      • 2.4.3.for循环的注意事项
                      • 2.4.4.for循环的练习题
                    • 2.5.while循环
                      • 2.5.1.基本格式
                      • 2.5.2.基本使用
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档