JAVA那点事,慢慢来说之七
2009-05-29 09:40
316 查看
方法
java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:
[修饰符1 修饰符2 ...] 返回值类型 方法名(形参列表) {
java 语句; ... ... ...
}
1、形参:在方法被调用时用于接收外界输入的数据。
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;
}
}
}
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);
}
}
}
java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:
[修饰符1 修饰符2 ...] 返回值类型 方法名(形参列表) {
java 语句; ... ... ...
}
1、形参:在方法被调用时用于接收外界输入的数据。
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;
}
}
}
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);
}
}
}
相关文章推荐
- JAVA那点事,慢慢来说之九
- JAVA那点事,慢慢来说之一
- JAVA那点事,慢慢来说之四
- JAVA那点事,慢慢来说之六
- JAVA那点事,慢慢来说之二
- JAVA那点事,慢慢来说之八
- JAVA那点事,慢慢来说之三
- JAVA那点事,慢慢来说之五
- 关于java那点事(一)
- java垃圾回收那点事(二)究竟有多少GC
- oracle number类型,对于Java来说为什么 string 类型也是可以插入的,有时候又不行的解释
- 简单来说一下java中的泛型,ssh中dao层使用会简化代码量
- Java调优那点事
- 马士兵老师语录,看过他视频的可以补充。还念马老师的声音,跟着他的视频在JAVA领域慢慢成长的
- Java 各种知识点 (慢慢总结)
- java重写hashcode方法那点事
- Java那点事――StringBuffer与StringBuilder原理与区别
- java常问题整理,慢慢更
- JVM - 3. Java对象创建那点事与内存布局
- java多线程那点事