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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张天天 于 2012-7-8 10:31 编辑

public class Increment{
    public static void main(String[] args){
         int j = 0;
         int k = 0;
         for (int i=0; i<10; i++)
               j=j+1;
             k = ++k;
         
         System.out.println(j);
         System.out.println(k);
         
    }
}
结果是
10
1
为什么会这样啊for循环的默认循环体难道说只是下面的一行吗

点评

这个是for循环基础知识哦,楼主要好好复习一下。  发表于 2012-7-8 23:15

8 个回复

倒序浏览
只想弱弱的说一句,是的
回复 使用道具 举报
{}可以算是作用域吧,你没有{}系统值承认一行的,无论是if还是for……
回复 使用道具 举报
你可以加个大括号,不加的话就是默认的下面最近的一条执行语句
回复 使用道具 举报
本帖最后由 田向向 于 2012-7-8 10:08 编辑

如果你得循环体没有花括号{}就像你得代码这样的
for (int i=0; i<10; i++)
               j=j+1;
             k = ++k;
那么for循环的作用域是离for循环最近的那一条语句,也就是  j=j+1;
for 循环结束之后,k=++k这条语句就只执行了一次加1的操作,所以输出是1
如果你要是加了花括号{}
像这样
for (int i=0; i<10; i++){
               j=j+1;
             k = ++k;

那么for循环的作用域就是花括号里面的语句,也就是
  j=j+1;
   k = ++k;
这是很基础的东西,楼主多多学习,多多看视频吧,毕老师视频里面都有很详细的讲解。
回复 使用道具 举报
首先回答你的问题,for循环的默认循环体在没有{}的情况下,确实仅仅包含1个;的语句。
建议,在while(),for(),if()等判断语句之后,即使后面只有一条执行语句,也把这条语句放在{}内,否则在面对大片代码的时候这种错误非常不易察觉。
回复 使用道具 举报
public class Increment{
     public static void main(String[] args){
          int j = 0;
          int k = 0;
          for (int i=0; i<10; i++)
                j=j+1;
              k = ++k;
         
          System.out.println(j);
          System.out.println(k);
         
     }
}
楼主这个程序算出这个结果是正常的,因为你的for循环没有加{},所以默认的for循环只控制下面的一行代码,也就是 j=j+1;。 k = ++k;这一句不在for循环内,所以只执行一次。要想让for循环控制k = ++k;就要加上{}。代码如下
  1. package wbd.demo;

  2. public class Increament{
  3.     public static void main(String[] args){
  4.          int j = 0;
  5.          int k = 0;
  6.          for (int i=0; i<10; i++){
  7.                j=j+1;
  8.                k = ++k;
  9.          }
  10.          
  11.          System.out.println(j);
  12.          System.out.println(k);
  13.          
  14.     }
  15. }
  16. //这个的输出结果是10  10
复制代码
回复 使用道具 举报
怎么把发的帖子的未解决改成已解决啊
回复 使用道具 举报
张天天 发表于 2012-7-8 10:21
怎么把发的帖子的未解决改成已解决啊

在你发的帖子的一楼最下面有一个编辑,
点击之后,在主题分类里边选择已解决就行了
编辑的位置就在下图所示的地方

未命名.jpg (12.48 KB, 下载次数: 17)

未命名.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马