黑马程序员技术交流社区

标题: 关于for循环的问题 [打印本页]

作者: trhthyj    时间: 2014-4-17 13:29
标题: 关于for循环的问题
不是说表达式多的情况还可以用逗号隔开吗?为什么一直报错



  1. class ForDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                
  6.                 for(int x=0,int y=1;x<3,y<10;x++,y++)
  7.                 {
  8.                         System.out.println("x="+x+"  y="+y);
  9.                 }
  10.         }
  11. }
复制代码


作者: SyouRai_Tsk    时间: 2014-4-17 13:31
正确形式是这样的:
  1. public static void main(String[] args)
  2.      {
  3.             
  4.              for(int x=0,y=1;x<3 && y<10;x++,y++)
  5.              {
  6.                      System.out.println("x="+x+"  y="+y);
  7.              }
  8.      }
复制代码

作者: 呆呆沙师妹    时间: 2014-4-17 13:34
你要保证for循环中间的那个表达式返回的结果为true或false,而x<3, y<10 显然不满足要求;
另外int x =0, y = 1;这样定义就行,y前面的int没必要。
  1. class ForDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                
  6.                 for(int x=0,y=1;x<3 && y<10;x++,y++)
  7.                 {
  8.                         System.out.println("x="+x+"  y="+y);
  9.                 }
  10.         }
  11. }
复制代码

作者: kuroro自走核炮    时间: 2014-4-17 13:38
  1. class ForDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                
  6.                 for(int x=0,y=1;x<3&&y<10;x++,y++)
  7.                 {
  8.                         System.out.println("x="+x+"  y="+y);
  9.                 }
  10.         }
  11. }
复制代码

这么修改过以后就可以通过了。
两个问题,第一个声明变量时候,int x,y这是一个固定格式。就是说系统读完了int x=1然后读到逗号时候,会认为这个声明变量还没有结束,逗号后面还应该有一个变量。如果这时候你在直接输入int就语法错误了。
第二个问题是中间的x<3&&y<10,这里是放置for循环的条件,两个条件要求都符合,或者符合一个不符另一个,这样的条件判断,需要使用逻辑判断符。
作者: 程序爱好者    时间: 2014-4-17 13:42
  1.             for(int x=0,y=1;x<3&&y<10;x++,y++)  //x<3,y<10 要它们关联起来(&&或||)   x  y  是同个类型的 省略后面那个
  2.             {
  3.                     System.out.println("x="+x+"  y="+y);
  4.             }
复制代码

作者: luis    时间: 2014-4-17 15:09
用逗号给开是表示他们前面只能有一个生名,也就是int  x, y; 而不是int x,int y:
作者: ⒈心只霸占沵    时间: 2014-4-17 15:29
java中用 ";"表示一行代码的结束
为什么int x=0,int y=0 ;是错的呢?
   因为 int x=0后面写的是“,”所以int作用并没有结束   你再写个int 就会报错
  int x=0,int y=0;就不会错,因为是放在for循环里,分开写的话就会跟for循环里的";"冲突,所以这样写
作者: igi9009    时间: 2014-4-17 16:20
for循环中间那一块返回的必须是true或者false,所以你必须写成x<3&&y<10或者x<3||y<10才行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2