第二种格式
if(表达式){
语句1...;}else{
语句2...;}
执行流程:1)首先判断表达式是否成立,如果成立,则执行语句1...2)如果不成立,执行语句2...//需求://键盘录入两个数据,比较两个数据最大值;//导包importjava.util.Scanner;classIfDemo2{publicstaticvoidmain(String[] args){//创建键盘录入对象Scanner sc =newScanner(System.in);//提示并录入数据System.out.println("请输入第一个数据:");int a = sc.nextInt();System.out.println("请输入第二个数据:");int b = sc.nextInt();//if...else... 流程语句//方式1:直接使用变量接收 (推荐第一种)//定义一个变量int max ;if(a>b){//将a的值赋值给max
max = a ;//System.out.println(a+"是最大值") ;}else{//将b的值赋值给max
max = b ;//System.out.println(b+"是最大值") ;}System.out.println("max:"+max);System.out.println("----------------------------------");//方式2:直接输出了if(a>b){System.out.println(a+"是最大值");}else{System.out.println(b+"是最大值");}}}
6.选择结构语句if格式2和三元的区别
面试题
if...else...和三元运算符的区别?
区别:
共同点:都是选择一个结果;(带有选择判断思想)
不同点:1)格式不同
三元运算符---是一个运算符 ---应该要出来具体的结果值
(表达式)?执行true的结果:执行false的结果
if...else...流程控制语句
if(表达式){
语句1; 这里面的语句可能是具体的
变量携带的结果或者是输出语句;}else{
语句2;}2)范围不同
if...else...大于三元运算符:三元运算符的能够实现,一定能够使用
if...else...实现但是,if...else...不一定能够使用三元
//导包importjava.util.Scanner;classIfDemo3{publicstaticvoidmain(String[] args){//键盘录入两个数据,比较两个数据最大值;//创建键盘录入对象Scanner sc =newScanner(System.in);//提示并录入数据System.out.println("请输入第一个数据:");int a = sc.nextInt();System.out.println("请输入第二个数据:");int b = sc.nextInt();//三元int max =(a>b)?a:b;System.out.println("max是"+max);System.out.println("-------------------------------");//if...else...//定义个变量int max2 ;if(a>b){
max2 = a ;}else{
max2 = b ;}System.out.println("max2是"+max2);System.out.println("----------------if...else...里面直接输出
结果---------------");if(a>b){System.out.println(a+"是最大值");}else{System.out.println(b+"是最大值");}System.out.println("-------------------------------");//键盘录入一个数据,int类型数据是否是偶数----能够被2整除System.out.println("请您输入一个数据 ");int x = sc.nextInt();//if....else....if(x %2==0){System.out.println("x是偶数");}else{System.out.println("x不是偶数");}//错误的:三元这样写不了//System.out.println((x%2==0)?System.out.println("x是偶数"):System.out.println("x是偶数"));//String---jdk提供的字符串类String result =(x%2==0)?"偶数":"不是偶数";System.out.println(result);}}