3. 流程控制

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是一个“水仙花数”

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video { margin: 0; padding: 0; border: 0 }
body { font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 1.6; color: #333; background-color: #fff; padding: 20px; max-width: 960px; margin: 0 auto }
body>*:first-child { margin-top: 0 !important }
body>*:last-child { margin-bottom: 0 !important }
p,blockquote,ul,ol,dl,table,pre { margin: 15px 0 }
h1,h2,h3,h4,h5,h6 { margin: 20px 0 10px; padding: 0; font-weight: bold }
h1 tt,h1 code,h2 tt,h2 code,h3 tt,h3 code,h4 tt,h4 code,h5 tt,h5 code,h6 tt,h6 code { font-size: inherit }
h1 { font-size: 28px; color: #000 }
h2 { font-size: 24px; border-bottom: 1px solid #ccc; color: #000 }
h3 { font-size: 18px }
h4 { font-size: 16px }
h5 { font-size: 14px }
h6 { color: #777; font-size: 14px }
body>h2:first-child,body>h1:first-child,body>h1:first-child+h2,body>h3:first-child,body>h4:first-child,body>h5:first-child,body>h6:first-child { margin-top: 0; padding-top: 0 }
a:first-child h1,a:first-child h2,a:first-child h3,a:first-child h4,a:first-child h5,a:first-child h6 { margin-top: 0; padding-top: 0 }
h1+p,h2+p,h3+p,h4+p,h5+p,h6+p { margin-top: 10px }
a { color: #4183C4; text-decoration: none }
a:hover { text-decoration: underline }
ul,ol { padding-left: 30px }
ul li>:first-child,ol li>:first-child,ul li ul:first-of-type,ol li ol:first-of-type,ul li ol:first-of-type,ol li ul:first-of-type { margin-top: 0px }
ul ul,ul ol,ol ol,ol ul { margin-bottom: 0 }
dl { padding: 0 }
dl dt { font-size: 14px; font-weight: bold; font-style: italic; padding: 0; margin: 15px 0 5px }
dl dt:first-child { padding: 0 }
dl dt>:first-child { margin-top: 0px }
dl dt>:last-child { margin-bottom: 0px }
dl dd { margin: 0 0 15px; padding: 0 15px }
dl dd>:first-child { margin-top: 0px }
dl dd>:last-child { margin-bottom: 0px }
pre,code,tt { font-size: 12px; font-family: Consolas, "Liberation Mono", Courier, monospace }
code,tt { margin: 0 0px; padding: 0px 0px; white-space: nowrap; border: 1px solid #eaeaea; background-color: #f8f8f8 }
pre>code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent }
pre { background-color: #f8f8f8; border: 1px solid #ccc; font-size: 13px; line-height: 19px; overflow: auto; padding: 6px 10px }
pre code,pre tt { background-color: transparent; border: none }
kbd { background-color: #DDDDDD; background-image: linear-gradient(#F1F1F1, #DDDDDD); background-repeat: repeat-x; border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD; border-style: solid; border-width: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 10px; padding: 1px 4px }
blockquote { border-left: 4px solid #DDD; padding: 0 15px; color: #777 }
blockquote>:first-child { margin-top: 0px }
blockquote>:last-child { margin-bottom: 0px }
hr { clear: both; margin: 15px 0; height: 0px; overflow: hidden; border: none; background: transparent; border-bottom: 4px solid #ddd; padding: 0 }
table th { font-weight: bold }
table th,table td { border: 1px solid #ccc; padding: 6px 13px }
table tr { border-top: 1px solid #ccc; background-color: #fff }
table tr:nth-child(2n) { background-color: #f8f8f8 }
img { max-width: 100% }

时间: 2024-11-07 00:27:09

3. 流程控制的相关文章

汇编语言入门:流程控制

流程控制:顺序,分支,循环 程序计数器PC中存储当前执行的程序在EM中的位置 汇编里面,用比较.跳转实现流程控制. 1.顺序:PC+1(不一定加一,看指令长度) 2.分支循环,直接赋给PC值,执行指定地址的程序 有时候需要程序有一定的流程控制能力,它不是老老实实按照顺序来执行的,中间可能会跳过一些代码 修改PC值,不可用MOV指令,PC是特殊的寄存器,特殊对待,跳转指令修改其值. 跳转指令: 1 ja 大于时跳转 2 jae 大于等于 3 jb 小于 4 jbe 小于等于 5 je 相等 6 j

从头开始-04.C语言中流程控制

分支结构: if语句:当条表达式满足的时候就执行if后面大括号中语句 三种格式: if,if else , if else if else 特点:1.只有一个代码块会被执行 2.若有else那么必有一个代码会被执行 3.一个if语句中只能以if开头,最多只能有一个else,可以有任意个else if switch(表达式){ case 常量: ... break; case 常量1: ... break; default: ... break; } : 使用场景:当一个变量只有几个固定的取值的时

shell脚本之流程控制

shell脚本之流程控制 shell脚本之流程控制 条件语句 条件判断 循环语句for,while,until for循环 while循环 until循环 循环控制语句continue 循环控制语句break 循环控制shift命令 创建无限循环 while的特殊用法 for的特殊用法 select循环与菜单 select与case 信号捕捉trap 条件语句 选择执行: 注意:if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假

shell脚本流程控制

shell 脚本变成使用过程中通常需要流程控制,一般情况下是顺序执行,在实际使用过程中根据不同情况需要执行不同命令,这时就用到选择执行比如if.case,有时需要重复执行多次,循环执行比如for.while.until 条件选择执行语句if 单分支 双分支 if 判断条件;then 条件为真的分支代码 fi if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi [[email protected] ~]# vim score.sh   1 #!/bin/bash  

Python基础--if流程控制与循环

流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映. ###Python定义了缩进的机制.使用流程控制或循环时需要在执行语句前面缩进4个空格. if...else格式: if 条件: 执行语句 else: 执行语句 例如:判断日期,如果是周日则打游戏,不是周日则上班睡觉. date='Monday

程序流程控制

流程控制是所有编程语言的基础部分,在Java自然也不例外. 在程序设计时,我们经常需要改变程序的控制流程,也就是语句的执行顺序.有三种基本技术可以改变流程的控制流程: 1.调用方法.调用方法将导致控制流程离开当前方法,转移到被调用的方法. 2.选择.Java中有两种做出选择的机制:if/else语句和switch语句.三目去处符也可以用于选择.但是它通常只是if/else的简写版本. 3.循环.Java中有三种循环语句:for循环.while循环.do/while循环. 选择语句: if语句:一

Visual Basic快捷教程——流程控制

美籍匈牙利数学家冯·诺依曼于1946年提出"程序存储,顺序执行"的观念,为现代计算机奠定了重要基础.这一观点认为:应该把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存.电子计算机的数制宜采用二进制:计算机应该按照程序顺序执行.所以现在开发人员在编写的程序代码时,其实都隐含地认为计算机将来会一行一行按顺序来执行这些指令.但是在顺序执行的过程中,有时我们希望计算机根据条件判断来选择性地执行(或者不执行)一些代码--这时就需要用到选择结构(或称分支结构).另外一些时候,我们希

PHP中的流程控制

PHP中的流程控制: 任何PHP脚本都是由一系列的语句构成.一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句).语句通常以分号结束.此外还可以用花括号将一组语句封装成一个语句组.语句本省可以当作是一行语句. if语句 if结构是很多语言包括php在内最重要的特性之一,他允许按照条件执行代码片段.php的if结构和C语言相似: <?phpif($a > $b) echo"a is bigger than b"; ?>

python之流程控制与运算符

第一:流程控制 一:if条件语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 单分支语句: 单分支,单个条件 age = 20 if age >= 18: print('your age is ',age) print('if 判断语句是true') 结果: your age is 20 if 判断语句是true 单分支,多个条件 age = 20 if age >= 18 and age < 19: print('your age is ',age) print('i