关于if:条件分支if和else的使用详解

程序构造没什么好讲的,就是从上到下的写代码,所以接下来,壹哥就间接带各位来学习分支构造里的条件分支。咱们在后面说过,分支构造,或者叫做条件分支,其实有两种状况。一种是if...else...类型的条件分支,一种是switch...case...类型的条件分支,明天咱们先来学习if和else的应用。 1、if根本语法 在Java代码中,如果咱们要依据某个条件来决定是否执行一段代码,就能够思考应用if语句。if语句的根本语法是: <code class="language-plaintext hljs">if(条件表达式){ //满足条件时要执行的语句 } </code>在下面的语法中,会依据if(条件表达式)里的计算结果(true或者false),由JVM决定是否执行{}里的代码块。如果为true,就执行,否则就不执行。 2、if的单分支语句 首先咱们通过一个简略的需要,来学习if的单分支语句。所谓的单分支语句,就是说只有一种判断状况,条件为真就执行,否则就不执行。比方这个需要:“如果你年满18岁,就能够攒劲的节目”。 <code class="language-plaintext hljs">publicclassDemo01 { publicstaticvoidmain(String[] args) { // if语句 //案例1:如果年龄大于等于18岁,就可以看攒劲的节目了 System.out.println("请输出你的年龄"); //获取Scanner对象 Scanner sc=new Scanner(System.in); //获取年龄 int age = sc.nextInt(); //如果语句块{}外面只有一条执行语句,{}能够省略,但倡议保留。 if(age >= 18){ System.out.println("本节目只对成年人凋谢,未成年人请在父母陪同下观看,节目正在缓冲......"); } //案例2:如果身高大于180,且体重小于180,就能够当模特 System.out.println("请输出你的身高"); int height = sc.nextInt(); System.out.println("请输出你的体重"); int weight = sc.nextInt(); //条件表达式中,能够联合之前学习过的逻辑运算符//采纳短路与&&,提高效率 if(height > 180 && weight < 180){ System.out.println("祝贺你,能够当模特了"); } }}</code>另外如果{}语句块外面只有一条执行语句,{}能够省略,但倡议保留。因为如果咱们采纳缩进的格局,很容易把前面的语句都看成是if语句的执行块,所以不举荐疏忽花括号的写法。 单分支语句应答的状况是很简略的,在理论开发中可能会很简单,这就须要应用多分支语句来进行解决。 3、if的多分支语句 3.1 if...else构造 if...else...构造会依据条件表达式的后果进行判断,当表达式的后果为true,则执行语句块A;否则执行else前面的语句块B。根本语法结构如下: <code class="language-plaintext hljs">if(逻辑条件){ //满足逻辑条件执行的代码 }else{ //不满足逻辑条件执行的代码 }</code>案例如下: <code class="language-plaintext hljs">publicclassDemo01 { publicstaticvoidmain(String[] args) { // if多分支语句 Scanner sc=new Scanner(System.in); //案例:如果用户名为admin、明码为123456,就跳转到首页,否则跳转到登录页面 System.out.println("请输出用户名"); String username = sc.next(); System.out.println("请输出明码"); String password = sc.next(); //equals()比拟办法 if("admin".equals(username) && "123456".equals(password)){ System.out.println("跳转首页"); }else{ System.out.println("跳转登录页面"); } }}</code>咱们要留神,在java中,"=="比拟的是两个对象的内存地址是否雷同,String类中的equals()办法比拟的是内容是否雷同。如果是根本数据类型,咱们能够应用==进行比拟;而对于String字符串,个别是应用equals()办法进行比拟。 ...

January 3, 2023 · 2 min · jiezi

关于if:CTO再写ifelse逮着罚款1000

本文并不必定或者否定哪一种写法,仅仅为大家提供一些其余的编码思路或者一些值得借鉴的点子。设计更好的软件,替换 If-Else 的 5 种办法,从入门到高级示例 If-Else 通常是一个蹩脚的抉择,它导致设计简单,代码可读性差,并且可能导致重构艰难。 然而,If-Else 已成为事实上的代码分支解决方案,这的确是有情理的。这是向所有有抱负的开发人员讲授的第一件事。 可怜的是,许多开发人员素来没有后退到更适合的分支策略。有些人的口头禅是:If-Else 是一把锤子,一切都是钉子。 我将向大家展现一些技巧和模式,这些技巧和模式将终结这种可怕的做法。每个示例的难度都会减少。 齐全不必要的 Else 块 这兴许是那些高级开发人员最负罪的之一。上面的示例很好地阐明了当你被认为 If-Else 很棒时会产生什么:Simple if-else 只需删除 else` 块即可简化此过程,如下图:Removed else 看起来更业余吧?你会发现,实际上基本不须要其余块。像在这种状况下一样,你想要在满足特定条件的状况下执行某些操作并立刻返回。 价值调配 如果你要依据提供的某些输出为变量调配新值,请进行 If-Else 废话,一种更具可读性的办法。Value assignment with if-else 只管很简略,但它却很蹩脚。首先,If-Else 很容易在这里被开关取代。然而,咱们能够通过齐全删除 else 来进一步简化此代码。If statements with fast return 如果不应用 else,则咱们将剩下洁净的可读代码。请留神,我也将款式更改为疾速返回而不是单返回语句。如果曾经找到正确的值,持续测试一个值基本没有意义。 前提条件查看 通常,我发现,如果办法提供了有效的值,则继续执行是没有意义的。假如咱们从以前就有了 DefineGender 办法,要求提供的输出值必须始终为 0 或 1。Method without value checks 在没有价值验证的状况下执行该办法没有任何意义。因而,在容许办法继续执行之前,咱们须要查看一些先决条件。 利用爱护子句防御性编码技术,你将查看办法的输出值,而后继续执行办法。Check preconditions with guard clauses 至此,咱们确保仅在值落在预期范畴内时才执行主逻辑。当初,IF 也已被三元代替,因为不再须要在结尾处默认返回"未知"。 将 If-Else 转换为字典,完全避免 If-Else 假如您须要执行一些操作,这些操作将依据某些条件进行抉择,咱们晓得当前必须增加更多操作。兴许有人偏向于应用久经考验的 If-Else。如果增加新操作,则只需简略地增加其余内容即可。很简略 然而,就保护而言,这种办法不是一个好的设计。 ...

December 24, 2020 · 1 min · jiezi