使用for循环来实现乘法表 :外层的for循环用来控制行数,内层for循环用来控制列数
for (int line = 1; line <= 9; line++) {
for (int i = 1; i <= line; i++) {
System.out.print(i + "x" + line + "=" + (i * line) + "\t");
}
System.out.println();
}
1、今天有个小师妹问了我99乘法表怎么用Java去实现?
安排!!
2、 这是以前大学时候的一道Java练习题了,思路上大抵就是:先找到规律,然后再想着去用Java实现。99乘法表,有9行9列,第1行=第1列,第2行=第2列,第2行=第2列...第9行=第9列,行数对应着列数,这就有了可以建立关系的规律,可以用行数去控制列数。
3、Java实现:行数等于列数,使用的是嵌套的for循环,外层for循环控制行数,内层for循环控制列数(它的循环条件小于等于行数)
/**
* 使用Java打印99乘法表
* 外层的for循环控制行数,内层for循环控制列数
*/
public class PrintMultiTableByJava {
public static void main(String[] args) {
// 行
for (int line = 1; line <= 9; line++) {
// 列
for (int i = 1; i <= line; i++) {
System.out.print(i + "x" + line + "=" + (i * line) + "\t");
}
System.out.println();
}
}
}
最终效果:(控制台打印)
1、场景描述:
(1)如果使用的是
System.out.println(i + "x" + line + "=" + (i * line) + "\t");
是打印不出我们想要的结果的
必须使用
System.out.print(i + "x" + line + "=" + (i * line) + "\t");
那么,print()和println()的区别在哪儿呢?
1、参数是否必填
System.out.print() :参数必填
System.out.println() :参数可以不填
2、是否换行
System.out.print() :不会产生新行
System.out.println() :输出完信息后会自动换行,产生一个新行
3、关于 "\t"等符号的使用
System.out.print(i + "x" + line + "=" + (i * line) + "\t");
4、具体的方法:
System.out.print():
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
private void write(String s) {
try {
synchronized (this) {
ensureOpen();
textOut.write(s);
textOut.flushBuffer();
charOut.flushBuffer();
if (autoFlush && (s.indexOf('\n') >= 0))
out.flush();
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
}
System.out.println():
public void println() {
newLine();
}
private void newLine() {
try {
synchronized (this) {
ensureOpen();
textOut.newLine();
textOut.flushBuffer();
charOut.flushBuffer();
if (autoFlush)
out.flush();
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
}
break: 结束当前循环
continue:跳过当前这一次循环,执行循环之后的操作语句,进入下一次循环操作
return:结束当前循环所在的方法,方法结束,循环结束
示例:
1、break: 结束当前循环
for (int i = 1; i <= 10; i++){
if (i == 6) {
break; // 结束当前循环
}
System.out.println(i);
}
控制台打印:结束循环,后续的6、7、8、9、10将不再执行
1
2
3
4
5
2、continue:跳过当前这一次循环,执行循环之后的操作语句,进入下一次循环操作
for (int i = 1; i <= 10; i++){
if (i == 6) {
continue;
}
System.out.println(i);
}
控制台打印:跳过 i==6的情况,不打印6,但是后续的7、8、9、10会继续执行
1
2
3
4
5
7
8
9
10
3、return:结束当前循环所在的方法,方法结束,循环结束
for (int i = 1; i <= 10; i++){
if (i == 6) {
return;
}
System.out.println(i);
}
控制台打印:i==6时,结束当前方法
1
2
3
4
5