java基础——流程控制(选择结构)if语句
来源:互联网 发布:全国省市区sql脚本 编辑:程序博客网 时间:2024/05/31 19:15
流程结构控制语句分类:
作用:用来控制程序执行流程。
选择结构:
也称为分支结构,他有特定的语法规则,
要执行具体的逻辑运算进行判断,结果有两个,
从而进行选择,按照不同选择执行不同的代码。
java中提供了两中选择结构语句:
1-if
2-switch(后补充)
if语句:
三种格式:
1-:if(关系表达式){
语句体
}
首先要看关系表达式的结果是true还是false
如果是true就执行语句体
如果是false就不执行。
package com.lcn.day03;public class IfDemo2 {/** * @param args */public static void main(String[] args) {int x = 100;if(x == 100){System.out.println("x等于100");//选择结构}if(x == 200){System.out.println("x等于200");//选择结构}System.out.println("hello world");//顺序结构}}
结果:x等于100
hello world
if语句注意事项:
1-关系表达式无论简单还是复杂结果都是boolean类型。
2-if语句如果控制的语句体只有一条语句,大括号可以省略,
如果是多条语句就不能省略。(建议不省略写)
3-一般来讲有左大括号就没有分号,有分号就没有左大括号。
格式2-if(关系表达式){
语句体1
}else{
语句体2
}
注意:else后面没有表达式。
执行流程:
首先比较表达式的结果,是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
package com.lcn.day03;public class IfelseDemo1 {/** * @param args */public static void main(String[] args) { int x = 100;if(x == 100){System.out.println("x等于100");//选择结构}else{System.out.println("x不等于100");}System.out.println("hello world");//顺序结构}}
案例1:
package com.lcn.day03;import java.util.Scanner;public class IfelseDemo2 {/** * 键盘录入获取两个数中较大的值 */public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入第一个数:");int x = sc.nextInt();System.out.println("请输入第二个数:");int y = sc.nextInt();int max;if(x>y){max = x;}else{max = y;}System.out.println("最大值是:"+max);}}
案例2:
package com.lcn.day03;import java.util.Scanner;public class IfelseDemo4 {/** *判断一个数据是奇数还是偶数 */public static void main(String[] args) {Scanner sc = new Scanner(System.in); System.out.println("请输入一个数:"); int a = sc.nextInt(); if(a%2==0){ System.out.println("是偶数"); }else{ System.out.println("是奇数"); }}}
思考:
if语句和三元运算符的区别。
下面是用三元表达式做我们之前做过的练习。
package com.lcn.day03;import java.util.Scanner;public class IfelseDemo5 {/** * 三元表达式来比较两个数的较大值 */public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入第一个数:");int x = sc.nextInt();System.out.println("请输入第二个数:");int y = sc.nextInt();int max = (x>y?x:y);System.out.println("最大值是:"+max);}}
但是上面做的奇数偶数就不能用三元替代。
结论:
三元可以用if修改,但if未必可用三元修改(例:当if语句控制的是一个输出语句时)。
因为三元控制的是结果。
格式3-
if(关系表达式1){
语句体1
}else if(关系表达式2){
语句体2
}
...
}else{
语句体n
}
执行流程:
首先还是看关系表达式结果是true还是false,如果是true执行语句体1
如果是false执行关系表达式2,判断关系表达式2的结果是true还是false,然后同上执行。
注意当所有关系都不成立是执行最后一条语句,但是当有一条语句成立是下面的判断就停止执行。
案例:
键盘录入一个成绩病判断成绩等级:
package com.lcn.day03;import java.util.Scanner;public class IfelseDemo6 {/** * 键盘录入一个成绩病判断成绩等级: * 0-60 不及格 * 60-70 及格 * 70-80良 * 80-90好 * 90-100优秀 */public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入你的成绩:");int scores = sc.nextInt();if(scores>=0&&scores<60){System.out.println("你的成绩等级:不及格");}else if(scores>=60&&scores<70){System.out.println("你的成绩等级:及格");}else if(scores>=70&&scores<80){System.out.println("你的成绩等级:良");}else if(scores>=80&&scores<90){System.out.println("你的成绩等级:好");}else if(scores>=90&&scores<=100){System.out.println("你的成绩等级:优秀");}else{ System.out.println("您输入的成绩有误,请重新输入"); }}}
结果:
请输入你的成绩:
88
你的成绩等级:好
案例:
package com.lcn.day03;import java.util.Scanner;public class IfelseDemo7 {/** *鍵盤錄入月份輸出對應的季節 */public static void main(String[] args) {Scanner sc = new Scanner(System.in); System.out.println("请输入一个月份:"); int month = sc.nextInt(); if(month==12||month==1||month==2){ System.out.println(month+"月对应的季节是:冬季"); }else if(month>=3&&month<=5){ System.out.println(month+"月对应的季节是:春季"); }else if(month>=6&&month<=8){ System.out.println(month+"月对应的季节是:夏季"); }else if(month>=9&&month<=11){ System.out.println(month+"月对应的季节是:秋季"); }}}
结果:
请输入一个月份:
12
12月对应的季节是:冬季
if语句的嵌套使用。
案例:获取三个数据中的最大值
package com.lcn.day03;public class IfelseDemo8 {/** * if语句嵌套使用求三个数中的最大数 */public static void main(String[] args) {int a = 20;int b = 30; int c = 50; //以前三元做法 int max = (a>c?(a>b?a:b):(b>c?b:c)); System.out.println("三元做法的最大值是:"+max); //使用if嵌套 if(a>b){//如果成立执行,如果不成立执行else if(a>c){ max = a; }else{ max = c; } }else{ if(b>c){ max = b; }else{ max = c; } } System.out.println("if嵌套输出的最大值是:"+max);}}
三元做法的最大值是:50
if嵌套输出的最大值是:50
阅读全文
1 0
- java基础——流程控制(选择结构)if语句
- 流程控制语句——if选择结构语句
- java基础——流程控制(选择结构)switch语句
- java基础——流程控制语句(顺序结构)
- 流程控制语句————If选择结构语句
- JAVA基础之流程语句控制:选择结构
- Java基础(流程控制语句、选择结构、循环结构、方法)
- Java语言基础(六)之 —— 选择结构(if语句)
- Java基础语法——运算符、流程控制语句、if条件语句
- 流程控制——分支结构之if语句
- 流程控制语句——switch选择结构语句
- C语言基础 选择结构 流程控制 If Switch
- Java流程控制语句——if语句
- Java流程控制语句——if-else语句
- 流程控制语句--选择结构
- java基础——流程控制语句
- Java选择结构if语句
- 黑马程序员——C语言基础---流程控制(选择结构,循环结构)
- NGUI简单背包系统的实现
- 变换次数
- Redis操作命令总结
- Mysql如何删除以“#sql-”开头的临时表
- android 沉浸式状态栏 软键盘挡住输入框问题
- java基础——流程控制(选择结构)if语句
- 97-ICMP 协议(端口不可达)
- 测试触发器时出现的错误
- 部分情况下Error:(xx, xx) Failed to resolve: xxxxxx解决。
- sscanf的操作用法
- spring
- 终极报错解决方案:Failed to resolve:annotationProcessor
- u-boot FIT image介绍
- Mysql各种类型字段长度