相关疑难解决方法(0)

为什么Java没有块范围的变量声明?

以下方法不起作用,因为内部块声明了与外部块中的变量同名的变量.显然,变量属于声明它们的方法或类,而不属于声明它们的块,因此我无法编写一个简短的临时块来进行调试,将外部作用域中的变量推送到阴影片刻:

void methodName() {
  int i = 7;
  for (int j = 0; j < 10; j++) {
    int i = j * 2;
  }
}
Run Code Online (Sandbox Code Playgroud)

几乎我用过的每一种块范围的语言都支持这种语言,包括我在学校编写解释器和编译器的琐碎小语言.Perl可以做到这一点,就像Scheme一样,甚至是C.甚至PL/SQL都支持这个!

这个Java设计决策的基本原理是什么?

编辑:有人指出,Java确实有块范围.我问的概念的名称是什么?我希望我能从那些语言设计课程中记住更多.:)

java syntax language-design

9
推荐指数
4
解决办法
4552
查看次数

标签 统计

java ×1

language-design ×1

syntax ×1