思路如下所示:
首先我们可以先选择一列的代码进行输出,我们利用for循环进行实现:’
package com.rgf.structure;
public class ForFor {
public static void main(String[] args) {
//1.我们打印第一列
//2.我们把固定的1再用一个循环包起来
//3.去掉重复项i <= j
//4.调整样式
for (int i = 1; i <= 9; i++) {
System.out.println(1+ "*" + i + "=" + (1 * i) );
}
}
}
运行之后的界面如下:
之后,我们在将一列输出来后,我们可以利用for循环嵌套将其他内容输出来,我们的代码如下所示:
package com.rgf.structure;
public class ForFor {
public static void main(String[] args) {
//1.我们打印第一列
//2.我们把固定的1再用一个循环包起来
//3.去掉重复项i <= j
//4.调整样式
for (int j = 1; j < 9; j++) {
for (int i = 1; i <= 9; i++) {
System.out.println(j+ "*" + i + "=" + (j * i));
}
}
}
}
运行界面如下:
通过运行界面我们可以了解到,输出的数为一列,而且里面有重复的数。即for循环为外面循环一次,内层循环一轮,所以随着j的增加,每次*i都从1开始相乘然后输出,不符合99乘法表的样式,之后我们继续进行修改,将重复的进行删除;代码如下所示:
package com.rgf.structure;
public class ForFor {
public static void main(String[] args) {
//1.我们打印第一列
//2.我们把固定的1再用一个循环包起来
//3.去掉重复项i <= j
//4.调整样式
for (int j = 1; j < 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.println(j+ "*" + i + "=" + (j * i));
}
}
}
}
运行界面可知:
有运行结果可知,输出的重复的没有了,但是样式不符合99乘法表。我们进行修改如下:
package com.rgf.structure;
public class ForFor {
public static void main(String[] args) {
//1.我们打印第一列
//2.我们把固定的1再用一个循环包起来
//3.去掉重复项i <= j
//4.调整样式
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j+ "*" + i + "=" + (j * i)+"\t");//print输出完不会换行
//println输出完会换行
}
System.out.println();
}
}
}
运行界面如下:
通过以上运行界面,我们可知我们使用的为先行后列,外层循环为行,内层循环为列。通过以上代码的编写思路,我们可以设计反向的99乘法表。
代码示例如下:
package com.rgf.structure;
public class ForFor2 {
public static void main(String[] args) {
for (int i = 9; i>0; i--) {
for (int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
运行界面如下所示:
通过以上输出,我们根据正序的九九乘法表,我们采用相似的思路,不过变成从9开始进行倒序,我们采用外层为行,内层为列进行计算,外层取九时,内层从1乘到9,内层采用++,外层采用--,而且通过j<=i,将重复的去掉,变成倒序的九九乘法表。
增强for循环:
java5引入了一种主要用于数组或集合的增强型for循环
java增强for循环语法格式如下:
for(声明语句:表达式){
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
增强for循环的代码示例如下:
package com.rgf.structure;
public class S {
public static void main(String[] args) {
int [] numbers={10,20,30,40,50};//定义了一个数组
//数组的定义方法:类型[]数组名={元素1,元素2,元素3,……}
//遍历数组的元素
for (int x:numbers){
System.out.println(x);
}
System.out.println("===================================");
for(int i=0;i<5;i++){
System.out.println(numbers[i]);
}
}
}
运行界面可知:
由以上方法可知增强for循环与for循环有异曲同工之妙,可以达到相似的效果。