Java的条件判断
以下内容引用自http://wiki.jikexueyuan.com/project/java/decision-making.html:
在 Java中有两种类型的条件判断语句,它们分别是:
- if语句
- switch语句
一、if 语句:
if语句由一个布尔表达式后跟一个或多个语句组成。
语法:
if语句的语法是:
- if(Boolean_expression)
- {
- //Statements will execute if the Boolean expression is true
- }
如果布尔表达式的值为true,那么代码里面的块if语句将被执行。如果不是true,在if语句(大括号后)结束后的第一套代码将被执行。
示例:
- public class Test {
- public static void main(String args[]){
- int x = 10;
- if( x < 20 ){
- System.out.print("This is if statement");
- }
- }
- }
- //这将产生以下结果:
- This is if statement
二、if...else语句
任何if语句后面可以跟一个可选的else语句,当布尔表达式为false,语句被执行。
语法:
if...else的语法是:
- if(Boolean_expression){
- //Executes when the Boolean expression is true
- }else{
- //Executes when the Boolean expression is false
- }
示例:
- public class Test {
- public static void main(String args[]){
- int x = 30;
- if( x < 20 ){
- System.out.print("This is if statement");
- }else{
- System.out.print("This is else statement");
- }
- }
- }
- //这将产生以下结果:
- This is else statement
三、if...else if...else语句
if后面可以跟一个可选的else if...else语句,在测试不同条件下单一的if语句和else if语句是非常有用的。
当使用if,else if,else语句时有几点要牢记。
- 一个if语句可以有0个或一个else语句 且它必须在else if语句的之后。
- 一个if语句可以有0个或多个else if语句且它们必须在else语句之前。
- 一旦else if语句成功, 余下else if语句或else语句都不会被测试执行。
语法:
if...else的语法是:
- if(Boolean_expression 1){
- //Executes when the Boolean expression 1 is true
- }else if(Boolean_expression 2){
- //Executes when the Boolean expression 2 is true
- }else if(Boolean_expression 3){
- //Executes when the Boolean expression 3 is true
- }else {
- //Executes when the none of the above condition is true.
- }
示例:
- public class Test {
- public static void main(String args[]){
- int x = 30;
- if( x == 10 ){
- System.out.print("Value of X is 10");
- }else if( x == 20 ){
- System.out.print("Value of X is 20");
- }else if( x == 30 ){
- System.out.print("Value of X is 30");
- }else{
- System.out.print("This is else statement");
- }
- }
- }
- //这将产生以下结果:
- Value of X is 30
四、嵌套if...else语句
它始终是合法的嵌套if else语句,这意味着可以在另一个if或else if语句中使用一个if或else if语句。
语法:
嵌套if...else的语法如下:
- if(Boolean_expression 1){
- //Executes when the Boolean expression 1 is true
- if(Boolean_expression 2){
- //Executes when the Boolean expression 2 is true
- }
- }
示例:
- public class Test {
- public static void main(String args[]){
- int x = 30;
- int y = 10;
- if( x == 30 ){
- if( y == 10 ){
- System.out.print("X = 30 and Y = 10");
- }
- }
- }
- }
- //这将产生以下结果:
- X = 30 and Y = 10
五、switch语句
switch语句允许一个变量来对一系列值得相等性进行测试。每个值被称为case,并且被启动的变量会为每一个case检查。
语法:
增强的for循环的语法是:
- switch(expression){
- case value :
- //Statements
- break; //optional
- case value :
- //Statements
- break; //optional
- //You can have any number of case statements.
- default : //Optional
- //Statements
- }
以下规则适用于switch语句:
- 在switch语句中使用的变量只能是一个byte,short,int或char。
- 在一个switch语句中可以有任何数量的case语句。每个case后跟着即将被比较的值和一个冒号。
- 对于case的值必须是相同的数据类型作为开关变量,它必须是一个常量或文字。
- 当被启动了的变量与case是相等的,那case后的语句将执行,一直到break为止。
- 当达到一个break语句,switch终止,并且控制流跳转到跟着switch语句的下一行。
- 不是每一个case需要包含一个break。如果没有出现break,控制流将贯穿到后面的case直到break为止。
- switch语句可以有一个可选默认case,它必须出现在switch的结束处。在执行一项任务时没有任何case是真,那默认case可被使用。在默认case中不需要break。
示例:
- public class Test {
- public static void main(String args[]){
- //char grade = args[0].charAt(0);
- char grade = 'C';
- switch(grade)
- {
- case 'A' :
- System.out.println("Excellent!");
- break;
- case 'B' :
- case 'C' :
- System.out.println("Well done");
- break;
- case 'D' :
- System.out.println("You passed");
- case 'F' :
- System.out.println("Better try again");
- break;
- default :
- System.out.println("Invalid grade");
- }
- System.out.println("Your grade is " + grade);
- }
- }
- //编译并运行上面使用各种命令行参数的程序。这将产生以下结果:
- Well done
- Your grade is a C
测试工程:https://github.com/easonjim/5_java_example/tree/master/javabasicstest/test6
Java的条件判断的更多相关文章
- Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)
要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释 ...
- 「小程序JAVA实战」小程序视图之条件判断(15)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-15/ 小程序里面也是有条件判断的,我相信大家在开发java if和jstl c:if c:when ...
- Java中if else条件判断语句的执行顺序
学习目标: 掌握 if else 条件判断的使用 学习内容: 1.if语法 if(boolean表达式) { 语句体; } if后面的{}表示一个整体-代码块,称之为语句体,当boolean表达式为t ...
- JAVA条件判断
一.基本if结构 1.流程图 l 输入输出 l 判断和分支 l 流程线 1.1 简单的if条件判断 if(表达式){ //表达式为true,执行{ ...
- Java学习之==>条件判断、循环控制
一.条件判断 1.if-else 示例: /** * 第1种,1个分支 */ public void case1() { int age = 15; if (age > 18) { System ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- Python 条件判断 循环
age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的 ...
- Ruby自学笔记(五)— 条件判断
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回t ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
随机推荐
- UVALive 2238 Fixed Partition Memory Management 固定分区内存管理(KM算法,变形)
题意:目前有一部分可用内存,分为m个大小固定的区域.现有n个程序要执行,每个程序在不同大小的内存中运行所需的时间不同,要使运行完所有程序所耗时最少,问每个程序在哪块区域中从什么时间运行到什么时间,以及 ...
- EF为什么向我的数据库再次插入已有对象?(ZT)
最近做了个多对多对实体对象,结果发现每次只要增加一个子实体,就会自动添加一个父实体进去,而不管该父实体是否已经存在. 找了好久,终于找到这篇文章,照文章内容来看,应该是断开连接导致的. 原文地址:ht ...
- Java从入门到放弃18---Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法
Java从入门到放弃18—Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法01 Map集合Map集合处理键值映射关系的数据为了方便 ...
- zabbix4.2学习笔记系列
写在前面:对zabbix的接触始于对监控的了解,网上比较多zabbix相关博客,比较多基于3系列甚至2系列,最新开发版zabbix4.2版本已经出来,本博客基于4.2版本学习,参考官网4.2版本和网上 ...
- QT5:总结篇 控件集合
一.Layouts 二.Spacers 三.Buttons 四.Item Views(Model-Based) 五.Item Widgets(Item-Based) 六.Containers 七.In ...
- mysql中ibatis的limit动态传参
param.put("pageNo",pageNo); param.put("pageSize",pageSize); sqlMap中的用法 limit $ ...
- HTTP请求头的具体含意
为你详细解读HTTP请求头的具体含意 | 浏览:5763 | 更新:2012-03-16 16:41 当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头 ...
- 7. 配置undo表空间
7. 配置undo表空间 undo日志可以存储在一个或多个undo表空间中,无需存储在系统表空间中. 要为MySQL实例配置单独的undo表空间,请执行以下步骤 [重要]: 只能在初始化新MySQL实 ...
- 【BZOJ 1084】 [SCOI2005]最大子矩阵(DP)
题链 http://www.lydsy.com/JudgeOnline/problem.php?id=1084 Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩 ...
- Oracle数据库之初步接触
每个Oracle数据库都是数据的集合,这些数据包含在一个或多个文件中.数据库有物理和逻辑两种结构.在开发应用程序的过程中,会创建诸如表和索引这样的结构,这些结构用于数据行的存储和查询.可以为对象的名称 ...