影酱🌸


今日事件

  • 搬运WIKI GlobalMarketChest 有个刁民说我没搬完!其实是在审核中
  • 突然看到WIKI板块有部分官方文章一直没人搬,而且绿宝石基本都是3-5颗,内容还少!
  • 于是乎我大胆的决定明天尝试搬一篇看看!
  • JAVA基础-控制语句开坑!第一课IF语句的应用,有小试身手...有点烧脑了
  • 修改部分注释代码,今天有大佬让我修改下注释部分的规范,还是听取下,主要懒...




今日知识

关于java语言当中的if语句,属于选择结构,if语句又被称为分支语句/条件控制语句

if语句的语法结构:四种编写方式
  1. *          第一种:
  2. *              if(布尔表达式) {
  3. *                  java语句;
  4. *                  java语句;
  5. *                  java语句;
  6. *                  java语句;
  7. *                  .....
  8. *              }
复制代码
  1. *          第二种:
  2. *              if(布尔表达式) {
  3. *                  java语句;
  4. *                  java语句;
  5. *                  .....
  6. *              }else {
  7. *                  java语句;
  8. *                  java语句;
  9. *                  .....
  10. *              }
复制代码
  1. *          第三种:
  2. *              if(布尔表达式) {
  3. *                  java语句;
  4. *                  java语句;
  5. *                  .....
  6. *              }else if(布尔表达式) {
  7. *                  java语句;
  8. *                  java语句;
  9. *                  .....
  10. *              }else if(布尔表达式) {
  11. *                  java语句;
  12. *                  java语句;
  13. *                  .....
  14. *              }else if(布尔表达式) {
  15. *                  java语句;
  16. *                  java语句;
  17. *                  .....
  18. *                                }
复制代码
  1. *          第四种:
  2. *              if(布尔表达式) {
  3. *                  java语句;
  4. *                  java语句;
  5. *                  .....
  6. *              }else if(布尔表达式) {
  7. *                  java语句;
  8. *                  java语句;
  9. *                  .....
  10. *              }else if(布尔表达式) {
  11. *                  java语句;
  12. *                  java语句;
  13. *                  .....
  14. *              }else {
  15. *                  java语句;
  16. *                  java语句;
  17. *                  .....
  18. *              }
复制代码

重点:对于java中的if语句来说,只要有一个分支执行,整个if语句全部结束

注意:以上的第二种编写方式和第四种编写方式都带有else分支,这两种方式可以**会有分支执行

所有的控制语句都是可以嵌套使用的,只要合理嵌套就行

  1. *          if(){
  2. *              if(){
  3. *                  if(){
  4. *                  }
  5. *              }
  6. *          }else{
  7. *              if(){
  8. *
  9. *              }else{
  10. *                  if(){
  11. *                      if(){
  12. *                      }
  13. *                  }
  14. *              }
  15. *          }
复制代码
注意:嵌套使用的时候,代码格式要完美。【该缩进的时候必须缩进,大部分情况下使用大括号保包围的需要缩进】

if语句的分支中只有一条java语句的话,大括号可以省略不写
  1. *          if(true/false){
  2. *              一条java语句;
  3. *          }
  4. *
  5. *          if(true/false) 一条java语句;
  6. *          这种方式不推荐使用,别人这么写能看懂就行
复制代码

试题
        /*
         * 需求:
         *      假设系统给定一个考生的成绩,成绩可能带有小数点,成绩要求范围是:[0-100]
         *      根据学生的成绩判断该学生的成绩等级:
         *          [90-100] A
         *          [80-90]  B
         *          [70-80]  C
         *          [60-70]  D
         *          [0-60]   E
         *
         *      以上的逻辑判断采用if语句完成,应该怎么写?
         */
