今天知道了一个三目运算符 ?:,试着用了用感觉在某些需要的环境下,
可以省很多事,这里我来说说我发现的集中情况。
简单的说呢,就是 int c =条件为 true/false ? a : b
条件为true就运行a
条件为false就运行b
好了,知道这个,看下面我的几种实验:
一种是正常的情况下输入两个数,比较后显示结果
import java.util.Scanner;
public class sanmu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数");
int a = input.nextInt();
System.out.println("请输入第二个数");
int b = input.nextInt();
String c = a>b ? "第一个数大"+a+"于第二个数"+b : "第二个数"+b+"大于第一个数"+a;
System.out.println(c);
}
}
我试了试另外一种,也好用,改一改
import java.util.Scanner;
public class sanmu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数");
int a = input.nextInt();
System.out.println("请输入第二个数");
int b = input.nextInt();
//String c = a>b ? "第一个数大"+a+"于第二个数"+b : "第二个数"+b+"大于第一个数"+a;
String c;
System.out.println( c = a>b ? "第一个数大"+a+"于第二个数"+b : "第二个数"+b+"大于第一个数"+a );
}
}
通过这个我发现即使实在system.out.println(在这个输出的命令中,数据也会进行运算);
由此,我想到如果出现这样的情况:a也是在连续一直运算的。
int a = 1;
System.out.println(a++);
System.out.println(a--);
System.out.println(a--);
System.out.println(a++);