Java基础Day04 :循环结构和方法

mac2026-09-28  3

循环结构和方法

文章目录

循环结构和方法1. 循环结构1.1 do - while 循环1.2 while 和 do - while 的区别1.3 for循环1.4 break关键字 【重要】1.5 continue关键字 【坑】 2. 方法2.1 为什么要使用方法2.2 比葫芦画瓢2.3 无参数无返回值方法2.4 有参数无返回值方法2.5 无参数有返回值方法2.6 有参数有返回值方法2.7 方法练习

1. 循环结构

1.1 do - while 循环
do { // 循环体 // (循环条件变更) } while (/* 循环条件 */); /* 执行流程: do - while 循环结构是首先执行一次循环体(循环条件变更),再来判断while之后的表达式是否为true,如果为true,继续循环,如果为false,终止循环 */
1.2 while 和 do - while 的区别
while循环每一次的循环都是在循环变量判断之后才运行的 do - while循环第一次执行循环体是没有经过任何的条件判断的 do - while存在隐患!!!第一次循环没有任何的判断过程,不在循环变量控制范围以内!!!属于不可控状态 能够使用 while 循环解决的问题,就不要使用do - while 程序员生存法则: 已知,可控!!!
1.3 for循环
for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) { // 循环体 }

1.4 break关键字 【重要】
break 关键字的作用是跳出一层,循环结构或者 switch case 结构 一般用于在满足某些条件之后,结束当前循环,提高代码的执行效率 class Demo3 { public static void main(String[] args) { // while int num = 10; while (num > 0) { if (5 == num) { System.out.println("烤面筋"); break; } System.out.println(num + " : 中午去吃黄焖鸡米饭"); num -= 1; } // for for (int i = 0; i < 10; i++) { if (5 == i) { System.out.println("中午吃包子"); break; } System.out.println(i + " : 中午吃麻辣"); } } }
1.5 continue关键字 【坑】
继续,go on 结束本次循环,进入下一次循环。 continue 关键字和 while 以及 do - while 循环使用会存在一定的隐患!!! 【禁用】干脆 continue 就不要和 while 以及 do - while 一起使用!!! continue 关键字在 for 循环不会调过 for 循环第三个条件,循环条件变更 【推荐】 continue 关键字有且只在 for 循环中使用。

2. 方法

2.1 为什么要使用方法
在开发中,一定会出现相同功能的代码块重复利用多次,如果使用CV大法,会导致以下一些问题 1. 代码过于臃肿!!! 2. 代码阅读性极差!!! 3. 代码维护性极差!!!
2.2 比葫芦画瓢
public static void main(String[] args) { // 方法体 } public static : 不要问 void :返回值类型,在这里void表示无返回值类型 main : 方法名,调用方法使用的名字。方法是条狗,哪里需要哪里吼,吼什么?吼名字 (String[] args) :形式参数列表,当前方法运行需要的外来数据 { 方法体 也就是功能代码 } 格式: public static 返回值类型 方法名(形式参数列表) { 方法体 } 50个以上!!!
2.3 无参数无返回值方法
class Method1 { public static void main(String[] args) { /* 调用方法 方法名(实际参数); 区分方法和变量的最大区别,就是看有没有小括号 */ printHelloWorld(); printHelloWorld(); printHelloWorld(); printHelloWorld(); /* sc.nextInt(); sc.nextLine().charAt(0); */ } /* 需求: 展示一个 HelloWorld 方法分析: public static 不要问 返回值类型: 当前方法不需要返回值,void类型 方法名: 见名知意,动宾结构,小驼峰命名法 printHelloWorld 形式参数列表: 该方法不需要参数 () 方法的声明 public static void printHelloWorld() 自定义方法需要定义在class大括号以内,其他方法大括号 之外 */ public static void printHelloWorld() { System.out.println("你好,世界!Hello World!"); } }
2.4 有参数无返回值方法
class Method2 { public static void main(String[] args) { /* 带有参数的方法,所以在调用当前方法时,必须给予当前方法实际参数 */ printSumOfTwoNumber(10, 20); } /* 需求: 计算打印两个int类型数据的之和 方法分析: public static 不要问 返回值类型: 展示数据,没有返回,void类型 方法名: 见名知意,动宾结构,小驼峰命名法 两数之和 printSumOfTwoNumber 形式参数列表: 这里需要两个int类型数据,格式要求 (int num1, int num2) 而且在形式参数列表上定义的变量,都可以直接在方法内使用,可以认为是 方法内的变量 方法声明: public static void printSumOfTwoNumber(int num1, int num2) */ public static void printSumOfTwoNumber(int num1, int num2) { System.out.println("sum = " + (num1 + num2)); } }
2.5 无参数有返回值方法
class Method3 { public static void main(String[] args) { // 这里可以使用一个变量来保存当前方法的返回值 int num = 0; num = giveMeFive(); System.out.println(num); /* int num = sc.nextInt(); char ch = sc.nextLine().charAt(0); */ } /* 需求: give Me Five 返回一个5 方法分析: public static 不要问 返回值类型: 5是int类型,所以返回值类型是int类型 方法名: giveMeFive 形式参数列表: 不需要参数 () 方法声明: public static int giveMeFive() */ public static int giveMeFive() { /* 当前方法带有返回值: 需要使用一个关键字 return 1. return之后的数据是当前方法的返回值 2. return可以结束当前方法的运行,一旦方法运行到return,之后的代码不再执行 */ return 5; } }
2.6 有参数有返回值方法
class Method4 { public static void main(String[] args) { int sum = getSumOfTwoNumber(10, 20); System.out.println(sum); } /* 需求: 计算返回两个int类型数据的之和 方法分析: public static 不要问 返回值类型: 两个int类型数据相加得到的结果就是一个int类型 方法名: getSumOfTwoNumber 形式参数列表: int num1, int num2 方法声明: public static int getSumOfTwoNumber(int num1, int num2) */ public static int getSumOfTwoNumber(int num1, int num2) { return num1 + num2; } } 形式参数列表: int num1, int num2 方法声明: public static int getSumOfTwoNumber(int num1, int num2) { return num1 + num2; }
2.7 方法练习
//封装一个方法,返回两个整数里的较大那个 public static int maxOfNumber(int num1, int num2) { } //封装一个方法,返回两个浮点数里的较小那个 public static double minOfNumber(double num1,double num2) { } //封装一个方法,来判断一个字符是否是大写字母 //如果是,返回true,否则返回false public static boolean isMyUpper(char c) { } //封装一个方法,来判断一个字符是否是数字字符 //如果是,返回true,否则返回false! public static boolean isMyNumber(char c) { } //封装一个方法,来判断一个字符是否是英文字母 //如果是,返回true,否则返回false! public static boolean isMyEnglish(char c) { } //封装一个方法,传入一个字符,如果是大写那么转化小写然后返回,否则保持不变返回 public static char toMyLower(char c) { } //封装一个方法,实现将一个正整数,倒序打印输出! 1234 4321 public static void reverse(int number) { } //表达式(立方) 编写程序,计算该数的立方 public static double cube(double number) { } //流程控制(闰年问题) 输入一个年份,判断该年份是平年还是闰年: //注: 闰年就是第二个月有29天的那一年, 能被4整除但是不能被100整除的是闰年, 或者能被400整除的也是闰年 //如果是返回 true 不是返回false public static boolean isLeap(int year) { } //表达式(正数判断)传入一个数字, 判断这个数是否是正数(是,打印YES,不是输出NO) public static void isPositiveNumber(int num) { }

​

最新回复(0)