解决方案
  1.         double score = 1001;
  2.         if(score < 0 || score > 100 ){
  3.             System.out.println("对不起,您提供的考生成绩不合法");
  4.         }else if(score >= 90){
  5.             System.out.println("该考生的考试等级是:A等级");
  6.         }else if(score >= 80){
  7.             System.out.println("该考生的考试等级是:B等级");
  8.         }else if(score >= 70){
  9.             System.out.println("该考生的考试等级是:C等级");
  10.         }else if(score >= 60){
  11.             System.out.println("该考生的考试等级是:D等级");
  12.         }else {
  13.             System.out.println("该考生的考试等级是:E等级");
  14.         }
复制代码
优化方案
  1.         double score = 99.5;
  2.         String grade = "该考生的考试等级是:E等级";
  3.         if(score < 0 || score > 100 ){
  4.             grade = "对不起,您提供的考生成绩不合法";
  5.         }else if(score >= 90){
  6.             grade = "该考生的考试等级是:A等级";
  7.         }else if(score >= 80){
  8.             grade = "该考生的考试等级是:B等级";
  9.         }else if(score >= 70){
  10.             grade = "该考生的考试等级是:C等级";
  11.         }else if(score >= 60){
  12.             grade = "该考生的考试等级是:D等级";
  13.         }

  14.         System.out.println(grade);
复制代码


笔记&源码展示




下载地址

请勿将以前,以后,所有的日记整合后用于商业用途

IfTest01.txt (5.34 KB, 下载次数: 0)

提示:将文件后缀改为.java就是源码
因为泥潭不让上传.java后缀的文件

如果您喜欢,还请您素质三连~
感谢您的支持



捏脸小分队

没错!一个没有任何用的板块开张了!
捏脸小分队正式启动
想跟着祥子一起去捏小脸蛋的就来加入吧!



索引贴

在这里可以查看到我的所有日记~
点击进入 > 索引贴 < 点击进入
感谢各位的支持~
ing~





来自群组: Complex Studio

mohui666
给大佬加油!
一晚上也没人就离谱

aoqiyuzhou
DDDDDDDDDDDDDDDDD

Piglin_42313
讲个笑话,我们老师是手动统分的

BiggayJN
每次都看不懂,每次都很羡慕你..

William_Shi
补充一点心得

*          if(true/false) 一条java语句;
*          这种方式不推荐使用,别人这么写能看懂就行

阿里巴巴的华山版java开发规范是禁止了这种用法的(懒得截图了)
以下是google的
4.1.1 Braces are used where optional

Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

谷歌的规范使用了even when来强制禁止了这种用法

所以应该是“尽可能避免使用”、“不使用”,而不是“不推荐使用”

影酱🌸

感谢大佬补充
在java语言编写过程中
此类语法是可以使用并且不会出现编译报错
所以此处写不推荐使用

影酱🌸

另外补充一点
该类日记并不属于教程
只是关于本人在学习历程中的记录与分享
教程的话还请至编程开发板块学习

魅-内存君
什么if语句?我只听说过if大奖

影酱🌸
魅-内存君 发表于 2020-4-13 13:30
什么if语句?我只听说过if大奖

if语句为编程中的常用语句
可以自行百度
基本上每个插件/软件都需要用到的语句

结城希亚
普通的判断我都用屑变量的,配置文件的话我都用getBoolean来判断

影酱🌸
结城希亚 发表于 2020-4-13 13:36
普通的判断我都用屑变量的,配置文件的话我都用getBoolean来判断

getboolean 是啥
布尔值类型么....
有点懵耶

Shang_gu
一脸懵逼 您在干啥 这是茶馆 我看不懂 虽然教程很不错

结城希亚
XiangZi_ 发表于 2020-4-13 13:37
getboolean 是啥
布尔值类型么....
有点懵耶

Bukkit里的方法
在指定路径获取一个 boolean 类型的值.



所以你什么时候写插件啊

影酱🌸

Bukkit里的 归Bukkit
现在说的是java...没有涉及Bukkit

等我把语句这块基本学完掌握
就开始尝试写基础插件