1楼:
1、三目运算符 (表达式1)?(表达式
2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.
3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 :
(year < a.year ? -1 :
(month > a.month ? 1 :
(month < a.month ? -1 :
(day > a.day ? 1 :
(day < a.day ? -1 :
0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。
以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的***pare()方法不能声明为静态。
java中三目运算符?
2楼:我的梦想自由
先学java的叫它,三元运
算符;先学c的叫它三目运算符
即( ?: )
如名字表示的三元运算符需要三个操作数。
语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果为真执行第一个,否则执行第二个。”
3楼:手机用户
x? y:z x是一个boolean类型,若x为true,结果显示y,若x为false,则结果显示z.
4楼:荆蝶束香春
在java里面有一个唯一的三目运算符,那就是:?:
条件a?
结果1:结果2;
其意思就是:当条件a成立时,返回结果1,否则返回结果2;
这个就相当于是一个分支程序。但是它只是一个运算。
java 三目运算符
5楼:匿名用户
首先,对于a?b:c的运算符,当a为true时,运算结果为b,当a为false时,运算结果为c;
然后,上述题目的解释:
运算时,必须是处于同一种数据类型进行运算的,所以,true?x:1111111110中,由于x是char型,1111111110是int型,而int型大于char型,所以运算时x将被自动转换成int型数据进行运算,'b'转换成int后的值等于98,所以,输出98;
同理,false?i:x中,i为int型、x为char型,所以也一律转换成int型进行运算,即x被转换成了98,由于?左侧的值为false,所以输出x的值,即98.
还是不明白的话可以问我^_^
6楼:呆呆小白
这个问题主要考察的应该不是三目运算符,而是java运算的自动转换。
i为int类型
x为char类型
第一行计算x和0,此时0可以被看作是char类型,所以x并没有被转换,而是直接输出b
第二行计算x和1111111110,而1111111110是无法保存为char类型的,只能当作int,所以此时x需要被强转成int之后再进行运算,char类型的x在强转成int之后就变成了他的asc码。也就是66。
第三行,计算x和i,i是int类型,所以与第二行同理,x被自动转换成int,结果为66。
如果问题解决,请采纳本答案
7楼:匿名用户
这个运算符就像就一门语言的关键字一样,你只需要知道这个怎么用,这种格式就是语言的一种设计,所以学语言不要在这个方面死板,难不成你还要问为什么整形要用int关键字,对不对
java 三目运算符
8楼:匿名用户
意思是 "1".equals(ptype)?null:ptype 设为
a"3".equals(ptype6)?a:
ptype6 设为b"6".equals(ptype9)?b:
ptype9 设为c"9".equals(ptype12)?c:
ptype12
9楼:匿名用户
"9".equals(ptype12)?"6".
equals(ptype9)?"3".equals(ptype6)?
"1".equals(ptype)?null:
ptype:ptype6:ptype9:
ptype12
的效果相当
于"9".equals(ptype12)?("6".
equals(ptype9)?("3".equals(ptype6)?
("1".equals(ptype)?null:
ptype):ptype6):ptype9):
ptype12
其中 string result = a.equals(b)?"1":"2"; 等价于 if(a.equals(b))else
关于java 三目运算符
10楼:般若兮若
什么都可以
bai.?前面
是判断du条件,后面zhi:两边是输出值dao.
public class three
}这个专简单地例子输出是属y
11楼:king炬
可以哈,来你试试就知自道了,三目运算符的格式是bai:
类型du 变量=判断?表达式zhi1:表dao达式2;
其中的类型可以是引用数据类型(比如是string类型),他没有规定只是运算,我的式子蛮详细的,你琢磨一下,希望对你有助
12楼:鲁金成
这个可以,如果数据类型相同 返回 相同,如果不同 返回字节多的 比如
system.out.println(true?9:99.9);
输出结果是 9.0
java什么叫“三目条件运算符”? 20
13楼:汐日南莘
三目运算符 形式为:
结果变量=表达式?值1:值2;
其中 1)表达式 为逻辑表达式 判断其为真或假2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式
3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值
注意: 表达式是由变量、操作符或是方法调用所组成的一个运算序列,并且返回一个值。
例子:min=(a
解释:如果a
14楼:匿名用户
条件(三目)运算符 (?:)
根据条件执行两个语句中的其中一个。
test ? 语句1 : 语句2
int a=19;
int b=29;
int c=a > b ? a : b;//相当于if(a > b) else
system.out.println("最大值为"+c );
15楼:匿名用户
如果字符串str为null则取空值,否则取自身值!!
string str == null ? "" str;
条件(三目
)运算符 (?:)
根据条件执行两个语句中的其中一个。
test ? 语句1 : 语句2
参数test
任何 boolean 表达式。
语句1当 test 是 true 时执行的语句。可以是复合语句。
语句2当 test 是 false 时执行的语句。可以是复合语句。
16楼:匿名用户
int a = 1;
int b= 2;
int c= a < b ? a : b;//意思就是如果a
system.out.print(c);
结果为1
17楼:匿名用户
例如 x? y:z
x是一个boolean类型,若x为true,结果显示y,若x为false,则结果显示z
18楼:挖墙角
java code:
public class ternary
}public class start
}ps:最小值大同小异
19楼:
条件?表达式1:表达式2
java 三元运算符
20楼:匿名用户
你这样写的话,就相当于"system.out.println(x)"和"system.out.println(y)"分别是一个整体,表示一串字符串
正确应该是这样写:
system.out.println((x>y)?x:y);
21楼:匿名用户
java提供一个特别的三元运算符(ternary)经常用于取代某个类型的if-then-else语句。这个运算符就是?,并且它在java中的用法和在c/c++中的几乎一样。
该符号初看起来有些迷惑,但是一旦掌握了它,用?运算符是很方便高效的。
运算符的通用格式如下:
expression1:expression2:expression3
其中,expression1是一个布尔表达式。如果expression1为真,那么expression2被求值;否则,expression3被求值。整个表达式的值就是被求值表达式(expression2或expression3)的值。
expression2和expression3是除了void以外的任何类型的表达式,且它们的类型必须相同。下面是一个利用运算符的例子:
ratio=denom==0?0:num/denom;
当java计算这个表达式时,它首先看问号左边的表达式。如果denom等于0,那么在问号和冒号之间的表达式被求值,并且该值被作为整个表达式的值。如果denom不等于零,那么在冒号之后的表达式被求值,并且该值被作为整个表达式的值。
然后将整个表达式的值赋给变量ratio。
条件a:b;
等同于if(条件)
else
22楼:匿名用户
如楼上两位所说、
应该是 a? b : c 如果条件a为true 则 b 否则 c 所以应该是 ? :
23楼:蓝se禁药
应该是这样:
system.out.println((x>y)?x:y);
java用三目运算符,输入任意比较三个数大小,输出中间数。 要求只能用三目运算符。
24楼:甲骨文蜒怪
int ***p(int a, int b, int c)
java实现比较键盘输入的3个数的大小,输出大数的步骤如下:
1、打开eclipse,创建一个java工程,在此工程中新建一个java类;
2、在新建的java类中利用scanner类获取键盘输入的三个数,并且分别赋值给变量a,b,c;
3、添加一个比较两个数的方法,将随机两个数进行比较,再让返回的最大值与最后一个值进行比较,即可得出最大值。
具体实现**如下:
java">import java.util.scanner;
public class demo
//比较方法
private static int getmax(int x,int y)}
25楼:月月
//需求: 三个数
,想知道最大的是哪个?
int a = 4,b = 8,c = 20,d,max;
d = (a > b)?a:b;//d变量存储的就是a,b两个数的较大数。
max = (d > c)?d:c;//a,b中较大数跟c比较大小并赋值给max。
system.out.println("max="+max);//打印输出变量max。
and or是连接运算符还是关系运算符,
1楼 兄弟连教育北京总校 逻辑运算符的运算优先级从高到低是 not and or。 在形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是 正在下雨 和 我在屋里 ,我们可以将它们组成复杂命题 正在下雨,并且我在屋里 或 没有正在下雨 或 如果正在下雨,那...
java中的运算符是取余还是取模
1楼 雪飞潇潇 java中 运算符是取余数的运算 比如 5 3 结果是2 简单参考 public class test java中取余运算符 2楼 yangzhi涯 首先在程序需要中对int型变量 代表取整运行,注意区分它们的不同,而 只能用于整数,取余运算 5 13 5,5除以13商0余5。 取余...
请问在c++中是什么运算符,请问c++中的"^"运算符是什么运算符.
1楼 匿名用户 和c是一样的,先对所有的数据转换成二进制, 如果对应位有一个为1,则该位为1, 是两个全为1,则为1,否则为0, 代表两位相同的话则为0,否则为1 则4 6 100 110 110, 5 7 101 111 101 8 9 1000 1001 0001 2楼 傲世修罗王 是位运算符,...