黑马程序员技术交流社区
标题:
for循环小疑问
[打印本页]
作者:
曾祥旭
时间:
2013-3-28 12:24
标题:
for循环小疑问
本帖最后由 曾祥旭 于 2013-3-28 14:16 编辑
有一个小小的疑问:在for循环语句中,如果
后面加入;不就表示条件结束吗?那么下面的循
环体不应该执行才对啊?求解?
public class Test{
public static void main(String[] args){
for(int i=0;i<3;i++);
{
System.out.println("Hello World!");
}
}
}
作者:
张洪慊
时间:
2013-3-28 12:35
本帖最后由 张洪慊 于 2013-3-28 12:44 编辑
public class Test{
public static void main(String[] args){
for(int i=0;i<3;i++);
/*
//上面那个for循环相当于什么呢?
for(int i=0;i<3;i++)
{
;
}
//也就是说没有循环体的for循环
*/
//下面这个输出语句相当定义在一个代码块内 ,{ }限定其作用域
{
System.out.println("Hello World!");
}
}
}
复制代码
作者:
_王涛
时间:
2013-3-28 12:46
你的这个问题是,当for循环后面加了 ; 时那么,它就没有了循环体了,{}中的内容也就不是for范围之内的内容了,所有这个结果必然输出一句:Hello World!
作者:
tshch1989
时间:
2013-3-28 12:46
二楼正解,你写的for循环中循环体是空的;而后面紧紧是一条输出语句;另一方面如果输出语句是循环体的话应该输出3次hello world
作者:
薛飞
时间:
2013-3-28 13:09
for循环加后“;”,那么for循环就执行结束了,下来该执行其后的代码了,加了{},即为代码块,起到限定作用域的功能,执行打印语句输出:Hello Word!
作者:
李罡
时间:
2013-3-28 13:15
只是表示一个简单的执行语句,没有循环,{}里面如果有其他的变量的话那么该变量仅在{}里起作用,仅此而已
作者:
陆旭东
时间:
2013-3-28 13:19
for循环之后加上;号就表示for循环结束了。之后的打印语句只是在一个代码块中的与for语句放开的独立语句。
作者:
赵喜平
时间:
2013-3-28 13:54
public class Test{
public static void main(String[] args){
for(int i=0;i<3;i++); //虽然说循环体为空,但是循环体内还是进行循环,只是没有打印出任何内容,“;”表示循环结束
{
System.out.println("Hello World!");//此部分是构造代码块
}
}
构造代码块:给对象进行初始化,对象一建立就运行,优先于构造函数执行,是给所有对象统一初始化;类中直接大括号中的内容就是构造代码块;不同对象共性的初始化内容;
}
作者:
葛迅
时间:
2013-3-28 17:11
你在for后面加上 ; 就是循环结束了。
但是System.out.println("Hello World!")这代表另一个输出表达式,程序依然读取此代码并输出,跟上面的for没有关系了。
作者:
曹宇
时间:
2013-3-28 21:22
本帖最后由 曹宇 于 2013-3-28 21:28 编辑
我是初学者哈,回答可能不对。。。
for在我的理解中 是会执行的。。
一步一步来。。
i初值0 判断<3 正确 然后执行 因为for后面是 ; 号 所以程序执行了一个空语句 就是啥都没 然后执行 i++ 然后 i =1 然后判断i<3 满足 继续
当i++到3的时候 for循环结束。。。。。。
对于后面{}中的
{
System.out.println("Hello World!");
}
以我目前学到的知识来说,这是构造代码块,而它会不会执行 其实我也不知道
我知道当你创建这个Test类的对象的时候,那么这个语句会执行。。。。。我看你代码中有 main函数,估计这应该是个独立运行的类。
在我看来 如果没有别的类创建这个类的对象的时候 那么这个构造代码块应该不会执行吧。。。。
不过 如果 {}之前 加上 static 修饰的话,那么肯定会执行的。。 静态代码块 随着类的加载而执行。
我编译了一次试了试 输出了hello world 额 这个我也不懂了。因为目前学到的来说 {}我只知道是构造代码块的情况。。。。可是我明明没有创建对象.......
我也蛋疼了!!!!!
目前所学就这么多,,,回答有误还望大家吐槽。。
作者:
曾祥旭
时间:
2013-3-29 09:23
斑竹等着接我哈,云3这个大家庭我来了,嘿嘿。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2