A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Q的感动 中级黑马   /  2016-3-16 21:37  /  1145 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如下代码,为什么在if 条件语句下语句体是创建一个数组会有错误呢?

20160316213040.png (6.13 KB, 下载次数: 28)

20160316213040.png

9 个回复

倒序浏览
if是判断语句
回复 使用道具 举报
if语句后是代码块,代码块里执行的是判断成立以后应该执行的操作
回复 使用道具 举报
你可以在if语句上面先声明一个数组,然后在if语句里面直接赋值,直接在语句里面new对象是行不通的
回复 使用道具 举报
本帖最后由 参禅悟道 于 2016-3-16 22:18 编辑

你加一个括号就行了。if(i==1)
{
        int[] n=new int[5];
}

回复 使用道具 举报 1 0
参禅悟道 发表于 2016-3-16 22:16
你加一个括号就行了。if(i==1)
{
        int[] n=new int[5];

这个才是正解。。楼上都在说什么啊
回复 使用道具 举报
if 后不加括号只能加一条命令,而 int [] n = new int [5]; 是两条语句, int[] n; 定义数组是一条语句, int [] n = new int [5];  赋值又是另一条语句
回复 使用道具 举报 1 0
zapple926 发表于 2016-3-16 23:43
if 后不加括号只能加一条命令,而 int [] n = new int [5]; 是两条语句, int[] n; 定义数组是一条语句, int  ...

嗯,分析得有道理
回复 使用道具 举报
有学习了一个知识点~~~
回复 使用道具 举报
int[] n = new int[5];相当于两条语句,即定义加赋值,需要加{}.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马