0基础java入门:第二十三节.Java方法的练习演示
我们使用方法的最终目的是让代码变得更简单。怎样才能让代码变得更简单的?这里我们可以通过将一个复杂的业务拆分成多个简单的业务书写成方法,这样可以增加代码的复用增加代码的可读性和减少维护成本。
例如: 我们 想通过程序 遍历一个数组,之后统计数组中素数的的平均值。这个业务中我们如果只是统计 平均值还是比较好处理的。但是判断素数的过程有些复杂,而且还要再数组的遍历中同时进行 判断素数 统计 的操作。如果我们 将判断素数的过程书写为一个方法 ,之后的操作就变得简单了。
代码演示:
public class TestFunction {
// 主方法
public static void main (String[] args) {
boolean f1 = isPrime(5);
// 输出结果
System.out.println(f1);
boolean f2 = isPrime(10);
// 输出结果
System.out.println(f2);
}
/** 方法 isPrime
参数 int x
返回值 boolean 类型
功能 参数x是素数 返回 true结果 不是素数返回 false结果
*/
public static boolean isPrime(int x) {
boolean f = true;
if(x<2){
f = false;
}else{
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
f = false;
break;
}
}
}
return f;
}
}
运行结果:
分析一波: isPrime方法,功能是判断一个整数是不是素数。结果中 5 的结果是true ,10的结果是fasle。有了这个方法之后,在这个类中判断素数就都可以用它来解决了。比如输出1--100 之间素数的代码会变得更简单。
代码演示:
public class TestFunction {
// 主方法
public static void main (String[] args) {
// 输出1--100 之间的素数
for(int i=1;i<=100;i++){
// 通过 调用方法 来判断i是不是素数
if(isPrime(i)){
System.out.println(i);
}
}
}
/** 方法 isPrime
参数 int x
返回值 boolean 类型
功能 参数x是素数 返回 true结果 不是素数返回 false结果
*/
public static boolean isPrime(int x) {
boolean f = true;
if(x<2){
f = false;
}else{
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
f = false;
break;
}
}
}
return f;
}
}
运行结果:
分析一波:代码中我们在 1--100 的循环中,通过调用isPrime方法来判断 i 是不是素数,之后进行输出。再来一个程序体验方法的拆分逻辑的好处。比如定义一个数组输出数组中的素数,并统计素数的平均值是多少。
代码演示:
public class TestFunction {
// 主方法
public static void main (String[] args) {
int[] arr = {1,2,3,4,5,6,7,8};
// 遍历数组 并判断素数 统计
double sum = 0;
int count = 0;
for(int i=0;i<arr.length;i++){
// 通过 调用方法 来判断arr[i]是不是素数
if(isPrime(arr[i])){
// 输出素数
System.out.println(i);
// 统计和
sum+=arr[i];
// 统计个数
count++;
}
}
// 最后计算平均数
if (count==0){
System.out.println("数组中没有素数");
}else{
System.out.println("数组中的素数平均数是"+(sum/count));
}
}
/** 方法 isPrime
参数 int x
返回值 boolean 类型
功能 参数x是素数 返回 true结果 不是素数返回 false结果
*/
public static boolean isPrime(int x) {
boolean f = true;
if(x<2){
f = false;
}else{
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
f = false;
break;
}
}
}
return f;
}
}
运行结果:
分析结果:观察代码分析一波,这里通过方法的调用,把在遍历数组中的判断素数过程变得更简单了。这样代码的结果变得更难简单,更利于阅读和更改维护。