if分支语句

if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。

if 四种形式:单分支、双分支、多分支、嵌套if

单分支

if (布尔表达式) { //布尔表达式为true时需执行的代码;
}

双分支

双分支if语句可以通过三目运算来转换,但前提是双分支各语句中必须是一个表达式;

if (布尔表达式) { //布尔表达式为true时需执行的代码;  }else { //布尔表达式为false时需执行的代码;
}

多分支——多个语句块中只执行一个语句块

if(布尔表达式1){//布尔表达式1为true时执行的代码}else if(布尔表达式2){//布尔表达式1为false但是布尔表达式2为true时执行的代码
}else if(布尔表达式3){//布尔表达式1和布尔表达式2为false但是布尔表达式3为true时执行的代码
}else{//布尔表达式1、布尔表达式2和布尔表达式3均为false时执行的代码
}

嵌套if——一个分支结构中包含另一个完整分支结构:当有多个条件时分别判断多个条件可以提高程序可读性

if(布尔表达式1){//布尔表达式1为true时执行的代码if(布尔表达式2){//布尔表达式1和布尔表达式2均为true时执行的代码}else{//布尔表达式1为true,但布尔表达式2均为false时执行的代码}}else {//布尔表达式1为false时执行的代码
}

if分支语句中去掉括号,则对第一行代码有效

else不能单独使用

单分支和多分支的区别: 单分支语句会继续执行 下一行代码,多分支语句只执行一个语句块

例子:

某商城,在国庆节期间,根据用户积分数决定给用户送何种礼物,在控制台允许用户输入积分数x,根据用户的输入         在输出所送礼物。具体范围为:
x<5000,则输出“国庆节快乐,送您一章贺卡!”
5000 <=x<10000,则输出“国庆节快乐,送您一个杯子!” 
10000<=x<30000,则输出“国庆节快乐,送您一套餐具!”

x >= 30000,则输出“国庆节快乐,送您一套精美骨质瓷器!

public class case1 {public static void main(String[] args) {int score = 5001;if(score<0){System.out.println("积分无效");}else{if(score<5000){System.out.println("国庆节快乐,送您一张贺卡"); // 可以没有大括号,默认只对第一行代码有效}else if(score>=5000 && score<10000){System.out.println("国庆节快乐,送您一个杯子");}else if(score>=10000 && score<30000){System.out.println("国庆节快乐,送您一套餐具");}else{System.out.println("国庆节快乐,送您一套精美骨质瓷器");  }}}
}                            运行结果:国庆节快乐,送您一个杯子

改进:

public class case2 {public static void main(String[] args) {int score = 5001;if(score<0)System.out.println("积分无效");else{if(score<5000)System.out.println("国庆节快乐,送您一张贺卡"); else if(score<10000)System.out.println("国庆节快乐,送您一个杯子");else if(score<30000)System.out.println("国庆节快乐,送您一套餐具");elseSystem.out.println("国庆节快乐,送您一套精美骨质瓷器");System.out.println("...............");}                              运行结果:国庆节快乐,送您一个杯子                                        
          }                                           ............
switch分支语句
switch ( 表达式 ) {  case 常量1 :当表达式的值等于整型常量1时执行的语句; break;//当一种情况包含其他情况时case 常量2 :当表达式的值等于整型常量2时执行的语句; break;---default:当表达式的值不满足任何一个case的值时,执行的语句;
}

switch括号中的表达式结果类型可以是:byte、short、int、char以及枚举类型(JDK1.7中也允许是String类型);
为什么没有long、float、double和boolean

switch(i)不能用 long,double (表示的数值太大了) bool(只有ture和false两种类型 直接用 if else就欧克)

例子:

public class Aswitch1 {public static void main(String[] args) {String i = "4";switch (i){case "1" : System.out.println("星期一");break;case "2":System.out.println("星期二");break;case "3":System.out.println("星期三");break;default :System.out.println("星期几");}System.out.println(".......");               运行结果:星期几}                                                             ..........
}
public class Aswitch2 {public static void main(String args[]){int i = 1;int k = 1;switch (i){case 1 : System.out.println("星期一");  switch (k){case 1:System.out.println("xingqiyi");break;}break;case 2:System.out.println("星期二");break;case 3:System.out.println("星期三");break;}System.out.println(".........");}
}

没有break和加第一个break, 程序输出结果是 星期一

*             xingqiyi
星期二
星期三
........

加上2  3 4 个break,程序输出结果为 星期一
                              xingqiyi
                               .........
break用于只结束其所在当前switch语句块程序或当前循环的运行,但不会影响其所在语句块外部代码的执行

return则是结束当前整个方法

例如:

public class Areturn {static{          //静态代码块,类加载的时候执行System.out.println(11111);}static void show(){System.out.println("hello world");return;/** return 不能用于代码块,如果放在System.out.println("hello world");语句之前,会报错* return只结束其所在方法的运行。*/}public static void main(String[] args) {// TODO Auto-generated method stub/** 尽管main方法写在下面,但是程序先执行,操作系统经过翻译执行*/show();System.out.println("my mame is");}

此代码的运行结果为  11111

hello world

my name is

但是它的执行顺序为 1->3->2

流程控制——分支语句相关推荐

