作者:CHAITANYA SINGH

来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=18

当我们需要根据一个条件执行一组语句时,我们需要使用控制流语句。例如,如果一个数字大于零,那么我们想要打印“正数”,但是如果它小于零,那么我们要打印“负数”。在这种情况下,程序中有两个print语句,但根据对输入值的条件比较结果,每次只执行一个print语句。我们将看到如何使用控制语句在java程序中编写这种类型的条件。

下面我们将学习如何根据需求在java程序中使用四种类型的控制语句。在本教程中,我们将介绍以下条件语句:if语句、嵌套if语句、if-else语句、if-else-if语句

1)if语句

if语句包含一个条件,后面是语句或一组语句,如下所示:

1
2
3
if(condition){
  Statement(s);
}

这些语句只有在给定条件判断为true(真)时才会执行。如果条件为false(假),则if语句正文中的语句将被完全忽略。

if语句示例

1
2
3
4
5
6
7
8
9
10
11
12
public class IfStatementExample {
 
   public static void main(String args[]){
      int num=70;
      if( num < 100 ){
      /* This println statement will only execute,
       * if the above condition is true
       */
      System.out.println("number is less than 100");
      }
   }
}

输出:

1
number is less than 100

2)Java中的嵌套if语句

当一个if语句嵌套在另一个if语句中时,这个if语句就被称为嵌套if语句.

嵌套if的结构如下所示:

1
2
3
4
5
6
7
if(condition_1) {
   Statement1(s);
 
   if(condition_2) {
      Statement2(s);
   }
}

如果condition_1(条件1)为true(真),则Statement1语句将会执行。执行完了Statement1语句后,程序走到下一个语句if(condition_2),如果condition_2(条件2)的值为true(真),则Statement2语句就会执行,反之,程序会跳过Statement2(s)语句,继续执行后面的语句。由此可见,只有在condition_1和condition_2都为true(真)的情况下,语句Statement2才会执行。

嵌套if语句示例

1
2
3
4
5
6
7
8
9
10
11
12
13
public class NestedIfExample {
 
   public static void main(String args[]){
     int num=70;
     if(num < 100){ 
       System.out.println("number is less than 100"); 
 
       if(num > 50){
         System.out.println("number is greater than 50");
       }
     }
   }
}

输出:

1
2
number is less than 100
number is greater than 50

3)Java中的if-else语句

if-else语句结构看上去是这样的:

1
2
3
4
5
6
if(condition) {
   Statement(s);
}
else {
   Statement(s);
}

如果if后面的condition(条件)为true(真),则“if”后面的大括号{  }中的语句将执行,如果if后面的condition(条件)为false(假),则“else”后面的大括号{  }中的语句将执行。

if-else语句示例

1
2
3
4
5
6
7
8
9
10
11
12
public class IfElseExample {
 
   public static void main(String args[]){
     int num=120;
     if( num < 50 ){
        System.out.println("num is less than 50");
     }
     else{
        System.out.println("num is greater than or equal 50");
     }
   }
}

输出:

1
num is greater than or equal 50

4)if-else-if 语句

当我们需要检查多个条件时,使用if-else-if语句。在上面的声明语句中,我们只有一个“if”和一个“else”,但是我们可以有多个“else if”,也就是梯状的if语句,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if(condition_1) {
   /*if condition_1 is true execute this*/
   statement(s);
}
else if(condition_2) {
   /* execute this if condition_1 is not met and
    * condition_2 is met
    */
   statement(s);
}
else if(condition_3) {
   /* execute this if condition_1 & condition_2 are
    * not met and condition_3 is met
    */
   statement(s);
}
.
.
.
else {
   /* if none of the condition is true
    * then these statements gets executed
    */
   statement(s);
}

注:这里需要注意的最重要一点是,在“if-else-if”语句中,一旦一个“else if”后面的条件满足了,这个条件版块里面的语句集就会被执行,其余“else if”条件版块里面的语句就都会被忽略。如果所有的else if后面的条件都不满足,则执行最后面的“other”版块中的语句。

