从零学Java(18)之三元运算符

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零学Java(18)之三元运算符相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

导航

✪ 从零学Java系列目录索引
◄上一篇  17.字符串连接
►下一篇  19.if else分支结构详解

引言

♀ 小AD:明哥,嫂子的AP玩的挺秀的呀?
♂ 明世隐:那是,你不看看谁教的。
♀ 小AD:你不是玩辅助的吗?AP你也会?
♂ 明世隐:难道我是全能选手我会告诉你吗?我有好几个国标我难道要把它们贴在脸上吗?
♀ 小AD:吹吧,你就 。。。
♂ 明世隐:不信算了,爱信不信。
♀ 小AD:要不是看你Java还可以,我才懒得理你呢!
♂ 明世隐:哦豁,说漏嘴了撒,到明哥这里是为了这个啊。
♀ 小AD:哥我跟你开玩笑的呢。
♂ 明世隐:我才不听你开玩笑呢,我真的好几个国标。
♀ 小AD:行行行,我信还不行吗?
♂ 明世隐:信,你就当我没说。
♀ 小AD:你看,果然是这样的,真的是一只老油条。
♂ 明世隐:啥,说谁老油条呢,再怎么说也是一只老泥鳅。
♀ 小AD:得了吧你,老泥鳅。
♂ 明世隐:三元运算符整一波,来!
♀ 小AD:收到!。

概述

三元运算符,也可以叫作三目运算符、条件运算符。
其语法规则如下:

布尔表达式 ? 表达式1 : 表达式2

执行原理:

  1. 当布尔表达式值为true时,运算结果为表达式1。
  2. 当布尔表达式值为false时,运算结果为表达式2。

?前面是布尔表达式

比如:

String a = 10?“a”:“b”;

这句会编译错误,因为10不是布尔类型的。
一般有三种方式写这个布尔型:

  1. 变量
  2. 直接计算
  3. 通过方法返回

变量的实例

package learnJava.P18;

public class Demo1 {

	public static void main(String[] args) {
		boolean boo = true;
		String a = boo ? "a" : "b";
		System.out.println(a);
	}
}

运行结果:

a

♀ 小AD:哥给我稍微解释一下子,以我的聪明才智,分分钟悟到。
♂ 明世隐:行,首先问你boo是什么值。
♀ 小AD:true,代码那句boolean boo = true定义了一个布尔型的变量。
♂ 明世隐:正确,这个boo刚好作为三元运算符中布尔表达式,前面我们说过,当布尔表达式值为true时,运算结果为表达式1,这里谁是表达式1?
♀ 小AD:”a“,对就是它。
♂ 明世隐:所以呢,String a = 的结果就是”a“,也就是最终打印的结果。
♀ 小AD:嗯知道了。

通过计算

package learnJava.P18;

public class Demo2 {

	public static void main(String[] args) {
		int a = 10;
		String str = a > 10 ? "A" : "B";
		System.out.println(str);
	}
}

♂ 明世隐:明哥问你,这样写可以不?
♀ 小AD:我感觉应该是可以的,a>10的结果肯定是boolean型的,也就是写法是正确的。
♂ 明世隐:对,那打印结果是什么?
♀ 小AD:我觉得应该是B。
♂ 明世隐:能讲一下吗?
♀ 小AD:a>10的结果是false的,因为a等于10,也就是?前面的布尔表达式值为false,false的话,表达式2的结果就是我们整个三元表达式的结果,所以str 的值是”B“。
♂ 明世隐:完全正确。
♀ 小AD:嗯,主要是明哥讲的真细,小鲁班应该出AD装不应该出AP装?
♂ 明世隐:这个需要我提醒吗?常识啊。
♀ 小AD:我的意思是这样,算了,我写段代码你就知道了。
♂ 明世隐:行我等着

package learnJava.P18;

public class Demo3 {

	public static void main(String[] args) {
		String heroType="AD";//英雄类型
		String str = "AD".equals(heroType) ? "出AD装" : "出AP装";
		System.out.println(heroType+"英雄应该"+str);
	}
}

运行结果:

AD英雄应该出AD装

♂ 明世隐:哇靠,I 服了 U。你特么的真是个小天才。
♀ 小AD:嘿嘿。
♂ 明世隐:不过老实说这例子举得没毛病,不得不说你学的挺快的。
♀ 小AD:天赋这个东西是真没得说。
♂ 明世隐:对,扯淡的天赋。
♀ 小AD:我觉得通过方法的,我可以来写一段代码,保证精彩。
♂ 明世隐:来。

通过方法来返回

package learnJava.P18;

public class Demo4 {

	public static void main(String[] args) {
		int sh = 500;//小鲁班一发远程导弹伤害
		String str = qiangLong(sh) ? "成功 ": "失败";
		System.out.println("小鲁班抢龙:"+str);
	}
	//定义方法,抢龙
	public static boolean qiangLong(int sh) {
		boolean res=false;
		int dalongHp=499;
		if(sh>dalongHp){
			res=true;
		}
		return res;
	}
}

运行结果:

小鲁班抢龙:成功

♀ 小AD:明哥怎么样?
♂ 明世隐:我只能给你鼓掌,这代码写的是真的优秀,你是怎么样都能绕到游戏里面去 ?
♀ 小AD:要不说是天赋呢?知识点是不是理解的透透的。
♂ 明世隐:行,就算是对症下药了。
♂ 明世隐:我先回去吃药了,先欠着,改天再上分。
♀ 小AD:明哥,熬夜多了吧,小心身体哦。
♂ 明世隐:我是去吃镇静药,我怕我的手忍不住,你放过我吧小可爱。
♀ 小AD:。。。

小结

这节总结了“ 三元运算符 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ 从零学Java系列目录索引
◄上一篇  17.字符串连接
►下一篇  19.if else分支结构详解

热门专栏推荐

(1).Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等)
(2).JavaWeb项目实战(图书管理、在线考试、宿舍管理等)
(3).JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
(4).Java小白入门200例
(5).从零学Java、趣学Java
(6).Idea从零到精通

以上是关于从零学Java(18)之三元运算符的主要内容,如果未能解决你的问题,请参考以下文章

从零学Java(16)之赋值运算符

从零学Java(12)之算术运算符(++- -)

从零学Java(15)之逻辑运算符02

从零学Java(11)之算术运算符(加减乘除余字符连接)

从零学Java——标识符变量运算符

7.从零学Java之(面向对象(下))