第一题:
第二题:
第三题:
int x = 1,y = 1
if(x++==1 | ++y==1)
// x++ == 1 相当于 1 == 1 (因为++在后) 为true
//由于不是短路或,所以 ++ y还是会被执行,y = 2
{
x =7
}
System.out.println("x="+x+",y="+y)
//x = 7,y = 2
第四题:
int x = 1,y = 1
if(x++==1 || ++y==1)
//短路或,执行了 x++ == 1 足以得到true的结论,所以后面不执行(,就是这样分析的,包括第五题,请自行分析结果)
{
x =7
}
System.out.println("x="+x+",y="+y)
//总结:关键看是不是短路:
& | :不论结果怎样,都要执行
&& || :如果前一个bool表达式足以得到结果,那么后面的就不执行了。
import java.util.Scanner/**
* 由控制台输入三个数,并升序排序
*
* @author young
*
*/
public class Example {
public static void main(String[] args) {
int num1, num2, num3
Scanner sc = new Scanner(System.in)
System.out.println("输入第一个数:")
num1 = sc.nextInt()
System.out.println("输入第二个数:")
num2 = sc.nextInt()
System.out.println("输入第三个数:")
num3 = sc.nextInt()
/* 进行排序 */
if (num1 >= num2) {
if (num2 >= num3) {
System.out.print(num3 + "<=" + num2 + "<=" + num1)
} else {
if (num1 >= num3) {
System.out.print(num2 + "<=" + num3 + "<=" + num1)
} else {
System.out.print(num2 + "<=" + num1 + "<=" + num3)
}
}
} else {
if (num1 >= num3) {
System.out.print(num3 + "<=" + num1 + "<=" + num2)
} else {
if (num2 >= num3) {
System.out.print(num1 + "<=" + num3 + "<=" + num2)
} else {
System.out.print(num1 + "<=" + num2 + "<=" + num3)
}
}
}
}
}
int age=10if(age==5){
System.out.printf("我五岁了)
}
else if(age==6)
{
System.out.printf("我六岁了)
}
else if(age==10)
{
System.out.printf("我十岁了)
}
else{
System.out.printf("我多大了?")
}