  1. 【 js基础 Day2】js的流程控制:分支语句,循环.顺序结构

    复习 JavaScript简称为JS JavaScript是什么? 是一门脚本语言:不需要编译,直接运行 是一门解释性的语言:遇到一样代码就解释一行代码 C#语言是一门面向对象的语言,也是编译语言,是 ...

  2. scala(三):流程控制-分支控制、嵌套循环、for、while、do…while循环、循环中断、多支循环

    目录 流程控制 分支控制 嵌套分支 for循环控制 while和do-while循环控制 循环中断 多重循环 流程控制 分支控制 分支控制可以使程序有选择的执行,分支类型有:单分支.双分支.多分支 单 ...

  3. python的分支语句中if和else必须同时出现_Python条件控制分支语句if…else…

    Python条件控制分支语句if-else- #例1:if-else-语句: #注意:if-else-可以嵌套 n=16 if n<13: #要有冒号 print n #注意空格 else: p ...

  4. Python学习(七) 流程控制if语句

    在Python中流程控制if语句采用如下格式: if expression : statement elif expression : statement elif expression : stat ...

  5. 四 【java基础】 程序流程控制- 分支结构

    目录 01 程序流程控制概述 02 顺序结构 03 分支结构 3.1 if-else 结构 3.2 从键盘输入数据(Scanner) 3.2 Switch-case结构 01 程序流程控制概述 流程控 ...

  6. JavaScript流程控制-分支结构

    流程控制主要有三种结构,分别是顺序结构,分支结构. 1 .if语句 if语句的结构: if(表达式){ 执行语句 } if语句的执行思路             如果if的条件表达式为真 true,则 ...

  7. C#流程控制————分支结构

    1.顺序结构 顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行. 2.分支结构--if 分支结构:if 1.if语句 if(判断条件) { 要执行的代码; } 判断条件:一般 ...

  8. Java码农进阶之路~基本数据类型运算符流程控制-分支三目

    基本数据类型 首先先说下字节:字节(byte)是计算机信息技术用于计量存储容量的一种计量单位 通常情况下一字节由8个二进制位表示 0000 0000; 一个字节的取值范围为-128~127. 大家有兴 ...

  9. Python 流程控制 if语句,while循环和for循环

    1. if语句 if语句由关键字if.判断条件和冒号组成,if语句和从属于该语句的代码段可组成选择结构. 若if语句的判断条件成立(判断条件的布尔值为True),执行之后的代码段:若if语句的判断条件 ...

最新文章

  1. office 2007 验证失败的解决方法
  2. 数据中台建设常见的几大误区,如何规避,你需要知道这几点
  3. 【Scratch】青少年蓝桥杯_每日一题_2.13_碰苹果
  4. 放开那三国3服务器维护,放开那三国3新服铤而走险开服时间表_放开那三国3新区开服预告_第一手游网手游开服表...
  5. biosrecovery什么意思_BIOS中的每个中文是什么意思
  6. python-docx 如何获取当前字号_餐饮老字号迈上“云端”
  7. html在线设计,快速建站 20个设计优秀的HTML网站模板(免费)
  8. 远程下层文档 正在打印_爱普生上线智能打印“宅家学习”好物选择就来京东电脑数码...
  9. ReferenceError: regeneratorRuntime is not defined解决方法
  10. Oracle 将一个查询结果值动态赋值给一个变量
  11. Java银联在线网关支付测试总结
  12. 最新封装版EVE模拟器部署和使用说明(图文版)
  13. kali linux 怎么攻击IP,Kali Linux实战篇:Ettercap 使用教程 DNS欺骗攻击实战
  14. 时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》
  15. 魔兽名字显示服务器,魔兽世界怀旧服服务器名称
  16. 【清明节】开发平台公司流辰信息缅怀先祖,传承精神,撸起袖子创佳绩!
  17. WordPress初学者入门教程-WordPress的设置
  18. kdj值应用口诀_kdj指标怎么用?KDJ值应用口诀(2)
  19. 智能运维监控管理平台技术方案
  20. Brat 标注工具 配置文件 详细说明

热门文章

  1. 向量自回归模型VS风险价值模型(VARVaR)
  2. 51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次
  3. SQL Server 数据库 视图创建
  4. 机器学习笔记之玻尔兹曼机(三)基于平均场理论变分推断的梯度求解(续)
  5. 家用洗碗机的设计(论文+9张CAD图纸+开题报告+任务书+外文翻译……)
  6. Redis_01_Redis的引入
  7. java 逻辑运算符
  8. 南京邮电大学通达学院c语言实验报告,南京邮电大学通达学院c语言程序报告.docx...
  9. SLAM之视觉里程计和回环检测
  10. uni-app小程序分享功能实现