java三目运算符,java中三目运算符?

2020-12-02 13:47:04 字数 6115 阅读 9745

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楼 傲世修罗王 是位运算符,...