java中for循环怎么定义两个变量?
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]
什么意思?
a,b ; a<=9吗?
因为a,b已经在外面定义了,所以可以在循环体中省略
for(;a=1;a++,b--)
变量定义和for循环没关系,按照正常的方式进行变量定义和使用,比如:
int i,j;
for(i=0;i<5;i++){
for(j=0;j<10;j++){
}
}
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--){
}