Java Switch在多种情况下使用变量的最佳实践

浮点数

我想要一个如下的switch语句:

switch (something)
{
    case 1:
        int a = 3;
        ...
        break;
    case 2:
        int a = 4;
        ....
        break;
}

这是行不通的,因为无法在该范围内重新定义a。我看到以下选项:

  1. 在情况2中,只需加上“ a = 4”
  2. 将每个案件放在括号中
  3. 在switch语句之前定义变量
  4. 在情况2中使用其他变量名

我真的不喜欢这四个。该走哪条路,还是我错过了最佳解决方案?

我看到了这样的问题一个,用括号这表明,但他们不是要做到这一点的最好办法,但它得到工作的。

安德鲁·斯科特·埃文斯(Andrew Scott Evans)

我猜您正在捕获带有llegalstateexception的任何异常并使用默认块。

default:
     doSomething();
     break;

甲骨文的风格指南不使用大括号。它还说,只要语句没有间断,都应添加注释。

但是,出于可读性和可靠性的考虑,任何多于一行的内容都可以用大括号括起来,而不会影响性能。花括号告诉编译器创建一个新的作用域,并将该代码作为一个块执行。如果您要做的只是更改a,那么这实际上不是必需的。如果您可以将大写的switch case语句写在一行而不用大括号括起来,请这样做。Java中的许多东西都不能在一行实例中包含大括号,包括if语句。

接下来,您可以在switch语句之外的语句中重新定义需要重用或设置的任何变量。这将是最小化整数的连续实例化的最佳实践。

如果多于一行,则应尝试制作一些方法,然后进行以下操作:

int a=0;

switch (something)
{
    case 1:{
        a = 3;
        ...
        break;
     }
     case 2:{
        a = 4;
        ....
       break;
    }
    default:
    {
       try{
           throw new IllegalStateException();
       }catch(IllegalStateException e)
       {
           e.printStackTrace();
       } 
   } 
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java在不使用静态对象的情况下跨其他对象共享对象的最佳方法

来自分类Dev

在这种情况下,使用IF或SWITCH或“动态函数名称”的最佳实践是什么

来自分类Dev

在不使用Objective C中的switch语句的情况下显示评级图像的最佳实践

来自分类Dev

在不初始化的情况下声明变量的最佳实践,因此无法使用auto

来自分类Dev

在不使用Java调用的情况下启动Java程序

来自分类Dev

Java的:静态变量声明的最佳实践

来自分类Dev

在不使用本机代码的情况下跟踪Java堆

来自分类Dev

yum在不使用Java的情况下安装Libreoffice Writer

来自分类Dev

在不使用系统时间的情况下以Java获取UTC

来自分类Dev

Java BufferedReader Switch的情况下,同一行存储在数组中

来自分类Dev

使用+ =运算符的Java最佳实践

来自分类Dev

使用Java RegEx,如何在忽略引号和空格的情况下将一个变量与另一个变量进行比较?

来自分类Dev

在稳定排序相等的情况下使用优先队列保留插入顺序的最佳实践

来自分类Dev

其他情况下的SQL最佳实践

来自分类Dev

java:Swith情况下的NullPointerAccess(NullPointerException)

来自分类Dev

默认情况下是否安装Java?

来自分类Dev

如何在不初始化Java中for循环的情况下重用变量?

来自分类Dev

如何在不删除其他变量的情况下更新Java中的属性值

来自分类Dev

Java通用类型在没有中间变量的情况下失败

来自分类Dev

Switch语句在多种情况下会忽略Where子句

来自分类Dev

缓存Java最佳实践

来自分类Dev

java继承的最佳实践?

来自分类Dev

Java的OneToMany最佳实践

来自分类Dev

缓存Java最佳实践

来自分类Dev

Java tryParseInt最佳实践

来自分类Dev

Java最佳实践:子类中更详细的类变量

来自分类Dev

Java-创建包范围或全局变量的最佳实践

来自分类Dev

Java-创建包范围或全局变量的最佳实践

来自分类Dev

如何在不使用Java -jar的情况下运行Java可执行文件

Related 相关文章

  1. 1

    Java在不使用静态对象的情况下跨其他对象共享对象的最佳方法

  2. 2

    在这种情况下,使用IF或SWITCH或“动态函数名称”的最佳实践是什么

  3. 3

    在不使用Objective C中的switch语句的情况下显示评级图像的最佳实践

  4. 4

    在不初始化的情况下声明变量的最佳实践,因此无法使用auto

  5. 5

    在不使用Java调用的情况下启动Java程序

  6. 6

    Java的:静态变量声明的最佳实践

  7. 7

    在不使用本机代码的情况下跟踪Java堆

  8. 8

    yum在不使用Java的情况下安装Libreoffice Writer

  9. 9

    在不使用系统时间的情况下以Java获取UTC

  10. 10

    Java BufferedReader Switch的情况下,同一行存储在数组中

  11. 11

    使用+ =运算符的Java最佳实践

  12. 12

    使用Java RegEx,如何在忽略引号和空格的情况下将一个变量与另一个变量进行比较?

  13. 13

    在稳定排序相等的情况下使用优先队列保留插入顺序的最佳实践

  14. 14

    其他情况下的SQL最佳实践

  15. 15

    java:Swith情况下的NullPointerAccess(NullPointerException)

  16. 16

    默认情况下是否安装Java?

  17. 17

    如何在不初始化Java中for循环的情况下重用变量?

  18. 18

    如何在不删除其他变量的情况下更新Java中的属性值

  19. 19

    Java通用类型在没有中间变量的情况下失败

  20. 20

    Switch语句在多种情况下会忽略Where子句

  21. 21

    缓存Java最佳实践

  22. 22

    java继承的最佳实践?

  23. 23

    Java的OneToMany最佳实践

  24. 24

    缓存Java最佳实践

  25. 25

    Java tryParseInt最佳实践

  26. 26

    Java最佳实践:子类中更详细的类变量

  27. 27

    Java-创建包范围或全局变量的最佳实践

  28. 28

    Java-创建包范围或全局变量的最佳实践

  29. 29

    如何在不使用Java -jar的情况下运行Java可执行文件

热门标签

归档