一、入门级:输出长方形
效果
代码
public class Rectangle{
public static void main (String[]args){
int row =5;
for (int i=1;i<=row ;i++ ) {
System.out.println("*****");
}
}
}
二、进阶1:打出三角形
效果
代码
public class Triangle{
public static void main (String[]args){
int row =5;
for (int i=1;i<=row ;i++ ) {// i表示层数
// 控制每层打出的*个数
for (int j = 1;j <= i;j++ ) {
// 注意:println与print的区别
System.out.print("*");
}
System.out.println("");
}
}
}
三、进阶2:空格+三角形
效果
代码
public class Trianglea{
public static void main (String[]args){
int row =5;
for (int i=1;i<=row;i++ ) {// i表示层数
for (int k=1;k<=5-i ;k++ ) {//在输出*之前输出空格
System.out.print(" ");//不要输成println了哈
}
// 控制每层打出的*个数
for (int j = 1;j<=2*i-1;j++ ) {
// 注意:println与print的区别
System.out.print("*");
}
System.out.println();//换行输出
}
}
}
四、最终结果:
效果
代码
public class Winner {
public static void main(String []args){
int num = 20; //空心金字塔层数
for(int i = 1;i <= num;i++) { //控制层数,i为层数
for(int k = 1;k <= num-i;k++){ //控制每一层的空格个数(总层数-当前层数i)
System.out.print(" ");
}
for(int j = 1;j <= 2 * i -1;j++){ //控制*数,j为*数
if(j == 1 || j == 2 * i - 1 || i == num){//运用if和else语句挖内部空白,短路或完成判断条件的建立,满足其中之一即可,注意i==num的原因
System.out.print("*");
}
else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
总结:1、实战for循环,if-else双分支;
2、print与println有区别,其中print执行横向输出,而println执行换行执行;
3、for循环细节
1)
循环条件是返回一个布尔值的表达式
2) for(;
循环判断条件
;)
中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
3)
循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代 语句,中间用逗号隔开。