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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 放课后小朋友 中级黑马   /  2014-1-29 12:23  /  1382 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

每天写的代码也挺多的,最近才注意到这个问题{:soso_e153:},在语句结尾处多加了分号编译运行都不出错是哪般情况?示例:
ArrayList<String> ll=new ArrayList<String>();;;;
{:soso_e141:}

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
传说中的空语句,这一点貌似在C语言里也是这么定义的。Java中,分号,代表了一条语句的结束,但你只写一个分号也是可以的,这叫空语句。
从地位上来说,和if语句,for语句,while语句等是一样的。
说不出这个语句有什么用,但编译器是不会报错的。


评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报 1 0
你的写法相当于:
ArrayList<String> ll=new ArrayList<String>();
;
;
;
//分号对编译器来意味着一条语句的结束,你这相当于一条创建集合实例语句+三条空语句
当循环体中不想执行任何内容时,循环会用例如:
for(int i=0;i<3;++i);//等价于下面的语句
for(int i=0;i<3;++i){
      ;
}

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马