我是靠谱客的博主 有魅力牛排,最近开发中收集的这篇文章主要介绍java基础——流程控制(选择结构)if语句流程结构控制语句分类: 作用:用来控制程序执行流程。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
流程结构控制语句分类:
作用:用来控制程序执行流程。
选择结构:
也称为分支结构,他有特定的语法规则,
要执行具体的逻辑运算进行判断,结果有两个,
从而进行选择,按照不同选择执行不同的代码。
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
最后
以上就是有魅力牛排为你收集整理的java基础——流程控制(选择结构)if语句流程结构控制语句分类: 作用:用来控制程序执行流程。的全部内容,希望文章能够帮你解决java基础——流程控制(选择结构)if语句流程结构控制语句分类: 作用:用来控制程序执行流程。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复