第四天java复习笔记

64 阅读2分钟

笔记

//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:关于它们的一个标签,指具体跳到哪一个循环中,关于这个标签的定义:和普通的标识符命名一样。

image.png 老师建议:一般不使用,可读性差 Equals用来比较字符串,== 用来比较基本数据类型。

image.png Return 如果写在方法那么会退出方法,如果写在主方法,一样也会退出主方法。