if-else-if实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class IfElseIfExample {
 
   public static void main(String args[]){
    int num=1234;
    if(num <100 && num>=1) {
      System.out.println("Its a two digit number");
    }
    else if(num <1000 && num>=100) {
      System.out.println("Its a three digit number");
    }
    else if(num <10000 && num>=1000) {
      System.out.println("Its a four digit number");
    }
    else if(num <100000 && num>=10000) {
      System.out.println("Its a five digit number");         
    }
    else {
      System.out.println("number is not between 1 & 99999");           
    }
   }
}

输出:

1
Its a four digit number

Java中的if-else语句——通过示例学习Java编程(7)的更多相关文章

  1. Java中的continue语句——通过示例学习Java编程(12)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=23 continue语句主要是用在循环代码块中.当 ...

  2. Java中的switch语句——通过示例学习Java编程(8)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=19 当我们在代码逻辑中有多个选项,而且需要为每个选 ...

  3. 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)

    Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有r ...

  4. java中的Switch case语句

    java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...

  5. Java中的大小写字母相互转换(不利用Java自带的方法)

    Java中的大小写字母相互转换(不利用Java自带的方法) 1.设计源码 /** * * @title:UpperAndLower.java * @Package:com.you.utils * @D ...

  6. Java基础学习(五)-- Java中常用的工具类、枚举、Java中的单例模式之详解

    Java中的常用类 1.Math : 位于java.lang包中 (1)Math.PI:返回一个最接近圆周率的 (2)Math.abs(-10):返回一个数的绝对值 (3)Math.cbrt(27): ...

  7. Java中使用最频繁及最通用的Java工具类

    在Java中,工具类定义了一组公共方法,Java中使用最频繁及最通用的Java工具类. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.so ...

  8. Java中的do-while循环——通过示例学习Java编程(11)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=22&cid=0 在上一篇教程中,我们讨论了w ...

  9. Java中的for循环——通过示例学习Java编程(9)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件 ...

随机推荐

  1. linux下syslog使用说明

    转自:http://blog.chinaunix.net/uid-25120309-id-3359929.html syslog 系统日志应用  1) 概述       syslog是Linux系统默 ...

  2. 微信小程序 实现websocket长连接 以及断开连接之后自动重连

    app.js let socketMsgQueue = [] let isLoading = false App({ globalData: { userInfo: null, localSocket ...

  3. salt api

    #!/usr/bin/env python # -*- coding:utf8 -*- # __author__ = '北方姆Q' import requests import json from d ...

  4. kvm详细介绍

    KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http:// ...

  5. as3杂记

    一.内存回收方式: 1.引用计数[没有互相引用] 2.标记清除[fp自己检测是否引用,没有引用的清除] 二.通信方式: 1.http:小型页游[charles抓包查看] 2.socket:大型页游[W ...

  6. .NET开发人员如何开始使用ML.NET

    随着谷歌,Facebook发布他们的工具机器学习工具Tensorflow 2和PyTorch ,微软的CNTK 2.7之后不再继续更新(https://docs.microsoft.com/zh-cn ...

  7. E20181030-hm

    conquer  vt. 征服; 克服; 攻克; 打败(敌人);  vi. 得胜,胜利; recur vi. 复发; 重现; 再发生; 回想; recurrence n. 复回,重现; 反复,隐现; ...

  8. ObjectArx 中反应器Reactor的使用

    反应器类派生于AcRxObject而不是AcDbObject,因为他们不是数据库对象,没有ID,拥有关系也不适用. 不同类型的反应器接收不同类型的通知事件.派生于AcDbDatabaseReactor ...

  9. AtCoder Regular Contest 061 E - すぬけ君の地下鉄旅行【最短路】

    具体题解又要搬大哥的了,嘿嘿~ 请点击:G点我 这道题目的难点就是同一家公司的路直接走不需要再花费,然后多了一个公司这个东西,这个不像是边的副权值(瞎说的)之类的东西,这是对于路来说的,路的属性... ...

  10. opencv surf特征点匹配拼接源码

    http://blog.csdn.net/huixingshao/article/details/42672073 /** * @file SURF_Homography * @brief SURF ...