Java学习方法
Posted ying-hack
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习方法相关的知识,希望对你有一定的参考价值。
目录
方法
方法是指的是一段可以被重复利用的代码块,利用方法可以实现庞大程序的拆分,是一种代码重用的技术手段,并且更加适合于代码的维护。
方法基本定义
在程序的开发中经常碰到各种重复代码的定义,为了方便管理这些重复的代码,可以通过方法结构保存这些重复的代码,实现了重复的调用,如果要进行方法的调用则可以通过以下定义格式
public static 返回值类型 方法名称(参数类型 参数变量,参数类型 参数变量 ...){
方法体(本方法要执行的若干操作);
[return [返回值]]
}
方法定义中的返回值与传递的参数类型均为Java中定义的数据类型(基本数据类型,引用数据类型),在方法中可以对返回数据的处理,如果要返回数据则可以用return来描述。return的数据类型需要与方法定义的数据类型一致。如果不返回数据则可以用void进行声明。
范例:定义一个无参数无返回值的方法
public class JavaDemo{
public static void main(String args[]){
printInfo();
printInfo();
}
public static void printInof(){
System.out.println("****************");
System.out.println("* www.Java.com *");
System.out.println("****************");
}
}
程序在主类中定义了一个printInfo的方法,此方法主要是进行内容的输出,在主方法中调用了两次。
范例:定义一个有参数有返回值的方法
public class JavaDemo{
public static void main(String args[]){
String result = payAndGet(20.0); //调用方法并且接受返回值;
System.out.println(result);
System.out.println(payAndGet(1.0)); //返回只可以直接进行输出
}
public static String payAndGet(double monmy){
if(monmy >= 10.0){
return "购买一份快餐,找零: "+(monmy - 10.0);
}
else{
return "对不起,您的余额不够,请先充值,或捡漏";
}
}
}
在本程序中定义了一个方法,调用了两次方法,分别为当monmy为20时还有为1时。
范例:使用return结束方法调用
public class JavaDemo{
public static void main(Sting args[]){
sale(3);
sale(-3);
}
/**
*定义销售方法,可以根据金额输出销售信息
*@param amount要销售的数量 必须是正数
*/
public static void sale(int amount){
if (amount<=0) {
return;
}
System.out.println("销售出" + amount + "本图书。");
}
}
定义了一个方法,当传入的值小于等于0时直接返回,否则就打印出来销售书的本数。
方法重载
介绍
方法重载是方法名称进行重用的一种技术形式,最主要特点是,方法名相同但是传入的参数类型或数量不同。根据传参类型和数量执行不同的方法。
范例:定义方法重载
public class JavaDemo{
public static void main(String args[]){
int resultA = sum(10, 20);
int resultB = sum(10,20,30);
int resultC = sum(11.2,25.3);
System.out.println("加法执行结果:"+resultA);
System.out.println("加法执行结果:"+resultB);
System.out.println("加法执行结果:"+resultC);
}
public static int sum(int x,int y){
return x+y;
}
public static int sum(int x,int y,int z){
return x + y + z;
}
public static int sum(double x,double y){
return (int) (x + y);
}
}
定义了三个方法,三个方法的名称相同但是参数的类型和数量不同。那么就证明sum方法被重载了。
范例:观察输出操作的重载实现
public class JavaDemo{
public static void main(String args[]){
System.out.println("hello"); //输出String
System.out.println(1); //输出int
System.out.println(10.2); //输出double
System.out.println('A'); //输出char
System.out.println(false); //输出false
}
}
很明显本程序利用System.out.println()重载的特点分别输出了各种不同的数据类型信息,可以得出明显的结论,println方法在JDK中实现了重载。
方法递归调用
介绍
递归调用是一种特殊的调用形式,指的是自己调用自己的形式。
递归调用的条件:
- 递归调用必须有结束条件
- 每次调用的时候需要根据需求改变传递的参数内容
范例:实现1~100数字的累加
public class JavaDemo{
public static void main(String args[]){
System.out.println(sum(100));
}
public static int sum(int num){
if (num==1)
return num;
else
return num + sum(num - 1);
}
}
本程序使用递归的方式对数字进行累加,当参数为1时直接返回一个数字1。分析如下:
第一次执行sum():return 100 + sum(99)
第二次执行sum():return 99 + sum(98)
···
第99次执行sum():return 2 + sum(1)
第100次执行sum():return 1
最终执行 100 + 99 + 98 + ··· + 2 + 1;
范例:计算 1! + 2! + ··· + 90!
public class JavaDemo{
public static void main(String args[]){
System.out.println(sum(90));
}
public static double sum(int num){
if(num == 1)
return 1;
else
return factorial(num) + sum(num - 1);
}
public static double factorial(int num){
if(num == 1)
return 1;
else
return num * factorial(num - 1);
}
}
本章总结
- 方法是一段可以重复调用的代码段,在本章中因为方法可以由主方法直接调用,所以要加入public static等关键词修饰。
- 方法的重载:方法名相同,参数的类型或个数不同,则此方法称为重载。
- 方法递归调用指的是本方法的自身重复执行,在使用递归调用时一定要设置好方法的结束条件,否则会出现内存溢出问题,造成程序中断执行。
以上是关于Java学习方法的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalStateException:片段未附加到活动
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段