有两种类型的决策在Java中的语句,它们分别是:

  • if 语句

  • switch 语句

if 语句:

if语句由一个布尔表达式后跟一个或多个语句。

语法:

if语句的语法是:

if(Boolean_expression)
{
//Statements will execute if the Boolean expression is true
}

如果布尔表达式的值为 true,那么代码里面的块if语句将被执行。如果不是第一套代码的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 不会被测试执行。

语法:

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
}
}

可以嵌套 else if...else 在类似的方式,因为我们有嵌套的if语句。

实例:

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 语句允许一个变量来对值的列表相等进行测试。每个值被称为一个例子,并且在选择测试该变量被检查的每种情况。

语法:

增强的 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语句中使用的变量只能是一个字节,short,int和或char。

  • 可以switch 有一个任何数量的case语句。每个案例后面进行比较的值和一个冒号。

  • 对于 case 的值必须是相同的数据类型作为开关变量,它必须是一个常量或文字。

  • 当被打开了变量等于的情况下,下列那 case 语句将执行,直到 break 语句为止。

  • 当达到一个break语句,switch 终止,并且控制流程跳转到下一行下面 switch语句。

  • 不是每一个 case 需要包含break。如果没有出现break,控制流将贯穿到后面的 case 直到 break 为止。

  • switch语句可以有一个可选默认 case ,它必须出现在 switch 的结束。缺省情况下,可用于执行任务时,没有case是true。没有break 是必须的,使用 default 。

例子:

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);
}
}

编译并运行上面使用各种命令行参数的程序。这将产生以下结果:

$ java Test
Well done
Your grade is a C
$

Java 决策制定的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 【转载】开发者眼中的Spring与Java EE

    转载自:http://www.infoq.com/cn/news/2015/07/spring-javaee 在Java社区中,Spring与Java EE之争是个永恒的话题.在这场争论中,来自两个阵 ...

  3. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  4. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  5. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  6. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  7. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  8. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  9. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

随机推荐

  1. CALL TRANSFORMATION 的方法生成XML文件

    *&---------------------------------------------------------------------**& Report  Z_BARRY_X ...

  2. value too great for base (error token is "08")

    shell 中,经常有定时任务, 这时候shell脚本中一般会对时间进行一些判断,或者相关逻辑的操作 这时候,如果你获取的小时或者分钟是08,09,如果要再对其进行运算符或者比较的话,就会报标题的错误 ...

  3. 一张图学习vim常用命令

    一张图学习vim常用命令

  4. 前端基础-CSS属性操作

    前端基础-CSS属性操作 css text 文本颜色:color 颜色属性被用来设置文字的颜色. 颜色是通过CSS最经常的指定: 十六进制值 - 如: #FF0000 一个RGB值 - 如: RGB( ...

  5. js小的小马克

    ajax前后端配合,马克一下,方便查询 jquery开头和取得相应id的值 $(document).ready(function(){ $("#sj").click(functio ...

  6. jsp的9个内置对象

    Jsp提供了request.response.session.application.out.page.config.exception.pageContext9个内置对象. 1. Request R ...

  7. spring.jar的下载地址

    http://repo.spring.io/release/org/springframework/spring/

  8. PostgreSQL 与 MySQL 相比,优势何在?【转】

    最近看到PostgreSQL话题比较多,就搜索了一下它与mysql的对比作者:知了链接:http://www.zhihu.com/question/20010554/answer/74037965来源 ...

  9. spring boot: EL和资源 (一般注入说明(二) @Service注解 @Component注解)

    @Service用于标注业务层组件 : 将当前类注册为spring的Bean @Controller用于标注控制层组件(如struts中的action) @Repository用于标注数据访问组件,即 ...

  10. 分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换

    案例目录: 关键代码展示: DateConverter: package com.mlq.util; import com.opensymphony.xwork2.conversion.TypeCon ...