笔记
//while 和 for 的区别 ,for能够在内部初始化判断条件,迭代语句在最上方。
化繁为简,变死为活
分为一个个具体步骤 空心菱形
//心得:明确你当前的步骤。
public class HollowRhombus{
public static void main(String[] args){
/*
打印空心菱形
1.打印一个10*5的矩形
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
2.打印半个实心菱形
* 第1层 1个* 4个空格 =层数 / 2
** 第2层 2个* 3个空格 =层数 / 2 -1
*** 第3层 3个* 2个空格 =层数 / 2 -2
**** 第4层 4个* 1个空格 =层数 / 2 -3
***** 第5层 5个* 0个空格 =层数 / 2 -4
**** 第6层 4个* 1个空格 当前层数 - (层数 / 2 + 1)
*** 第7层 3个* 2个空格 当前层数 - (层数 / 2 + 1)
** 第8层 2个* 3个空格 当前层数 - (层数 / 2 + 1)
* 第9层 1个* 4个空格 当前层数 - (层数 / 2 + 1)
镜像处理 若等于层数 +1 层数 / 2 + 1
3.打印整个实心菱形
* 第1层 1个* i * 2 -1 || g == 1
*** 第2层 3个*
***** 第3层 5个*
******* 第4层 7个*
********* 第5层 9个*
******* 第6层 7个*
***** 第7层 5个*
*** 第8层 3个*
* 第9层 1个*
4.打印空心菱形
* 第1层 1个* g == i * 2 - 1 || g == 1
* * 第2层 3个*
* * 第3层 5个*
* * 第4层 7个*
* * 第5层 9个*
* * 第6层 7个*g == (totalHeight - i) * 2 + 1 || g == 1
* * 第7层 5个*
* * 第8层 3个*
* 第9层 1个*
*/
//打印totalHeight的菱形
int totalHeight = 51;
for (int i = 1;i <= totalHeight; i++){
//打印空格1~5层
for (int j = 1; j <= totalHeight / 2 + 1 -i; j++){
if (i <= totalHeight / 2){
System.out.print(" ");
}
}
//打印空格6-9层
for (int h = 1; h <= i - (totalHeight / 2 +1); h++){
if (i > totalHeight / 2 + 1){
System.out.print(" ");
}
}
//打印**1~5层
for (int g = 1; g <= i * 2 -1; g++){
if (i <= totalHeight / 2 + 1){
if (g == i * 2 - 1 || g == 1){
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
//打印**6~9层
for (int g = 1; g <= (totalHeight - i) * 2 + 1; g++){
if (i > totalHeight / 2 + 1){
if (g == (totalHeight - i) * 2 + 1 || g == 1){
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
System.out.println("");
}
}
}
Break、contiune:关于它们的一个标签,指具体跳到哪一个循环中,关于这个标签的定义:和普通的标识符命名一样。
老师建议:一般不使用,可读性差
Equals用来比较字符串,== 用来比较基本数据类型。
Return 如果写在方法那么会退出方法,如果写在主方法,一样也会退出主方法。