java-JAVA表达式的一些问题

问题描述

JAVA表达式的一些问题

求教大神,下面一句代码是啥意思啊,主要是那个“:”不懂何意。

  setFlags(clickable ? CLICKABLE : 0, CLICKABLE);

解决方案

这个是JAVA的三目运算符。三目运算符 (表达式1)? (表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
clickable如果为真,则第一个参数就为CLICKABLE ,如果clickable为假,第一个参数为0

解决方案二:

判断clickable 与CLICKABLE 是否相等,相等取0,不相等取CLICKABLE

解决方案三:

这句话“clickable ? CLICKABLE : 0 ”表示 判断clickable是否为true,进而得出不同结果(:的两侧)。如果是true,则结果是冒号左侧的CLICKABLE,那么 setFlags函数传入的参数是: setFlags(CLICKABLE,CLICKABLE);如果是false,则结果是冒号右侧的0,那么 setFlags函数传入的参数是: setFlags(0,CLICKABLE)。
clickable ? CLICKABLE : 0 可以解释为
if(clickable)
value = CLICKABLE;
else
value = 0;

解决方案四:

clickable ? CLICKABLE : 0这个是三目运算符,前面是个boolean值,如果为true,取值就是CLICKABLE,如果是false,取值就是0;可以看下三目运算符的介绍http://baike.baidu.com/link?url=iN-adWoVRlKWnLzuLPlPA5kMlIOwSgc40U-yzr9zOy3y5EsFrNKxKibyXq393rTMSufW3_DhR3z-MgUFo-JhDa。

时间: 2024-09-06 21:55:09

java-JAVA表达式的一些问题的相关文章

Java Lambda表达式初探

前言 本文受启发于Trisha Gee在JavaOne 2016的主题演讲Refactoring to Java 8. Java 8已经发行两年多,但很多人仍然在使用JDK7.对企业来说,技术上谨慎未必是坏事,但对个人学习而言,不去学习新技术就很可能被技术抛弃.Java 8一个重要的变更是引入Lambda表达式(lambda expression),这听起来似乎很牛,有种我虽然不知道Lambda表达式是什么,但我仍然觉得很厉害的感觉.不要怕,具体到语言层面上Lambda表达式不过是一种新的语法而

c-关于java赋值表达式的优先级的问题

问题描述 关于java赋值表达式的优先级的问题 刚学java,现遇到这个问题,若有定义int a=2,则执行完语句a+=a-=a*a;后a的值是多少.按以往c语言的语法应该为-4 而现在为什么java运行后值是0呢? 解决方案 java和c的运算规则不一样,例如下面这段代码在Java总运行时 1. long a = 2,b = 9; 2. a += b -= a*a;//a = 7,b=5,与C一致 3. a = 2; 4. a += a-= a*a;// 在Java中赋值顺序为从左到右,a*a

一种新的攻击方法——Java Web表达式注入

0×00 引言在2014年6月18日@终极修炼师曾发布这样一条微博:498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="width: 477px; height: 446px" border="0" alt="新攻击方法--Java Web Expression Language Injection" src="http://s5.51cto.

Java Lambda 表达式详解及示例代码_java

Java Lambda 表达式是 Java 8 引入的一个新的功能,可以说是模拟函数式编程的一个语法糖,类似于 Javascript 中的闭包,但又有些不同,主要目的是提供一个函数化的语法来简化我们的编码. Lambda 基本语法 Lambda 的基本结构为 (arguments) -> body,有如下几种情况: 参数类型可推导时,不需要指定类型,如 (a) -> System.out.println(a) 当只有一个参数且类型可推导时,不强制写 (), 如 a -> System.o

Java实现表达式二叉树_java

什么是二叉树,这里不再介绍,可以自行百度:二叉树.在这里利用java实现"表达式二叉树".  表达式二叉树的定义  第一步先要搞懂表达式二叉树是个什么东东?举个栗子,表达式:(a+b×(c-d))-e/f.将数字放在叶子节点,将操作符放在分支节点,就构成了一个二叉树,由于存储的是一个表达式,称之为"表达式二叉树". 童靴们可能好奇这个到底是怎么构建的?就拿45+23*56/2-5来说吧.首先取出第一个数字45放在叶子节点,遇到"+"后将其放到分支

python-如何 Python转JAVA java将32x32的二进制图像文本矩阵转换成1x1024的向量

问题描述 如何 Python转JAVA java将32x32的二进制图像文本矩阵转换成1x1024的向量 1C #文本向量化 32x32 -> 1x1024def img2vector(filename): returnVect = [] fr = open(filename) for i in range(32): lineStr = fr.readline() for j in range(32): returnVect.append(int(lineStr[j])) return retu

java ee-EL表达式中对pageContext隐含对象

问题描述 EL表达式中对pageContext隐含对象 这个pageContext对象是不是等于就是JSP里的.不清楚地方是通过pageContext访问的其他8个JSP内置对象 ,调用的方法怎么和servelt中不一样呢.例如${pageContext.request.queryString} queryString方法 就是HttpServletRequest.getQueryString(), JSP里内置对象的方法还是和对应Servlet的一模一样. 只是在EL中都如此去掉了get对吗?

Java Lambda 表达式介绍

Lambda 表达式是 Java SE8 推出的新功能,也是Java第一次引入函数式编程的尝试. Lambda表达式格式 Lambda 表达式可以看做是一种匿名函数,但是它没有访问修饰符.返回值和名字.Lambda表达式由两部分构成,形式参数和方法体,中间用"->"符号分隔.其中的形式参数类型能够进行自动推断,可以不写.当然在某些特殊情况下,形参类型也是不可缺少的.方法体可以是简单的表达式或者代码块,下面是一些例子: // 1. 不需要参数,返回值为 5 () -> 5 /

[Java]Java工程师成神之路

一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://ifeve.com/jmm-faq/ 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Java工具 jps, jstack, jmap, jconsole, jinfo, jhat, javap, - http://kenai.com/projects/btrace http://www

IT人才风向标之java——java人才现状大调查结果出炉

二月末的招聘会上,我们曾对java人才及招聘单位进行了现场采访,现场采访能够更深刻的揭露问题,但无法得到大规模样本量.事后我们又在网站上作了java人才现状的大调查,参加调查者平均三千七百左右. 调查结果如下: 1. 您现在的职位 1. 您现在的职位 2. 您的受教育程度 3. 您的工作经验 4. 对职业前景的计划 由于java人才中初级程序员占绝大部分,并且工作经验普遍较少,所以在本职工作岗位上提升技术成为java人才当前的首要选择,转向管理和非技术岗位还要从长计议.5. 您通常选择自我提升的