在循环中,如果需要在某个指定的时机退出、结束我们的循环,此时需要使用到Java提供的3个关键字:
关键字return,break,continue 的作用与区别
return: 作用返回或结束方法 。
break: 只能在switch和循环中,是终止循环,【也可以用于跳转到指定的循环外】
continue: 只能在循环中使用,是结束本次循环继续下次循环
示例:
for (int x = 1; x <= 10; x ) {
if (x % 3 == 0) {
//在此处填写代码
}
System.out.println("Hello JAVA!");
}
要求:
我想在控制台输出2次: "Hello JAVA!"
我想在控制台输出7次: "Hello JAVA!"
我想在控制台输出13次: "Hello JAVA!"
演示1:
当x = 1和2的时候,会输出两次Hello JAVA ,当x = 3的时候, 3%3 ==0是成立的,此时会执行return,而return的功能是结束方法,就是把main()方法给结束了,方法都结束了,后面的功能肯定就不会再执行。
演示2:
break,退出循环,当x = 3 的时候,if判断是成立的,此时执行了break就结束退出循环,所以只输出了两次。
continue,跳过当前次的循环,进入到入到下一次循环。
当x = 3 6 9的时候,符合if判断,在if中,使用了continue,就跳过了3 6 9这三次输出,就剩下7次输出。 10 – 3 = 7
演示3:
java中的方法生活中的示例:
假如说我要让小棋去银行帮我取50万。
我得把银行卡和密码给小棋。
小棋取钱的这个功能,如果要用Java来描述,要怎么做??
这就需要使用到Java中的【方法】这个概念。
1.1 方法的概术
所谓的方法,就是实现某个、某些功能的代码片段、代码集合体。
1.2 方法的作用
Ø 提高代码的复用性和阅读性
Ø 有利于程序维护
所谓维护,就是在代码已经编写好了之后,对代码的修改。
在实际的开发中,如果重复的代码过多,就需要把重复的代码,抽取出来定义成方法。
重复的代码,都是欠抽的。
1.3 申明方法的格式
如何实现方法的定义??
需要知道Java中,对方法定义的格式。
格式:
[修饰符] 返回值类型 方法名([参数类型 参数名称...]) {
方法体;
return 返回值;
}
方法定义的格式,使用小棋取钱的方式来转换:
钱 取钱(卡,密码) {
去银行取钱;
…
return 取到钱之后要把钱给我;
}
[] --》在定义格式的时候,如果出现[],表示当前括号内的数据可有,可无。
[修饰符] --》 设置方法访问权限,方法访问的方式。
已经的修饰符:public static
public:公共的。所有人都可以使用这个方法。
小棋去取钱,是所有人都叫的吗??
是只有朋友、只有家人、所有人都可以叫?
返回值类型: 执行这个方法,我希望得到什么样的数据。
已经知的返回值类型:void
void:表示没有返回值、不需要返回值
返回值类型 == 数据类型:基本数据类型4类8种,引用数据类型
方法名:你要执行的是哪个功能。使用一个名称来替代。
取名:方法名和取名,如果是单个单词,所以的字母小写,如果是多个单词,第二个单词起,首字母大写。
[参数类型 参数名称...]:意思是,执行某个方法的时候,这个方法,需要的一些数据。
传递给方法的参数,它的专业术语:形式参数,简称形参。
形参:可有可无。可以不给形参,也可以给多个。
...:在Java的编程中,叫做【可变】。
用在方法的参数中,叫做【可变参数】,可以不给形参,也可以给多个
方法体: 方法中具体实现功能的代码。
return 返回值: return-->退出方法、返回数据。
用在方法中,意思是指把指定的数据返回给用户、使用者。
要返回的数据,通过return关键字来实现返回这个功能。
需要注意:如果方法中返回值类型是void,return可以没有、可以不写,如果写了,不需要给出具体的数据。如果给数据,代码就错了。
默认方法中是存在return,只是看不见。
返回值的数据类型要与方法中指定的返回值类型要一致,或者是其子类。子类在面向对象的时候才会出现。
1.4 方法定义的步骤
方法的定义规则:
当某些功能出现的次数过多的时候,就需要把这些重复的代码,抽取出来,定义成一个方法。
方法定义的步骤,两个明确:
1. 明确方法返回值类型,定义这个方法,我需要得到什么样的数据。
2. 明确方法的参数列表,使用这个方法,需要哪些数据
1.5 示例
表 2
class Demo14 {
public static void main(String[] args) {
//求出1~2000内所有的”水仙花数”;
for(int i = 1;i <= 2000;i ) {
// i = 2000;
int qian = i / 1000;
//i = 1987
int bai = i % 1000 / 100;
int shi = i % 100 / 10;
int ge = i % 10;
//int result = ge * ge * ge shi * shi * shi bai * bai * bai qian * qian * qian;
//使用自定义求立方值的方法
int result = qiuLiFangHe(ge) qiuLiFangHe(shi) qiuLiFangHe(bai) qiuLiFangHe(qian);
if(i == result) {
System.out.println("当前的水仙花数为:" result);
}
}
}
//抽取、定义一个方法,用来计算某个数据的立方值。
/*
[修饰符] 返回值类型 方法名([参数类型 参数名称...]) {
方法体;
return 返回值;
}
*/
public static int qiuLiFangHe(int number) {
//实现求立方值的功能
int sum = number * number * number;
return sum; //返回立方,返回数据
}
}
执行的结果: