java if语句中的几道问题

Python013

java if语句中的几道问题,第1张

第一题:

第二题:

第三题:

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=10

if(age==5){

  System.out.printf("我五岁了)

}

else if(age==6)

{

  System.out.printf("我六岁了)

}

else if(age==10)

{

  System.out.printf("我十岁了)

}

else{

  System.out.printf("我多大了?")

}