java中for循环怎么定义两个变量?

int b=9,a=1;
for(a,b;a<=9&&b>=1;a++,b--){
for(int a=1;a<=9;a++){
System.out.println(b+"*"+a);
}
} 有报错,怎么改?我是要做一个乘法表

int b=9,a=1;
    for(a,b;a<=9&&b>=1;a++,b--){
      for(int a=1;a<=9;a++){
        System.out.println(b+"*"+a);
         }

for循环是开界的。它的一般形式为: for(<初始化>; <条件表达式>; <增量>) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后 按什么方式变化。这三个部分之间用";"分开。 例如: for(i=1; i<=10; i++) 语句; 上例中先给 " i " 赋初值1, 判断 " i " 是否小于等于10, 若是则执行语句, 之后值增 加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。

注意:

1. for循环中语句可以为语句体, 但要用"{"和"}"将参加循环的语句括起来。

2. for循环中的"初始化"、"条件表达式"和"增量"都是选择项, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不对循环控制变量赋初值。 省略了条件表达式, 则不做其它处理时便成为死循环。省略了增量, 则不对循环控制变量进行操作, 这时可在语句体中加入修改循环控制变量的语句。

3. for循环可以有多层嵌套。

例:

#include<stdio.h>

int main(void)

{

int i, j, k;

printf("i j k/n");

for (i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++)

printf(%d %d %d/n", i, j, k);

return 0;

}

输出结果为: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

参考资料

CSDN博客.CSDN博客[引用时间2018-1-7]

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-20
for里面第一个分号留空就行了追问

什么意思?
a,b ; a<=9吗?

追答

因为a,b已经在外面定义了,所以可以在循环体中省略
for(;a=1;a++,b--)

本回答被提问者和网友采纳
第2个回答  2015-08-11
变量定义和for循环没关系,按照正常的方式进行变量定义和使用,比如:
int i,j;
for(i=0;i<5;i++){
   for(j=0;j<10;j++){
   }
}

第3个回答  2014-11-20
int b=9,a=1
for(;a<=9&&b>=1;a++,b--){
}

//方法2
for(int a=9,b=0;a<=9&&b>=1;a++,b--){
}

相似回答