1、循环语句
1.1 for语句
(1)for语句的格式: for(初始化表达式语句;判断条件语句;控制条件语句) { 循环体语句; } (2)执行流程: a:执行初始化表达式语句 b:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 c:执行循环体语句; d:执行控制条件语句 e:回到b继续。 (3)注意事项: 初始化表达式语句只执行一次 判断条件语句无论简单还是复杂结果是boolean类型。 循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议不要省略。
1 需求:在控制台输出所有的”水仙花数”所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。举例:153就是一个水仙花数。153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 2 代码: 3 public class Demo01{ 4 public static void main(String[] args) { 5 int count=0; 6 for (int i = 100; i <= 999; i++) { 7 int ge = i / 1 % 10; 8 int shi = i / 10 % 10; 9 int bai = i / 100 % 10; 10 int flowerNumber=ge*ge*ge+shi*shi*shi+bai*bai*bai; 11 if(flowerNumber==i){ 12 System.out.println("水仙花数是: "+i); 13 count++; 14 } 15 } 16 System.out.println("水仙花数有"+count+"个"); 17 } 18 }
运行结果:
1 (1)while语句的格式: 2 while循环的基本格式: 3 while(判断条件语句) { 4 循环体语句; 5 } 6 完整格式: 7 初始化条件语句; 8 while(判断条件语句) { 9 循环体语句; 10 控制条件语句; 11 } 12 (2)while语句执行流程: 13 a:执行初始化条件语句; 14 b:执行判断条件语句,看其返回值是true还是false 15 如果是true,就继续执行 16 如果是false,就结束循环 17 c:执行循环体语句; 18 d:执行控制条件语句 19 e:回到b继续。
1 案例:求1-100之和 2 代码: 3 public class Demo02 { 4 public static void main(String[] args) { 5 int i=1; 6 int sum=0; 7 while(i<=100){ 8 sum+=i; 9 i++; 10 } 11 System.out.println(sum); 12 } 13 }
运行结果:
1 (1)do...while语句的格式: 2 初始化条件语句; 3 do { 4 循环体语句; 5 控制条件语句; 6 }while(判断条件语句); 7 (2)执行流程: 8 a:执行初始化条件语句; 9 b:执行循环体语句; 10 c:执行控制条件语句; 11 d:执行判断条件语句,看其返回值是true还是false 12 如果是true,就继续执行 13 如果是false,就结束循环 14 e:回到b继续。
1 (1)三种循环语句的区别 2 a:do...while循环至少执行一次循环体。 3 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。 4 b:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。 5 c:建议优先考虑for循环,然后是while循环 ,最后是do...while循环
1 案例1:请输出下列的形状 2 * 3 ** 4 *** 5 **** 6 ***** 7 代码1: 8 public class Demo03 { 9 public static void main(String[] args) { 10 for (int i = 1; i <=5; i++) { 11 for (int j = 1; j <=i; j++) { 12 System.out.print("*"); 13 } 14 System.out.println(); 15 } 16 } 17 } 18 案例2:输出九九乘法表 19 代码2: 20 public class Demo04 { 21 public static void main(String[] args) { 22 for (int i = 1; i <= 9; i++) { 23 for (int j = 1; j <= i; j++) { 24 System.out.print(j+"*"+i+"="+(i*j)+"\t"); 25 } 26 System.out.println(); 27 } 28 } 29 }
案例1运行结果:
案例2运行结果:
1 (1)continue的使用场景 2 (1):在循环语句中 3 (2):离开使用场景的存在是没有意义的 4 作用: 5 a:跳出一次循环,执行下一步操作 6 (2)return的作用: 退出一个方法。 7 (3)break的作用:结束单层循环。 8 (4)案例: 9 for(int x=1; x<=10; x++) { 10 if(x%3==0) { 11 //在此处填写代码 12 } 13 System.out.println(“你好”); 14 } 15 16 a:我想在控制台输出2次:“你好” 17 b:我想在控制台输出7次:“你好“ 18 c:我想在控制台输出13次:“你好“ 19 20 解a: 21 for(int x=1; x<=10; x++) { 22 if(x%3==0) { 23 return; 24 } 25 System.out.println(“你好”); 26 } 27 解b: 28 for(int x=1; x<=10; x++) { 29 if(x%3==0) { 30 continue; 31 } 32 System.out.println(“你好”); 33 } 34 解c: 35 for(int x=1; x<=10; x++) { 36 if(x%3==0) { 37 break; 38 } 39 System.out.println(“你好”); 40 }
3、方法
3.1 方法的概述和格式说明
1 (1)方法概念 2 方法就是完成特定功能的代码块 3 在很多语言中都有函数的定义,但是在咱们JAVA语言中,我们将其称之为方法。 4 (2)方法的格式 5 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){ 6 方法体; 7 return 返回值; 8 } 9 (3)方法的格式详细说明 10 a: 修饰符 目前使用 public static 11 b: 返回值类型 用于限定返回值的数据类型 12 c: 方法名 就是一个名称,它的存在是为了方便我们调用方法 13 d: 参数类型 限定调用方法时传入参数的数据类型 14 e: 参数名 是一个变量,接收调用方法时传入的参数 15 被称之为形式参数,它的作用是用来接收实际参数的. 16 f: 方法体 完成功能的代码 17 g: return 结束方法以及返回方法指定类型的值 18 h: 返回值 就是功能的结果,由return带回,带回给调用者 19 (4)方法注意事项 20 a: 方法不调用不执行 21 b: 方法与方法是平级关系,不能嵌套定义 22 c: 方法定义的时候参数之间用逗号隔开 23 d: 方法调用的时候不用在传递数据类型 24 e: 如果方法有明确的返回值,一定要由return带回一个值 25 (5)方法重载概述 26 在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同,与返回值无关。参数列 表不同指的是参数个数不同或参数类型不同
案例1:设计一个方法,求两个整数(键盘录入)之和 代码: public class Demo05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数"); int a = sc.nextInt(); System.out.println("请输入第二个数"); int b = sc.nextInt(); // 方法调用 int sum = getSum(a, b); System.out.println("和为"+sum); } //求和方法 public static int getSum(int a,int b){ return a+b; } } 案例2:根据键盘录入的数据输出对应的乘法表 代码: public class Demo06 { public static void main(String[] args) { Scanner sc= new Scanner(System.in); System.out.println("请输入一个整数"); int n = sc.nextInt(); show(n); } public static void show(int n){ for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); } } }
案例1运行结果:
案例2运行结果: