原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/16/2820834.html

英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html

if-then语句

if-then语句是控制流语句,最基本的语句。它告诉程序,只有当测试计算返回true,才执行特定代码。例如,Bicycle 类只允许在bicycle运动时,才可以使用刹车减速。applyBrakes 方法的一个可能的实现如下:

void applyBrakes() {// the "if" clause: bicycle must be movingif (isMoving){ // the "then" clause: decrease current speedcurrentSpeed--;}
}

当该测试计算为false(表示自行车不在运动中),if-then语句控制代码跳转到末尾。

还有,大括号是可选的,没有大括号,那么 "then" 子句只包含一个语句。

void applyBrakes() {// same as above, but without braces if (isMoving)currentSpeed--;
}

决定何时省略大括号是一种个人品味的问题。忽略大括号,可能会造成代码的脆弱。如果第二个语句要添加到"then"字句,一个常见的错误会忘添加需要的新大括号。编译器无法捕捉这种情况的错误,程序将会出现错误的结果。

if-then-else语句

当"if" 字句计算为false,if-then-else语句提供程序执行的第二个路径。可以在applyBrakes方法中,使用if-then-else语句,当bicycle没有运动,请求刹车减速,执行一些行为。这个情况下,这个行为简单的输出一个错误信息说,bicycle已经停止了。

void applyBrakes() {if (isMoving) {currentSpeed--;} else {System.err.println("The bicycle has " + "already stopped!");}
}

下面的程序,IfElseDemo,根据测试的score的值,分配一个级别:分数90%以上为A,80%以上为B,依此类推。

class IfElseDemo {public static void main(String[] args) {int testscore = 76;char grade;if (testscore >= 90) {grade = 'A';} else if (testscore >= 80) {grade = 'B';} else if (testscore >= 70) {grade = 'C';} else if (testscore >= 60) {grade = 'D';} else {grade = 'F';}System.out.println("Grade = " + grade);}
}

程序的输出结果是:

    Grade = C

你可能注意到testscore的值在复合语句中可以满足多个表达式:76 >= 70 和 76 >= 60。但是,一旦一个条件满足,合适的语句会执行(grade = 'C';),然后剩余的条件不会被计算。

java if-then和if-then-else语句(翻译自Java Tutorials)相关推荐

  1. java for语句(翻译自Java Tutorials)

    原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/16/2820842.html 英文出自 http://docs.oracle.com/ja ...

  2. java变量和方法的覆盖和隐藏(翻译自Java Tutorials)

    隐藏变量 在一个类里,如果一个变量的名字和父类的变量的名字一样,即使他们的类型不一样,那么在子类中,父类的同名变量无法直接通过变量名访问. 但是,父类的同名变量可以通过super访问.一般来说,不推荐 ...

  3. java语言提供结构_java学习之语句结构

    在java语言当中存在4中语句结构,分别是: 1.顺序结构 2.判断结构 3.选择结构 4.循环结构 一.顺序结构: 所谓的顺序结构,也就是当不指定其他三种语句结构的情况下,语句是从上往下依次执行的, ...

  4. Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb

    Java 操作多类型数据库下的兼容性验证 第一章:数据库测试 ①[ oracle 数据库不支持分号]ORA-00933: SQL 命令未正确结束 ② [sqlserver 数据库不支持 commit] ...

  5. java break在switch_java中switch case语句需要加入break的原因解析

    java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...

  6. java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...

    在Java语言中,语句以分号":"作为结束标志.块语句由其他语句组成,其本身不需要用分号结尾.另外,内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾. Java语句可分为空语句 ...

  7. java中错误的源文件,关于Java源文件结构规则,说法错误的是()A.版权信息必须在java文件的开头B.package语句在imports...

    关于Java源文件结构规则,说法错误的是()A.版权信息必须在java文件的开头B.package语句在imports 更多相关问题 霍乱患者产生"米泔样"粪便由下列哪种致病因素直 ...

  8. java面试题36 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )

    java面试题36 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( ) A args[0] = "MyTest a b c" B args[0] ...

  9. java学习(22):if语句

    /任务 1:if语句 编写控制台java程序,使用Scanner 对象相关方法从控制台接收用户输入学生年龄, 如果输入的年龄大于18,则输出"你是一个成年人了,该有担当了!/ import ...

最新文章

  1. 用DataBindings属性绑定控件的值
  2. react项目中使用mocha结合chai断言库进行单元测试
  3. zookepper 安装
  4. iOS安全攻防(三):使用Reveal分析他人app
  5. jquery ui 自動完成對中文字搜尋Bug(firefox)
  6. 【BZOJ3262】 陌上花开
  7. 2016年第七届蓝桥杯C/C++ A组国赛 —— 第三题:打靶
  8. JavaScript高级篇之Function对象
  9. HDU4279(2012年天津网络赛---数论分析题)
  10. linux suse 安装redis,suse 配置redis远程访问
  11. epoll 浅析以及 nio 中的 Selector
  12. Linux系统编程---5(共享存储映射,存储映射I/O,mmap函数,父子进程间通信,匿名映射)
  13. 内网穿透工具_utools让你3步搭建一个内网穿透工具
  14. Anaconda tensorflow 安装笔记
  15. C++实现获取汉字拼音首字母
  16. 基于服务号的微信扫码关注公众号登录网站原理分析
  17. icePDF去水印方法
  18. C语言ALG什么文件,alg.exe进程是什么
  19. 26设计模式之建造者模式
  20. Android Animations动画使用详解

热门文章

  1. git commit -amend_Github标星3W+,这份Git飞行规则你值得拥有
  2. 华为emui10是鸿蒙,昨日,华为EMUI10,鸿蒙系统正式发布!
  3. 计算机专业毕业论文的参考文献,计算机专业毕业专著类参考文献 计算机专业毕业论文参考文献哪里找...
  4. ip映射后 前端无法调用接口_基于S7300400 CPU集成PN接口的Modbus TCPW
  5. Docker容器原理及相关知识
  6. 数据库系统概论:第十一章 并发控制
  7. 我的世界java测试版下载_我的世界中国版PC不删档测试版_网易我的世界JAVA版测试版单机游戏下载...
  8. gdb加载python_gdb加载python脚本的方法
  9. Template methed
  10. Python 里面如何生成随机数?