java三元运算
1. java三元运算符
我错了,刚才试了一下,下面是我的结论:
在程序执行的时候会自动匹配数据类型调用对应的方法,但这两次调用的不是同一个方法。依据如下:
使用int i = 90;s.append(6>5?i:'B');的话调用的就是append(int),而使用s.append(6>5?90:'B');的话调用的就是append(char)。
区别在于编译的时候,使用变量i作为传递的参数时,三元运算符会保留期变量名作为参数,而在取i的值时会根据i的类型匹配方法;
而使用90最为传递参数时,编译器在选择数据类型时会参考“:”两侧的数据类型,如果匹配或足以存储该数据则存储为同一数据类型,如果不匹配则替换成其他数据类型。
'B'在编译时被存储为char型,而90因为没有指定数据类型且可以被char这个数据类型所表示,所以被保存为char型。即使使用强制类型转换也会被忽略,因为常量的数据类型转换会在编译器编译之前一步进行,就像gcc处理宏一样,所以不会起到强制类型转换的作用。
2. java中关于三元运算符:的问题
result=(score>=60)?"passed":"doesn't pass";
这句话就是判断 如果score》=60 那么result=“passed” 否则result=“doesn't pass”
?前是判断结果为布尔值,后面是赋值~类似if else
if(score>=60){ //布尔值
result="passed";
}else{result=“doesn't pass”}
码字不易~求采纳~
3. java三元表达式怎么算
举个简单例子吧。
int a=1;int b=2;int c= a>b?1:0,结果c 为0。a>b 为条件,后面当条件为true时返回":"前面的结果,反之返回":"后面的结果。
4. java 三元运算符
我们三元运算符 判断前条件是否符合取后两种值,一定是为了赋值
i==0? s.append("?"):s.append(",?"); 这句相当于单独在代码里写一行
"?" ; 或者
",?";
肯定报错啊
方法返回字符串 return "?";这一定不报错,
所以必须是赋值 i="?";
或者i=",?";
5. 在JAVA中怎样区分一元运算符,二元运算符,三元运算符
运算符是一元、二元还是三元,要看它要求有几个数参加运算,比如"++"运算符,只需要一个数据单元参加运算,如++a,它就是一元运算符;而"+"、"-"等运算符,如a+b,要求有两个数据单元参加运算,它就是二元运算符;"?:"运算符要求三个运算单元,如(ab)?c:d,它就是三元运算符。
6. Java 三元运算符
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(条件)
{
a;
}else
{
b;
}
7. Java三元运算符
运算符的通用格式如下:
expression1?expression2:expression3
其中,expression1是一个布尔表达式。如果expression1为真,那么expression2被求值;否则,expression3被求值。整个表达式的值就是被求值表达式(expression2或expression3)的值。expression2和expression3是除了void以外的任何类型的表达式,且它们的类型必须相同。
下面是一个利用运算符的例子:
ratio=denom==0?0:num/denom;
当Java计算这个表达式时,它首先看问号左边的表达式。如果denom等于0,那么在问号和冒号之间的表达式被求值,并且该值被作为整个表达式的值。如果denom不等于零,那么在冒号之后的表达式被求值,并且该值被作为整个表达式的值。然后将整个表达式的值赋给变量ratio。
8. java中三元运算符的问题
使用三元运算符肯定会得到一个结果,可以直接赋值给变量,视觉上比较利落。三元运算符的弊端也是必须要有结果,没有结果的只好用if
else
9. JAVA怎么进行三元运算
public class Day03A {
public static void main(String[] args) {
//.三元运算,就是简化书写,代替复杂的if else;
int a=74;
String str=a>=90?"学霸":a>=80?"优秀":a>=70?"良好":a>=60?"及格":"学渣";
System.out.println(str);
}
}