学习任务:

视频学习ifelse结构

动手测试案例

动手测试三目运算符

/**
 * 面向过程编程-ifelse结构
 * 
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class IfDemo2 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;

		if (a == b) {
			System.out.println("a等于b");
		} else {
			System.out.println("a不等于b");
		}

	}

}

我们前面讲解过三目运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和ifelse结构很相似。

看下边的例子:

int m1 = (a > b)? a: b;

如果a大于b则(a > b)? a: b整个表达式的值为a,否则为b。 使用if语句也可以实现该功能:

int m1=0;
if(a>b){
  m1 = a;
}else{
  m1 = b;
}

三目运算符的操作可以使用if语句改进,反之不成立!

为什么反之不成立?

int a = 10;
int b = 20;

if(a == b) {
	System.out.println("a等于b");
}else {
	System.out.println("a不等于b");
}

如上程序代码则不能用三目运算符号改进:

a==b?System.out.println("a等于b"):System.out.println("a不等于b")

上边的三目运算符错误,因为三目运算符是一个运算符,必须要求有一个结果返回,而输出语句却不能作为一个返回结果。

例子,获取两个数的最大数:

/**
 * 面向过程编程-ifelse结构-获取两个数据的最大值
 * 
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class IfDemo3 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		
		//用if语句实现
		int max1;
		if(a > b) {
			max1 = a;
		}else {
			max1 = b;
		}
		System.out.println("最大数:"+max1);
		
		//用三目运算符改进
		int max2 = (a > b)? a: b;
		System.out.println("最大:"+max2);

	}

}

提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题