java结构之选择语句

打印 上一主题 下一主题

主题 872|帖子 872|积分 2626

------------恢复内容开始------------
选择结构


  • 选择结构分为为i语句和switch语句

目录

if语句

1.if单选择语句
结构图:(用输出语句打了一个简单结构图)

代码示例:
  1. public class IfDemo01 {
  2.     public static void main(String[] args) {
  3.         /*if单选择语句
  4.          if(布尔值为true){
  5.          代码块
  6.          }
  7.          */
  8.         Scanner sc=new Scanner(System.in);
  9.         System.out.println("请输入内容:");
  10.         //将键盘输入的值传给s
  11.         String s=sc.nextLine();
  12.         //equals判断字符串是否相等
  13.         if (s.equals("Hello")){
  14.         System.out.println("字符串相等 ,输入的字符串为"+s);
  15.         }
  16.         System.out.println("End");
  17.         sc.close();
  18.     }
  19. }
复制代码
输出:
  1. 请输入内容:
  2. Hello
  3. 字符串相等 ,输入的字符串为Hello
  4. End
复制代码
2.if双选择结构
代码示例:
  1. public class IfDemo02 {
  2.     public static void main(String[] args) {
  3.         /*if双选择语句(布尔值为ture执行代码块1,为false执行代码快2)
  4.          if(布尔值为true){
  5.          代码块1
  6.          }else{
  7.          代码块2
  8.          }
  9.          */
  10.         //判断输入的考试分数是否及格,小于60为不及格
  11.         Scanner sc=new Scanner(System.in);
  12.         System.out.println("输入考试成绩:");
  13.         int score= sc.nextInt();
  14.         if (score<60){
  15.             System.out.println("不及格");
  16.         }else {
  17.             System.out.println("成绩及格");
  18.         }
  19.         sc.close();
  20.     }
  21. }
复制代码
输出:
  1. 输入考试成绩:
  2. 90
  3. 成绩及格
复制代码
  1. public class IfDemo03 {
  2.     //if多选择结构.if与else if中的语句有一个为真,则执行对应的代码快,若为false执行else中的内容
  3.     /*
  4.     if(){
  5.     }else if(){
  6.     }else if(){
  7.     }......
  8.     else{}
  9.      */
  10.     public static void main(String[] args) {
  11.         Scanner sc=new Scanner(System.in);
  12.         System.out.println("请输入成绩:");
  13.         int score=sc.nextInt();
  14.         if (score >=90) {
  15.             System.out.println("优秀");
  16.         }else if (score<90&&score>=80){
  17.             System.out.println("良好");
  18.         }else if (score<80&&score>=60){
  19.             System.out.println("及格");
  20.         }else if (score>=0&&score<60){
  21.             System.out.println("不及格");
  22.         }
  23.         else {
  24.             System.out.println("请输入正确的成绩");
  25.         }
  26.     }
  27. }
复制代码
Switch多选择结构
  1. 请输入成绩:
  2. 80
  3. 良好
复制代码
代码示例:
  1. 请输入成绩:
  2. 50
  3. 不及格
复制代码
输出:
  1. 请输入成绩:
  2. 100
  3. 优秀
复制代码
注:输入值为'C',本应输出结果"及格",但是因为在输出语句后面没有加break;及时跳出循环,导致,case击穿,把下面的”不及格“也同时输出了!
default与if中的else语句类似,当输入的值,没有在各个value值中间时,执行default对应的代码块
代码案例:
  1. public class IfDemo04 {
  2.     public static void main(String[] args) {
  3.         //if嵌套选择结构,用嵌套快速查找一个数
  4.        /* if (外层表达式){
  5.             if (内层表达式){
  6.                 内层代码块1
  7.             }else{
  8.                 内层代码块2
  9.             }
  10.         }else{
  11.             外层代码块
  12.         }
  13.         */
  14.         //判断学生成绩超过60的选手,是否为优秀(score>=90)
  15.         Scanner sc=new Scanner(System.in);
  16.         System.out.println("输入学生成绩:");
  17.         int score=sc.nextInt();
  18.         if (score>=60){
  19.             if (score>=90){
  20.                 System.out.println("恭喜你,你的成绩为优秀");
  21.             }else {
  22.                 System.out.println("你的成绩为"+score);
  23.             }
  24.         }else if (score<60&&score>=0){
  25.             System.out.println("不及格");
  26.         }
  27.     }
  28. }
复制代码
输出结果:
  1. 输入学生成绩:
  2. 90
  3. 恭喜你,你的成绩为优秀
复制代码
深入研究循环中的字符串值比较
因为字符的本质还是数字
在java中,我们都知道有java通过编译形成的字节码文件-------通过反编译来查看就可知道其中原理
通过查看idea中的反编译文件,可以看到
  1. 输入学生成绩:
  2. 80
  3. 你的成绩为80
复制代码
------------恢复内容结束------------

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

泉缘泉

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表