方法
java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:
[修饰符1 修饰符2 ...] 返回值类型 方法名(形参列表) {
java 语句; ... ... ...
}
java 语句; ... ... ...
}
1、形参:在方法被调用时用于接收外界输入的数据。
2、实参:调用方法时实际传给方法的数据。
3、返回值:方法在执行完毕后返回给调用它的环境的数据。
4、返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
5、使用下述调用方法:对象名.方法名(实参列表);
6、实参的数目、数据类型和次序必须和所谓用方法声明的形参表匹配。
7、return语句终止方法的运行并指定要返回的数据。
8、函数调用参数传递遵循的原则:基本类型传递数据值本身,引用类型传递对对象的引用,不是对象本身。
2、实参:调用方法时实际传给方法的数据。
3、返回值:方法在执行完毕后返回给调用它的环境的数据。
4、返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
5、使用下述调用方法:对象名.方法名(实参列表);
6、实参的数目、数据类型和次序必须和所谓用方法声明的形参表匹配。
7、return语句终止方法的运行并指定要返回的数据。
8、函数调用参数传递遵循的原则:基本类型传递数据值本身,引用类型传递对对象的引用,不是对象本身。
eg1.
public
class Testref {
public static void main(String[] args) {
int a=9;
Integer b= new Integer(9);
Integer c=b;
Geti d= new Testref(). new Geti(9);
Geti e=d;
Geti h= new Testref(). new Geti(9);
System.out.println( "a="+a);
System.out.println( "b="+b);
System.out.println( "c="+c);
System.out.println( "d.i="+d.i);
System.out.println( "e.i="+e.i);
System.out.println( "h.i="+h.i);
System.out.println();
getJ(a);
getJ(b);
getJ(d);
getH(h);
System.out.println( "a="+a);
System.out.println( "b="+b);
System.out.println( "c="+c);
System.out.println( "d.i="+d.i);
System.out.println( "e.i="+e.i);
System.out.println( "h.i="+h.i);
System.out.println();
b++;
d.i++;
System.out.println( "c="+c+ ",b="+b);
System.out.println( "d.i="+d.i+ ",e.i="+e.i);
}
public static void getJ( int i){
i++;
}
public static void getJ(Integer i){
++i;
}
public static void getJ(Geti i){
i.i++;
}
public static void getH(Geti i){
i= new Testref(). new Geti(8);
i.i++;
}
class Geti{
int i;
public Geti( int i){
this.i = i;
}
public int getI() {
return i;
}
public void setI( int i) {
this.i = i;
}
}
}
public static void main(String[] args) {
int a=9;
Integer b= new Integer(9);
Integer c=b;
Geti d= new Testref(). new Geti(9);
Geti e=d;
Geti h= new Testref(). new Geti(9);
System.out.println( "a="+a);
System.out.println( "b="+b);
System.out.println( "c="+c);
System.out.println( "d.i="+d.i);
System.out.println( "e.i="+e.i);
System.out.println( "h.i="+h.i);
System.out.println();
getJ(a);
getJ(b);
getJ(d);
getH(h);
System.out.println( "a="+a);
System.out.println( "b="+b);
System.out.println( "c="+c);
System.out.println( "d.i="+d.i);
System.out.println( "e.i="+e.i);
System.out.println( "h.i="+h.i);
System.out.println();
b++;
d.i++;
System.out.println( "c="+c+ ",b="+b);
System.out.println( "d.i="+d.i+ ",e.i="+e.i);
}
public static void getJ( int i){
i++;
}
public static void getJ(Integer i){
++i;
}
public static void getJ(Geti i){
i.i++;
}
public static void getH(Geti i){
i= new Testref(). new Geti(8);
i.i++;
}
class Geti{
int i;
public Geti( int i){
this.i = i;
}
public int getI() {
return i;
}
public void setI( int i) {
this.i = i;
}
}
}
eg2.
public
class Fibonacci {
public static void main (String arg[]){
System.out.println(f(5));
}
public static int f( int n){
if (n==1||n==2){
return 1;
}esle {
return f(n -1)+f(n - 2);
}
}
}
public static void main (String arg[]){
System.out.println(f(5));
}
public static int f( int n){
if (n==1||n==2){
return 1;
}esle {
return f(n -1)+f(n - 2);
}
}
}
转载于:https://blog.51cto.com/ilexes/161525