小弟在使用三目运算符时不得要领,老是出错,请各位进来指点一二.
//程序如下,不知道三目运算符不是这样用的,提示?为意思的数据类型.
public class aa
{
public static void main(String args[])
{
final int size=10;
int max,min,i;
int arr[]=new int[size];
for(i=0;i <size;i++)
{
arr[i]=(int)(Math.random()*100);
}
for(i=0;i <size;i++)
{
System.out.println(arr[i]);
arr[i]> max ? max=arr[i]:max=max;
arr[i] <min ? min=arr[i]:min=min;
}
System.out.println( "最大值= " + max);
System.out.println( "最小值= " + min);
}
}
------解决方案--------------------三目运算符的语法格式:
boolean-exp ? value0 : value1;
换成if-else解释:
if(boolean-exp)
return value0;
else
return value1;
即boolean-exp为真,操作符返回value0,否则返回value1
max = (arr[i]> max ? arr[i]:max);语句中,先进行三目运算,然后
把返回的值赋给max