java声明局部变量时,省略大括号,可以同时声明两个名称和类型相同的局部变量吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java声明局部变量时,省略大括号,可以同时声明两个名称和类型相同的局部变量吗?相关的知识,希望对你有一定的参考价值。

例如:

for(i=1;i<=5;i++)
for(i=1;i<=5-i;i++)
System.out.print(" ");
for(i=1;i<=2*i-1;i++)
这应该是三个相互嵌套的for循环啊,为何没有报错?

你声明的变量在哪???你贴的代码中没有任何地方声明了变量,只有使用了变量i。。。
int i;
这才是声明了变量i是一个整型变量,你在for循环里,那都是使用,重复使用当然没问题。。。
有一种方法是声明,for(int i=1;i<=5;i++),可你不是这么写的呀追问

没发出来......上面一句是int i,,j,k;

参考技术A

你上面的写法应该是:

int i;

然后才是你的3个for循环吧。

也就是说你3个for循环都只是对i进行赋值,没有声明变量的。

for循环没有是只能有一行代码的。如:

for (int i=0;i<10;i++) 
    System.out.println(i);

if也是一样的。如:

if (a > b) System.out.println("hello");

参考技术B 朋友,你那只是【赋值】,并不是【声明】,【声明】是要加数据类型的。
上面的如果是最外面的for将两个for括起来,仅仅是赋值操作,不存在什么错误。
参考技术C 你用的是啥工具,我用myeclipse按你的写法会报错,编译都不通过。

参考技术D 省略花括号的话默认执行后面的一句代码!

js-varletconst的区别

js-var、let、const的区别

  • var

    • 可以重复声明

    • 作用域在全局

    • 有变量提升现象

    • 声明变量前调用不会报错

  • let

    • 块级作用域 { }大括号为标识,简写省略大括号会报错

    • 在同一个块级作用域中不能重复声明

    • 没有变量提升现象

    • 声明变量完成前调用都会报错

  • const

    • 也是块级作用域

    • 同一个块级作用域不能重复声明

    • 没有变量提升

    • const用来声明常量

    • const声明时就要进行赋值,不然会报错

    • 保存简单类型为常量,赋值后不能再改变

    • 保存对象保存的只是一个指向实际数据的地址,不可变的是这个地址,但是对象本身是可变的,所以依然可以为该对象添加属性和方法

以上是关于java声明局部变量时,省略大括号,可以同时声明两个名称和类型相同的局部变量吗?的主要内容,如果未能解决你的问题,请参考以下文章

js-varletconst的区别

Java中的变量

js变量作用域--变量提升

全局变量与局部变量

Java成员变量和局部变量

shell编程:编译器解释器 变量