3.流程控制

Jeknight Jeknight     2022-09-01     776

关键词:

1. 顺序结构

程序从上到下逐行执行
每个语句只被执行一次
中间没有条件和跳转

2. 分支结构

分支又称条件语句,实现流程的控制

Java分支语句:

  1. If语句
  2. Switch语句

技术分享

2.1 If语句

2.1.1 If

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

如果if语句中的大括号只有一语句,那么可以省略大括号,不建议这样做,容易出错

练习1:

定义一变量 sex 表示人的性别。
如果sex 为 1,输出小明是男的;
如果sex 为 0,输出小明是女的;

易错:

int i = 10;
if (i = 10)
{
    System.out.println(“我是10”);
}

2.1.2 If-else

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

练习2:

定义一变量 sex 表示人的性别。
如果sex 为 1,输出:小明是男的;
如果sex 为 0,输出:小明是女的;
如果sex 不为0,也不为1,输出:小明是可能去过泰国的;

2.1.3 If-elseif-else

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

练习3:

定义一浮点数 f ,存放华阳中学3年2班学生小明的期末考试数学成绩(100分制:0到100),
如果成绩大于等于 90 ,输出:华阳中学3年2班小明同学,期末考试数学成绩为:优,
如果成绩大于等于 80 ,输出:华阳中学3年2班小明同学,期末考试数学成绩为:良,
如果成绩大于等于 70 ,输出:华阳中学3年2班小明同学,期末考试数学成绩为:中,
如果成绩大于等于 60 ,输出:华阳中学3年2班小明同学,期末考试数学成绩为:差,
如果成绩小于 60 ,输出:华阳中学3年2班小明同学,期末考试数学成绩为:不及格。

2.1.4 嵌套的If-else

if(布尔表达式 1){
   ////如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
      ////如果布尔表达式 2的值为true执行代码
   }
}

练习4:

根据输入的年龄和性别显示阶段的姓名:如果是男性:0-3:男婴;4-18:正太;19-28:欧巴;29-50:蜀黍;51及以后“爷爷”。如果是女性:0-3:女婴;4-18:萝莉;19-28:妹纸;29-50:熟女;51及以后“奶奶”
如果用户没有填写姓名,则提示“请输入姓名”,否则如果姓名长大于10则提示“姓名长度不能大于10”,
“男”.equals(“男”);
“长度”.length();

2.2 Switch语句

switch(表达式) {
    case 表达式:
          语句;
          break;
    case 表达式:
          语句;
          break;
    default:
          语句;
}

表达式只能是整数类型或者enum枚举类型、String类型(JDK1.7),包含byte,short,int和char,不能是long

练习5:

近期跑男的节目组找到你,让你替他们做一个选择。你有八张卡片,分别为A-邓超,B-Angelababy,C-李晨,D-陈赫,E-郑恺,F-王祖蓝,G-鹿晗,如果你选择邓超,请输出“We are 伐木累!”,如果是Angelababy,请输出“boom shakalaka!”,如果是李晨,请输出“我们打一架吧!”,如果是陈赫,请输出“你是猪吗?”,如果是郑恺,请输出“噗”,如果是王祖蓝,请输出“完美!”,如果是鹿晗,请输出“傻狍子!”,如果你选择的不是上面的,请输出“你是猴子请来的救兵吗?”

3. 循环结构

满足循环条件下,反复执行某一段代码,这段被重复执行的代码叫循环体。

包含4个部分:

  1. 初始化语句
  2. 循环条件
  3. 循环体
  4. 迭代语句(循环控制语句)

技术分享

Java中主要的三种循环结构:

  1. while循环
  2. do-while循环
  3. for循环

3.1 while循环

初始化语句
while(循环条件){
     循环体
     迭代语句
}

技术分享

只要循环条件为true,循环体会一直执行下去。一般用于不知道循环的次数时。

练习6:

输出1-100整数

3.2 do-while循环

初始化语句
do{
     循环体
     迭代语句
} while(循环条件);

技术分享

do-while循环和while循环相似,不同的是,do-while循环至少会执行一次。 do-while循环的循环条件后面必须有一个分号,这个分号表明循环结束

练习7:

用do-while实现练习6

3.3 for循环

for(初始化语句;循环条件;迭代语句){
     循环体
}

技术分享

练习8:

打印100以内不能被7整除的数,并求其和

3.4 循环嵌套

把一个循环放在另一个循环内

for(int i = 0;i < 5; i++){
    for(int j = 0; j < 3; j++){
        System.out.println(“i的值是:”+i+“,j的值是:”+j);    }
}

嵌套循环的执行顺序是从外到内
使用循环嵌套时,内层和外层循环的控制变量不能相同
循环嵌套结构的书写,要体现循环层次的关系
避免太多和太深的循环嵌套结构

练习9:

打印9x9乘法表
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
…

3.5 循环控制

3.5.1 break

某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为false时才退出循环

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块

break 跳出最里层的循环,并且继续执行该循环下面的语句。

练习10:

数组存放有 1 到 10,10个整数,输出 1 到 10 (含10)中的偶数。要求必须使用到 break 关键字。

3.5.2 continue

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

在 for 循环中,continue 语句使程序立即跳转到更新语句。

在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

练习11:

使用continue,代替break,实现练习10

4. 练习和实践

1、写一个将十进制数转换成二进制的程序。
2、写一个用于计算两个整数的最大公约数和最小公倍数的程序。
3、任意一个数,计算每一位的和。
4、输出直角三角形、倒等腰三角形。
5、打印出所有的“水仙花数”,所谓“水仙花”是指一个三位数,其各位数字立方和等于该数的本身
    例如:153是一个“水仙花数”

 

3.8控制流程

