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. Python数据类型-5 元组

    元组 我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组. 元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表.除了在内部元素不可修改的区别外,元组和列表的用 ...

  2. tensorflow变量的使用(02-2)

    import tensorflow as tf x=tf.Variable([1,2]) a=tf.constant([3,3]) sub=tf.subtract(x,a) #增加一个减法op add ...

  3. 四、linux基础-系统目录_安装_相关命令_调度

    4 系统目录-安装-版本4.1系统目录Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录. 在装完Linux系统以后会自动生成一下等目录, ...

  4. windows通过zip安装mysql5.7.26的一个坑

    需要将my.ini的 红框的/不能写成\ 注意编码格式问题 然后 mysqld --initialize-insecure mysqld --install net start mysql

  5. 重大消息:华为笔记本电脑开始用LINUX系统

    对华为而言,此举不失为一个明智的抉择.在手机操作系统领域,目前已被苹果的IOS系统和谷歌的安卓系统垄断.而IOS系统是封闭式,只为苹果手机使用:安卓是开放性,当谷歌与华为停止合作后.华为手机将无法使用 ...

  6. c++ char* 与LPCTSTR相互转化

    ] = "wo shi ni baba"; , , ch, -, NULL, ); wchar_t *wide = new wchar_t[num]; MultiByteToWid ...

  7. 【Linux】centos7下解决yum -y install mysql-server 没有可用包

    第一步:安装从网上下载文件的wget命令 [root@localhost ~]# yum -y install wget 第二步:下载mysql的repo源 [root@localhost ~]# w ...

  8. java虚拟机之内存分配

    Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配.同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. JDK1.8之前的堆内存示意图: 从上图可以看出堆内存分为新 ...

  9. Redis详解(二)——AOF

    Redis详解(二)--AOF 前言 RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失).对于数据完整性要求很严格的需求 ...

  10. Centos7 下vmware NAT模式配置网络连接与DNS

    NAT模式配置网络 1.首先查看NAT模式下的网络 从这边可以知道我的vmware下的nat模式的网络是192.168.109.*网段 上图这个网段也可以修改为别的网段 2.NAT模式下的网关 3.配 ...