public class Test{
public static void main(String[] args)
{
char x='Y';
int i=1;
System.out.print(true? x:i);
System.out.print(false ? i:x);
}
}
public static void main(String[] args)
{
char x='Y';
int i=1;
System.out.print(true? x:i);
System.out.print(false ? i:x);
}
}
根据条件执行两个语句中的其中一个。test ? 语句1 : 语句2
为真语句1
为假语句2
System.out.print(true? x:i); 因为是ture所以输出:前面的那个值System.out.print(false ? i:x); 因为是false所以输出,后面的那个值
System.out.println(false ? i:x);结果是
'Y'
89=======为啥?是吧楼主?
public static void main(String[] args)
{
char x='Y';
char z = 'l';
int i=1;
System.out.println(true? x:i);//89
System.out.println(false ? i:x);//89
System.out.println(true? x:z);//Y
}
} 自动类型转换问题!看看上面的就明白了
这个东西,给我结果我能想明白!否则 直接让我写答案,我肯定第一反映就写错!学习了! tks!
小往大转 char->int
所以才会有6楼的结果
此例中char-->int型。
所以输出结果为:89 89
记得在哪个网站上看到类似的题目,说得是:
System.out.println(true? 89:89.1);
输出结果为:89.0
*
*/
package net.csdn.blog.johnston;/**
* @author Administrator
*
*/
public class TestCSDN { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char x='Y';
int i=1;
System.out.print(true? x:i);
System.out.print(false ? 1:x); }}
运行结果是:
89Y