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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© trhthyj 中级黑马   /  2014-4-17 13:29  /  839 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不是说表达式多的情况还可以用逗号隔开吗?为什么一直报错



  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黑妞~ + 1

查看全部评分

7 个回复

正序浏览
for循环中间那一块返回的必须是true或者false,所以你必须写成x<3&&y<10或者x<3||y<10才行
回复 使用道具 举报
java中用 ";"表示一行代码的结束
为什么int x=0,int y=0 ;是错的呢?
   因为 int x=0后面写的是“,”所以int作用并没有结束   你再写个int 就会报错
  int x=0,int y=0;就不会错,因为是放在for循环里,分开写的话就会跟for循环里的";"冲突,所以这样写
回复 使用道具 举报
用逗号给开是表示他们前面只能有一个生名,也就是int  x, y; 而不是int x,int y:
回复 使用道具 举报
  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.             }
复制代码
回复 使用道具 举报
  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循环的条件,两个条件要求都符合,或者符合一个不符另一个,这样的条件判断,需要使用逻辑判断符。
回复 使用道具 举报
你要保证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. }
复制代码
回复 使用道具 举报
正确形式是这样的:
  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.      }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马