------- android培训、java培训、期待与您交流! ----------
class forfortest2//for 嵌套练习2 及总结
{
public static void main(String[] args)
{
/*需求1 打印:
----* //老师写"--"是为了标记让我们更好地看清设计的过程
---* *
--* * *
-* * * *
* * * * * //分两部分写代码 一部分左边空格 一部分右边* (" "+"*" 实现等腰)
*/
for (int x=0; x<5 ;x++)
{for (int y=x; y<4 ;y++)
{
System.out.print(" ");//完成左半部分空格
}
for (int z=0;z<=x ;z++)
{
System.out.print("* ");//要丢ln 可别丢;和*后的空格
//完成右半部分星号
}
System.out.println();
}
System.out.println("--------------示例----------------");
/*需求2 打印
----*
---* *
--* * *
-* * * *
* * * * *
* * * * *
-* * * *
--* * *
---* *
----*
*/
//老师的思路: 比较容易记忆 变量都是自增
for (int x=0;x<5 ;x++ )
{
for (int y=x;y<4;y++ )//尖朝下 变初始化值(令y=x) 与x相关
{
System.out.print(" ");
}
for (int z=0;z<=x;z++) //尖朝上 变循环条件(令z<=x) 与x相关
{
System.out.print("* ");
}
System.out.println();
}
System.out.println();
for (int x=0;x<5 ;x++)
{
for (int y=0; y<x;y++) //尖朝上 变循环条件(令y<x) 与x相关
{
System.out.print(" ");
} //注意每一个for必须分别独立
for (int z=x;z<5 ;z++ )//尖朝下 变初始化值(令z=x) 与x相关
{
System.out.print("* ");
}
System.out.println();
}
System.out.println("--------------老师的思路----------------");
/*
----*
---* *
--* * *
-* * * *
* * * * *
* * * * *
-* * * *
--* * *
---* *
----*
*/
//自己的思路:
for (int x=5;x>0 ;x-- )
{
for (int y=x;y>1;y-- )//尖朝下 5 x 0 0(下个注释) - -
//变条件表达式(令y>1)与实际观察到的一致 相当于上面的0
{
System.out.print(" ");
}
for (int z=5;z>=x;z--) //尖朝上 5 5 0 x - -
{
System.out.print("* ");
}
System.out.println();
}
System.out.println();
for (int x=5;x>0;x--)
{
for (int y=5;y>x;y--)//尖朝上 5 5 0 x - -
{
System.out.print(" ");
}
for (int z=x;z>0;z--) //尖朝下 5 x 0 0 - -
{
System.out.print("* ");
}
System.out.println();
}
/*
总 结:前面的"嵌套巩固练习及小结"中的小结一 自己已写了与老师思路的不同 但是
不够明确 这里总结一下
老师的循环中int定义的值不是 0 就是x 全为自增
自己的循环中int定义的值不是 5 就是x 全为自减(5会根据题意变化)
自己总结的不是规律的规律:定义5为字符5(容易记忆)
尖朝上: 5 5 0 x - -
尖朝下: 5 x 0 0 - -
总之不论通过什么样的形式 最终的目的都是建立起内外循环变量间的关系 这是
最重要的 也是最核心的东西
(矩形除外参看嵌套及练习第一个示例)
*/
System.out.println("--------------自己的思路和总结----------------");
System.out.println();
System.out.println("Hello World!");
}
}