一、循环语句
二、控制跳转语句
三、方法概述
一、循环语句
为什么要引入循环?
在我们的学习和工作中,常常有一些东西需要重复去做,而Java也是一样,有许多需要重复执行的语句或代码块,如果全部重写一遍,工作总量就会非常巨大,但是如果有了一种可以重复执行同一代码块的东西,那么我们写代码的工作就变得容易了,那么这个结构就是Java中的循环结构。
-
for循环
语句格式:
for(初始化表达式语句;判断条件语句;控制条件语句) { 循环体语句; }
执行的流程:
a:执行初始化表达式语句 b:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 c:执行循环体语句; d:执行控制条件语句 e:回到b继续。
注意:初始化表达式语句只执行一次。
例1:在屏幕打印1-10:
public class Test1 { public static void main(String[] args) { for (int i = 1; i <= 10 ; i++) { System.out.println(i); } } }
例2:打印9*9乘法表:
public class Test1 { public static void main(String[] args) { for (int i = 1; i <10 ; i++) { for (int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.println(); } } }
运行结果如下:
例3:使用for语句完成统计思想,计算1-1000的累加和,
public class Test1 { public static void main(String[] args) { int sum=0; for (int i = 1; i <1000 ; i++) { sum+=i; } System.out.println(sum); } }
-
while语句
基本格式:
while(判断条件语句) { 循环体语句; 控制条件语句; }
执行流程:
a:执行初始化条件语句; b:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 c:执行循环体语句; d:执行控制条件语句 e:回到b继续。
例:统计三位的水仙花数一共有多少个,
public class Test1 { public static void main(String[] args) { int count=0; int i=100; int a=0; int b=0; int c=0; while(i<1000){ a=i%10; //取i的个位数字 b=i/10%10; //取i的十位数字 c=i/100; //取i的百位数字 if(a*a*a+b*b*b+c*c*c==i){ count++; } i++; //循环控制语句 } System.out.println("三位水仙花数共有"+count+"个。"); } }
-
do...while语句
语句格式:
初始化条件语句; do { 循环体语句; 控制条件语句; }while(判断条件语句);
执行流程:
a:执行初始化条件语句; b:执行循环体语句; c:执行控制条件语句; d:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 e:回到b继续。
例:打印1-10
public class Test2 { public static void main(String[] args) { int i=1; do{ System.out.println(i); i++; }while(i<=10); } }
-
三种循环语句的区别
-
do...while语句会最少先执行一次循环体,而for和while语句先判断条件是否成立,才执行循环体。
-
如果想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
-
-
死循环
死循环就是一直不断执行的循环。
例如:
while(true){...} for(;;){...}
二、控制跳转语句
什么是控制跳转语句?
可以从循环中跳出或者中断循环的语句。例如,Java提供了break,continue和return来实现控制语句的跳转和中断。
三个控制跳转语句的意义
break 中断 continue 继续 return 返回
使用场景:
(1)break:在选择结构switch语句中;在循环语句中。可以退出单层循环。 (2)continue:在循环语句中。跳过一次循环,执行下一步操作。 (3)return:可以退出一个方法,跳到上层调用的方法。
三、方法概述
什么是方法?
方法就是Java中完成特定功能的代码块。Java中的方法类似于其他语言中的函数。
方法的格式是什么?
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){ 方法体; return 返回值; }
-
方法的调用实例
例1:写一个方法完成两个整数的求和运算并在main方法中调用它。
public class Test3 { public static void main(String[] args) { int a=10; int b=20; System.out.println(getSum(a, b)); } public static int getSum(int a,int b){ return a+b; } }
例2:写一个可以在屏幕上打印一行6个*的方法,并在main方法中调用三次。
public class Test3 { public static void main(String[] args) { for (int i = 0; i <= 3; i++) { printStart(); } } public static void printStart(){ for (int i = 0; i <= 6; i++) { System.out.print("*"); } System.out.println(); } }
-
注意事项
A: 方法不调用不执行 B: 方法与方法是平级关系,不能嵌套定义 C: 方法定义的时候参数之间用逗号隔开 D: 方法调用的时候不用在传递数据类型 E: 如果方法有明确的返回值,一定要由return带回一个值
-
方法的重载
首先看一个例子:
class MyDemo3{ public static void main(String[] args) { double sum1=add(1,2.0); int sum2=add(1,2,3); int sum3=add(1,2,3,4); System.out.println("sum1:"+sum1); System.out.println("sum2:"+sum2); System.out.println("sum3:"+sum3); } public static int add(int a,int b){ return a+b; } public static double add(int a,double b){ return a+b; } public static int add(int a,int b,int c){ return a+b+c; } public static int add(int a,int b,int c,int d){ return a+b+c+d; } }
这段程序编译后不会报错,因为在Java中,允许一个类中,定义多个同名方法,只要他们的参数列表(形参个数或形参类型)不一样即可,不拿返回值类型来区分。