有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (4) 个答案

  1. # 1 楼答案

    在基于状态变量执行某些操作时,通常使用switch-case结构。一个int有足够多的选项。布尔值只有两个,所以一个正常的if通常就足够了。在这种情况下,双打和浮球并没有那么精确

    坦白地说,我无法想象这种东西的使用案例,你有没有考虑过这个问题的一些实际问题

  2. # 2 楼答案

    您可以在switch语句中使用enum,Java7将添加字符串AFAIK。switch语句来自C,其中只允许int,实现其他类型更为复杂

    浮点数并不是一个很好的切换工具,因为精确的比较常常被舍入错误打破。e、 g.0.11 - 0.1 == 0.01为假

    打开布尔值并没有多大用处,因为普通的if语句会更简单

    if(a) {
    
    } else { 
    
    }
    

    这对我来说再简单不过了

    switch(a) {
      case true:
    
         break;
      case false:
    
         break;
    }
    

    顺便说一句:我会使用开关(长),如果它是可用的,但它不是。无论如何,这对我来说都是一个罕见的用例

  3. # 3 楼答案

    即使可能,Float和double也难以可靠地使用-不要忘记,由于表示的性质,对Float/double执行精确的相等匹配通常是个坏主意

    对于布尔值,为什么不从if开始呢

    老实说,我不记得曾经想要打开这些类型中的任何一种。您是否考虑了特定的用例

  4. # 4 楼答案

    对于float和double float和double,我假设它们省略了它,原因与why it's a bad idea to compare them using ^{}相同

    对于boolean,这可能只是因为它无论如何都会对应于一个if语句。请记住,case表达式中只能有常量,因此case始终对应于if (someBool)if (!someBool)

    我没有任何解释。在我看来,在设计语言时,这种特性也许应该包括在内