...序设计语言一样,Java使用条件语句和循环结构确定控制流程。本节先讨论条件语句,然后讨论循环语句,最后介绍switch语句。   当需要对某个表达式的多个值进行检测时,可以使用switch语句。   查看详情

3-2流程控制switch

流程控制: 对PHP程序执行的过程进行控制! PHP有哪些手段对程序执行过程进行控制! 2.switch语句 switch(表达式){ case值1://case相当于== 语句块1; break; case值2: 语句块2; break; ....... default: 语句块n} 注意点: 1)表... 查看详情

第3弹;流程控制

java流程控制 java的判断结构 if; if(条件表达式{执行语句} if...else if(条件表达式){执行语句}else{执行语句} if...elseif...else if(条件表达式){执行语}elseif(条件表达式){执行语句}else{执行语句} 嵌套的if...else 1;2;3种判断结构都可... 查看详情

3-1流程控制if

流程控制: 对PHP程序执行的过程进行控制! PHP有哪些手段对程序执行过程进行控制!一、顺序执行 自上而下的执行即可!对这个执行过程没有控制!二、分支执行 分支执行可以根据条件是否满足来选择执行某些代码,PHP的分支... 查看详情

javascript流程控制

Javascript流程控制1.条件语句  (1)if(exp)执行一句代码  (2)if(exp){执行代码段;}  (3)if(exp){exp为true执行代码段}else{exp为false执行的代码段}  (4)if...elseif...  (5)if嵌套2.循环语句  (1)for循环  (2)while循环  (3)do/while循环3.... 查看详情

3-4特殊的流程控制语句

流程控制: 对PHP程序执行的过程进行控制! PHP有哪些手段对程序执行过程进行控制!一、顺序执行 自上而下的执行即可!对这个执行过程没有控制!二、分支执行三、循环执行 计算机最擅长的功能之一就是按照规定的条件,重... 查看详情

第3章控制程序流程

3.1使用java运算符  3.1.1优先级  3.1.2赋值  3.1.3算术运算符  3.1.4自动递增和递减  3.1.5关系运算符  3.1.6逻辑运算符  3.1.7按位运算符  3.1.8移位运算符  3.1.9三元if-else运算符  3.1.10逗号运算符  3.1.11字串... 查看详情

3.流程控制

...中间没有条件和跳转2.分支结构分支又称条件语句,实现流程的控制Java分支语句:If语句Switch语句2.1If语句2.1.1Ifif(布尔表达式){//如果布尔表达式为true将执行的语句}如果if语句中的大括号只有一语句,那么可以省略大括号,不建... 查看详情

java流程控制语句

目录第一章:流程控制1.1顺序结构第二章:判断语句2.1判断语句1--if2.2判断语句2--if...else2.3判断语句3--if...elseif...else2.4嵌套的if结构2.5if语句和三元运算符的互换第三章:选择语句3.1选择语句--switch第四章:循环语句4.1循环概述4.2... 查看详情

极客编程python入门-流程控制3/7

流程控制1、条件循环-while2、循环语句-for3、循环控制-break、 continue代码如下:while判断条件(condition):执行语句(statements)……Pythonfor循环可以遍历任何可迭代对象,如一个列表或者一个字符串。for循环的一般格式如下:for<v... 查看详情

使用git码云为unity版本控制3流程控制

1、新建项目,注意选择unity选项,项目自动添加.gitignore2、编辑.gitignore添加*.suo选项3、为项目添加公钥 ,如何创建上面有介绍---》查看怎样生成公钥4、安装git和tortoisegit ,右键clone,setting设置可参考系列文章15、... 查看详情

流程控制练习题

 使用尽可能多的方法实现list去重方法1:a=[1,1,2,2,3,3,4,5]printset(a)方法2:a=[1,1,2,2,3,3,4,5]b=[]foriina:   ifiinb:       continue   else: &nbs 查看详情

js流程控制

一、分支if-else结构:if(表达式){语句1;......}else{语句2;.....}if-elif-else结构:if(表达式1){语句1;}elseif(表达式2){语句2;}elseif(表达式3){语句3;}else{语句4;}switch-case结构:switch基本格式switch(表达式){case值1:语句1;break;case值2:语句2;break;c... 查看详情

java学习笔记五——流程控制

分支结构  Java提供了两种常见的分支控制结构:if语句和switch语句。if语句  if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式:  第一种形式:if(5>3){System.out.println("5>3");}  第二种形式:if(5&... 查看详情

廖雪峰java1-3流程控制-3条件判断

1.if条件判断的格式if(条件){代码块}if(条件){代码块1}else{代码块2}if(条件1){代码块1}elseif{代码块2}else{代码块3}2.整型判断条件判断注意的事项:注意判断顺序注意边界条件intn=100;if(n>=90){System.out.println("优秀");}elseif(n>=60){System.out... 查看详情

java学习系列3--流程控制语句

1.顺序结构inta=18;if(a<60){  return‘D‘;}elseif(a<70){  return‘C‘;}elseif(a<80){  return‘B‘;}else{  return‘A‘;}2.选择结构intweek=2;switch(week){case1:System.out.println("Monday");break;case2:System.ou 查看详情

04_流程控制语句(代码片段)

   1.顺序结构 2.判断语句2.1单if语句   2.2标准的if-else语句   3.3扩展if-elseif-else语句      3.选择语句 3.1格式   3.2流程图 & 查看详情

nodejs异步流程控制(代码片段)

...作,不想java其他语言同步进行,这就需要对异步流程进行控制,保证1,2,3逐步进行。有可能1还没完成,2和3可能就开始了,所以需要控制流程。异步流程控制对象async1、串行无关联:async.serie 查看详情