JAVASE学习——————Day09
2020-05-05 12:30
891 查看
Day09————嵌套循环和方法
入门
/* L * ***** 1 5 ***** 2 5 ***** 3 5 ***** 4 5 ***** 5 5 class Demo1 { public static void main(String[] args) { System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("********"); System.out.println("----------------------------------------"); // 需要展示5行数据 for (int i = 1; i <= 8; i++) { System.out.println("********"); } System.out.println("----------------------------------------"); // 外层循环控制总行数 int line = 20; for (int i = 1; i <= line; i++) { // 星星个数 = 最大行号 for (int j = 1; j <= line; j++) { System.out.print("*"); } System.out.println(); } } } */
示例2
/* L * * 1 1 ** 2 2 *** 3 3 **** 4 4 ***** 5 5 ****** 6 6 */ class Demo2 { public static void main(String[] args) { int line = 30; // 外层循环控制总计6行 for (int i = 1; i <= line; i++) { // 每一行星星个数 == 行号 for (int j = 1; j <= i; j++) { System.out.print('*'); } System.out.println(); } } }
示例三
/* L _ 字符 个数 A 1 6 A 1 BBB 2 5 B 3 CCCCC 3 4 C 5 DDDDDDD 4 3 D 7 EEEEEEEEE 5 2 E 9 FFFFFFFFFFF 6 1 F 11 GGGGGGGGGGGGG 7 0 G 13 _个数 = 总行数 - 当前行号; 字符个数 = 2 * 当前行号 - 1; 字符本身的递增过程 */ class Demo5 { public static void main(String[] args) { // 定义一个字符变量,变量初始化为字符'A' char ch = 'A'; // 外层循环控制总行数,总行数7行 for (int i = 1; i <= 26; i++) { // 内存循环1: 控制空格的个数 for (int j = 1; j <= 26 - i; j++) { System.out.print(' '); } // 内存循环2: 控制字符个数 for (int k = 1; k <= 2 * i - 1; k++) { System.out.print(ch); } System.out.println(); // 字符变量需要在每一次展会完毕之后,进行自增 ch += 1; } } }
示例四
/* L _ * * 1 5 1 *** 2 4 3 ***** 3 3 5 ******* 4 2 7 ********* 5 1 9 *********** 6 0 11 ********* 1 1 9 ******* 2 2 7 ***** 3 3 5 *** 4 4 3 * 5 5 1 下半部分 第一行星星个数为9,如何计算得来 凑!!! 总行数5 5 * 2 - (i * 2 - 1) --> 5 * 2 - i * 2 + 1 => (5 - i) * 2 + 1 (5 - i) * 2 + 1 10 - 1 = 9; 10 - 3 = 7; 10 - 5 = 5; */ class Demo6 { public static void main(String[] args) { // 菱形总行数 ,一旦是单数 int line = 25; // 图形一分为二,上半部分为line / 2 + 1行 // 外层循环控制总行数,这里是line / 2 + 1行 for (int i = 1; i <= line / 2 + 1; i++) { // 内层循环1:控制空格的个数 for (int j = 1; j <= line / 2 + 1 - i; j++) { System.out.print(' '); } // 内层循环2:控制星星的个数 星星 = 2 * 当前行号 - 1; for (int k = 1; k <= 2 * i - 1; k++) { System.out.print('*'); } System.out.println(); } // 下半部分一共line / 2行 // 外层循环控制总行数,总计line / 2行 for (int i = 1; i <= line / 2; i++) { // 内层循环1: 展示空格个数 for (int j = 1; j <= i; j++) { System.out.print(' '); } // 内层循环2: 控制星星的个数 for (int k = 1; k <= (line / 2 - i) * 2 + 1; k++) { System.out.print('*'); } System.out.println(); } } }
方法
为什么使用方法生活中使用的工具,螺丝刀,锤子,扳手。
1. 复用,重复使用
2. 提高效率
开发中,存在代码需要复用的情况。虽然循环可以解决一部分代码复用的问题,但是无法从根本上解决需要多处使用的情况。 这里需要用到方法 代码中使用循环解决复用的问题 1. 代码冗余!!! 2. 维护性极差!!! 3. 阅读性极差!!!
方法的书写格式
// main方法 Java中主方法格式
public static void main(String[] args) {
}
/*
public static : 不要问!!!固定格式
void: 返回值类型 void 表示当前方法没有返回值
返回值类型是当前方法运行完成之后对方法外的一个返回数据
main: 方法名,方法名是一个名字,要求符合命名规范
小驼峰命名法,见名知意,动宾结构
(形式参数列表): 当前方法运行所需的外来数据,这里需要告知调用者数据类型
{}: 方法体
方法格式:
public static 返回值类型 方法名(形式参数列表) {
方法体
}
public static returnType methodName(Arguments) { Method Body }
*/
示例一
需求: 使用方法展示一个Hello World 方法分析: 固定格式: public static 不要问 返回值类型: 这里不需要返回值类型,采用void 方法名: printHelloWorld 见名知意,动宾结构,小驼峰命名法 形式参数列表: 当前方法没有任何的外来数据需求,不需要参数 () 【方法声明】 public static void printHelloWorld()
自定义方法调用过程
记住一句话
方法是条狗,哪里需要哪里吼
1. 在需要调用方法的位置,使用方法名调用方法 2. 方法和变量的最大区别 方法后面一定有小括号!!!
/* 自定义实现第一个方法 */ class Method1 { public static void main(String[] args) { // 方法是条狗,哪里需要哪里吼 // 调用方法一定要有小括号,如果没有参数,小括号内没有内容 printHelloWorld(); printHelloWorld(); printHelloWorld(); printHelloWorld(); printHelloWorld(); } /** * 展示打印到控制台一个Hello World */ public static void printHelloWorld() { // 方法体 System.out.println("烤羊排~~"); } }
自定义方法总结
- 目前我们有且只考虑在main方法中来调用其他方法
- main方法是目前我们现在程序的唯一入门,如果想要哪一个代码执行,哪一个方法被调用,都需要经过main方法完成
- 方法书写一定要注意代码格式
- 方法位置在class以内,其他方法之外
示例五
/* L _ 字符 个数 A 1 6 A 1 BBB 2 5 B 3 CCCCC 3 4 C 5 DDDDDDD 4 3 D 7 EEEEEEEEE 5 2 E 9 FFFFFFFFFFF 6 1 F 11 GGGGGGGGGGGGG 7 0 G 13 _个数 = 总行数 - 当前行号; 字符个数 = 2 * 当前行号 - 1; 字符本身的递增过程 这里需要一个方法,封装这样的实现效果 方法分析: 固定格式: public static 不要问 返回值类型: 这里就是展示一个图形,不需要返回值 void 方法名: printPic 展示图像 形式参数列表: 图形展示过程中最主要的就是有多少行数据 需要给用户一个控制方法的途径 (int line) 【方法声明】 public static void printPic(int line) */ class Method4 { public static void main(String[] args) { printPic(42); } /** * 展示一个等腰梯形字符图形 * * @param line 控制图形展示的行数 */ public static void printPic(int line) { // 定义一个字符变量,变量初始化为字符'A' char ch = 'A'; // 外层循环控制总行数,总行数7行 for (int i = 1; i <= line; i++) { // 内存循环1: 控制空格的个数 for (int j = 1; j <= line - i; j++) { System.out.print(' '); } // 内存循环2: 控制字符个数 for (int k = 1; k <= 2 * i - 1; k++) { System.out.print(ch); } System.out.println(); // 字符变量需要在每一次展会完毕之后,进行自增 ch += 1; } } }
2.6 形式参数和实际参数是什么?
形式参数:
我要做菜
烤羊排:
材料列表:
羊排,孜然粉,烧烤料,辣椒粉,葱姜蒜,洋葱
以上就是做烤羊排需要的材料!!!【形式参数列表】
public static void printIntNumber(int num) int num 只是告诉调用者,这里需要的是一个int类型数据
实际参数:
从菜市场,JD上采购羊排
买了2斤羊排
孜然粉 100G
烧烤料 100G
辣椒粉 50G
葱一根
姜 50G
蒜 5-6瓣
洋葱一个
这里是实实在在,采购回来的物料,【实际参数】
相关文章推荐
- JAVA学习————————Day10
- JAVA学习——————Day11
- JAVA学习---------------Day12
- JAVA ——————学习
- JAVA——————Day14
- JAVA学习————Day15
- JAVA学习————Day16
- JAVA学习——————Day17
- JAVA学习——————Day18
- JAVA学习————Day19
- 技术丨怎么用好Spring Config
- springBoot+rabbitMq集成demo
- java基础
- 学习笔记(01):玩转JAVA一:JAVA入门视频课程-常用dos命令
- Servlet.service() for servlet [springmvc] in context with path [/ecps-portal] threw exception [An ex
- springconfig配置
- JAVA总结
- ActivrMQ嵌入java中
- com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't f
- Java 运算符