本帖最后由 张yy 于 2013-7-23 11:38 编辑
首先回答这两个的区别
System.out.print 这个是输出后不换行
System.out.println 这个输出后要换行
但为什么前一个输出的是X后一个输出的是数字,这个要看输出的是什么内容了。
因为你这两个输出里面都是一个表达式,print是根据计算的结果来进行输出的,对于你这道题
true ? x : 0 的问号后第一个参数是字符型的,所以直接输出了X
false ? i : x 的问号后的第一个参数是整形,所以会按整形来输出所以输出了X的asc码也就是88
如果你想输出得到XX的话,把X的char转换成String类型就可以了:
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String x = "X";
int i = 0;
System.out.print(true?x:0);
System.out.print(false?i:x);
}
}
输出:XX
|