Java中三目运算符不为人知的坑】的更多相关文章

一.思考题 以下代码可能有什么错误?为什么? import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("heihaozi", 1); Integer i = map != null ? map.get…
最近准备换工作,为了少让人家鄙视,就要狠狠地藐视这些面试题目.找了本电子书,发了有好多坑,都是特别简单,但是很少有人做对的题目.面对这样的题目,我却有一种兴奋的感觉,也许是因为一直做着重复的工作没有新鲜感了,偶尔掉坑了还自得其乐来着.好了,言归正传,待我细细说来,欢迎拍砖啊. 1.坑1,关于三目运算符 先看题目:char x = 'x';System.out.println(true?120:x);请问输出结果是什么? 我想大多数人的结果是120,而且还用很蔑视的态度回答,先不用着急,三目运算符…
在某技术群看到这样的一个面试题目: 这是一个4年经验的java 从业者的答案. 你的答案是什么呢? 正确的答案是true. 为什么? 其实当使用String a="a"+"b"+1;时,程序会建立一个String缓冲池(String pool):把a放入:当再次使用Stirng b="ab1";程序首先会在这个String缓冲池中寻找相同值的对象;找到了a,然后a,b引用了相同的值的对象. 我们可以查找到很多相关与String pool的资料.…
概述 Java是门极简风格的语言,比其它语言相比,它故意保持较少的特性,不仅在有些不常见的情况下会出些奇奇怪怪的错误,即使很一般的情况下也有可能让人栽根头.如果你习惯了别的语言,你读Java 的代码很容易搞错一些概念. 变量要么是引用 ,要么是基础类型 这是对的,变量不是对象.也就是说在下面这个例子里,s不是个对象,也不是字符串,它只是一个字符串的引用. String s = "Hello"; 这个能解释很多的问题,比如: 问题:如果说字符 串是不可变的,为什么我能修改它? s+=“!…
基本数据类型 浮点数存在误差 浮点数有一个需要特别注意的点就是浮点数是有误差的,比如以下这段代码你觉得输出的什么结果: public class Demo { public static void main(String[] args) { System.out.println(0.1+0.2 == 0.3);//输出false } } 这段代码输出值是false,之所以是这个结果那是因为浮点数是存在误差的,也就yi是说0.1在计算机中存储时不是精确的0.1,而有可能是0.1000000001,…
观察下面代码,输出结果是什么? public static void main(String[] args) { Integer p = 10000; Integer q = 10000; System.out.println(p == q); System.out.println(p.equals(q)); } 运行一次,答案与预想的完全不一样.在比较数字的时候,一定要用euqals,不能用==c 查看Integer的jdk源码,发现如下片段: /** * Cache to support t…
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { int numA = 10; // 定义int型变量 int numB = 20; // 定义int型变量 // 如果numA大于numB,返回true,则将numA的内容赋值给max // 如果numA小于numB,返回fals…
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介绍在Java中JSON与对象之间互相转换时遇到的几个问题以及相关的建议. 首先明确对于JSON有两个概念: JSON对象(JavaScript Object Notation,JavaScript对象表示法).这看似只存是位JavaScript所定制的,但它作为一种语法是独立于语言以及平台的.只是说…
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介绍在Java中JSON与对象之间互相转换时遇到的几个问题以及相关的建议. 首先明确对于JSON有两个概念: JSON对象(JavaScript Object Notation,JavaScript对象表示法).这看似只存是位JavaScript所定制的,但它作为一种语法是独立于语言以及平台的.只是说…
你真的了解Java中的三目运算符吗? 原创 2018-04-27 刨根问底的 Hollis Hollis Hollis 微信号 hollischuang 功能介绍 一个对Coding有着独特追求的人. 三目运算符是我们经常在代码中使用的,a= (b==null?0:1);这样一行代码可以代替一个if-else,可以使代码变得清爽易读. 但是,三目运算符也是有一定的语言规范的.在运用不恰当的时候会导致意想不到的问题.本文就介绍一个我自己曾经踩过的坑. 一.三目运算符 对于条件表达式b?x:y,先计…