Java 条件和If语句

Java支持数学中常见的逻辑条件:

  • 小于: a < b
  • 小于等于: a <= b
  • 大于: a > b
  • 大于等于: a >= b
  • 等于: a == b
  • 不等于: a != b

可以使用这些条件做判断,然后执行不同的代码。

Java有以下条件语句:

  • if 如果条件为真,if中的代码块将被执行
  • else 如果if语句中的条件为假,else中的代码块将被执行
  • else if 如果第一个条件不成立,则指定一个新条件
  • switch 指定多个条件,匹配条件下的代码块将被执行

if语句

使用if语句,指定当条件为真时,要执行的代码块。

语法

if (条件) {
// 条件为真时,要执行的代码块
}

注意if是小写字母。大写字母(If或IF)将产生错误。

在下面的例子中,我们测试两个值,看看20是否大于18。如果条件为真,打印一些文本:

示例

if (20 > 18) {
System.out.println("20 大于 18");
}

我们也可以测试变量:

示例

int x = 20;
int y = 18;
if (x > y) {
System.out.println("x 大于 y");
}

在上面的例子中,我们使用两个变量x和y,来测试x是否大于y(使用>运算符)。当x = 20,y = 18,我们知道20大于18,屏幕上将打印“x大于y”。

else语句

使用else语句,指定如果条件为假时,要执行的代码块。

语法

if (条件) {
// 条件为真时,要执行的代码块
} else {
// 条件为假时,要执行的代码块
}

示例

int time = 20;
if (time < 18) {
System.out.println("白天");
} else {
System.out.println("夜晚");
}
// 输出 "夜晚"

在上面的例子中,time(20)大于18,所以条件为假,程序将执行else语句,在屏幕上打印“夜晚”。如果时间小于18,程序将打印“白天”。

else if语句

使用else if语句,当第一个条件为假时,指定一个新条件。

语法

if (条件1) {
// 条件1为真时,要执行的代码块
} else if (条件2) {
// 条件1为假,条件2为真时,要执行的代码块
} else {
// 条件1为假,条件2为假时,要执行的代码块
}

示例

int time = 22;
if (time < 6) {
System.out.println("夜晚");
} else if (time < 18) {
System.out.println("白天");
} else {
System.out.println("夜晚");
}
// 输出 "夜晚"

在上面的例子中,time(22)大于6,所以第一个条件为假,接下来else if语句中的条件也为假,程序会继续执行,到达else代码块,屏幕上将打印“夜晚”。

如果time = 14,程序会打印“白天”。

if...else 精简格式(三元运算符)

如果if与else代码块中都只有一个语句要执行,可以把它们放在同一行:

语法

variable = (条件) ? 条件真时执行的语句 : 条件假时执行的语句;

更换下面的写法

示例

int time = 20;
if (time < 18) {
System.out.println("白天");
} else {
System.out.println("夜晚");
}

可以简单地写为:

示例

int time = 20;
String result = (time < 18) ? "白天" : "夜晚";
System.out.println(result);

Java If ... Else的更多相关文章

  1. Spark案例分析

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

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

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

  3. Elasticsearch之java的基本操作一

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

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

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

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

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

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

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

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

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

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

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

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

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. 浅谈区块链和p2p网络

    最近对区块链产生了兴趣就去了解了一下,分享一下.... 首先要先了解一下什么叫做区块链: 区块链:简单来说就是一种基于分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式. 相信说 ...

  2. 如何让tomcat加载项目变快

    修改配置: VM options填写内容: -Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=256m` 图示: ##1: ##2:

  3. 在 aws emr 上,将 hbase table A 的数据,对 key 做 hash,写到另外一张 table B

    先 scan 原表,然后 bulkload 到新表. 采坑纪录1. bulkload 产生 hfile 前,需要先对 hash(key) 做 repartition,在 shuffle 的 read ...

  4. 中山普及Day13——普及

    又是迷之自信的说...估的230,考的50整,我欲上天呐!!! T1:深渊(怕不是黑暗种族聚集地???) 思路:动归.而且是简单动归.转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j ...

  5. 【转载】如何快速转载CSDN中的博客

    前言   对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间 ...

  6. 如何更改placeholder属性中文字颜色

    如何更改placeholder属性中文字颜色 placeholder这个属性是HTML5中新增的属性,该属性的作用是规定可描述输入字段预期值的简短的提示信息,该提示会在用户输入之前显示在输入字段中,会 ...

  7. 分享Burp Suite遇到的各种坑

    1.性质问题 价格昂贵 专业版高达399美元/每年,免费版有功能限制:https://portswigger.net/buy/pro,构想中的工具应该是免费开源的. 破解版存在安全隐患 https:/ ...

  8. 【深入】 - AST抽象语法树

    参考: https://segmentfault.com/a/1190000016231512

  9. Day1-Luogu-1631

    题目描述 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2N2个和,求这N^2N2个和中最小的N个. 输入输出格式 输入格式: 第一行一个正整数N: 第二行N个整数A_iAi​, ...

  10. IntelliJ如何设置自动导包

    idea 关于自动导包的设置 标签: idea 2016-09-30 18:10 400人阅读 评论(0) 收藏 举报 本文章已收录于: .embody{ padding:10px 10px 10px ...