栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[JAVA]方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[JAVA]方法

方法Method 方法快速入门

成员方法(简称方法)


人类除了有一些属性外(外貌,年龄)还有一些行为,比如 说话 跑步 学习。这时就用成员方法来完成。

比如添加speak行为

	class Person{
   int age;
   String name;
   //方法(成员方法)
   //添加speak 成员方法,输出“我是一个人”
   //1.public 表示方法公开
   //2.void 表示没有返回值
   //3.speak():speak是方法名 ()形参列表
   //4.{}方法体 里面写执行代码
   //5.System.out.println输出内容
    public void speak() {
	System.out.println("我是一个人");
    }
  }
    public class ss{
   public static void main(String[] args){
 
 Person p1=new Person();
  //方法使用
 //1.方法写好后,如果不去调用,不会输出
 //2.先创建对象,再调用方法
 p1.speak();//找Person中的speak方法 
 } 
  }

计算1+2+…+1000

class Person{
public  void leijia(){
   int sum=0;
   for(int i=1;i<=1000;i++){
   sum+=i;
   System.out.println("结果="+sum);
}
}
  public class ss{
	   public static void main(String[] args){
	 Person p1=new Person();
	 p1.leijia();
	 
	 } 
	  }

计算1+…+n

class Person{
public  void leijia(int n){
   int sum=0;
   for(int i=1;i<=n;i++){
   sum+=i;}
   System.out.println("结果="+sum);
 }
}
  public class ss{
	   public static void main(String[] args){
	 Person p1=new Person();
	 p1.leijia(5);
	 p1.leijia(10);
	 } 
	  }

算两数的和

class Person{
public  int getsum(int n,int m){//int 表示执行后返回一个int值
   int sum=0;
   sum=n+m;
   return sum;
    
 }
}
  public class ss{
	   public static void main(String[] args){
	 Person p1=new Person();
	 int sum= p1.getsum(5,10);//调用方法,传入两值,把值给sum
	
	System.out.println("结果="+sum);
	 } 
	  }
方法调用机制
  1. 当程序执行到方法时,就会开辟一个独立的空间(栈空间)
  2. 当方法执行完毕,或执行到return语句时就会返回
  3. 返回到调用方法的地方
  4. 返回后,继续执行方法后面的代码
  5. 当main方法(栈)执行完毕,整个程序退出
    示意图看P204
方法的妙用

提高代码复用性
例如 遍历二维数组

class Tools{
	//接收二维数组
public  void printArr (int[][] map){
	//遍历输出
	System.out.println("=========");
	for(int i=0;i
		for(int j=0;j
			System.out.print(map[i][j]+"t");//注意此处为print,println会导致换行
		}
		System.out.println();
	}

    
 }
}
  public class ss{
	   public static void main(String[] args){
	 Tools arr=new Tools();
	int[][] map= {{1,2,3},{4,5,6},{7,8,9}};
	arr.printArr(map);
	 } 
	  }
方法的定义
 public 返回数据类型 方法名(形参列表..){//方法体
              语句;
              return 返回值;
 }
  1. 形参列表:表示成员方法输入leijia(int n)
  2. 返回数据类型:表示成员方法输出的类型,void 表示没有返回值
  3. 方法主体:实现某一功能代码块
  4. return不是必须的
方法的细节

访问修饰符 如不写则为默认访问

返回数据类型

  1. 一个方法最多有一个返回值[思考,如何返回多个结果] (返回数组)
  2. 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
  3. 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为return值;而且要求返回值类型必须和return的值类型一致或兼容(低精度变为高精度为兼容,反之则不行)
  4. 如果方法是void,则方法体中可以没有return语句,或者只写 return;

方法名
遵循驼峰命名法,最好见名知义,表达出该功能的意思即可,比如得到两个数的和getSum,开发中按照规范

class Tools{
public  int[] getsumandsub (int n1,int n2){//一个方法最多有一个返回值[思考,如何返回多个结果]  (返回数组)
       int[] resarr=new int[2];
       resarr[0]=n1+n2;
       resarr[1]=n1-n2;
       return resarr;		
	}
 }

  public class ss{
	   public static void main(String[] args){
	 Tools a=new Tools();
	int[] res= a.getsumandsub(1,4);
	System.out.println("和="+res[0]);
	System.out.println("差="+res[1]);
	 } 
	  }
  //返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)

注意事项和使用细节
形参列表

  1. 一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开,比如getSum(int n1,int n2)
  2. 参数类型可以为任意类型,包含基本类型或引用类型,比如printArr(int[][] map)
  3. 调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数!【getSum】
  4. 方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,简称实参,实参和形参的类型要一致或兼容、个数、顺序必须一致!

方法体
里面写完成功能的具体的语句,可以为输入、输出、变量、运算、分支、循环、方法调用,但里面不能再定义方法!即:方法不能嵌套定义。

方法调用细节说明

  1. 同一个类中的方法调用:直接调用即可。比如print(参数);
    案例演示:A类 sayOk调用print()
    public class ss{
    public static void main(string[] args) {
    A a = new A();
    a.sayok();
   }
}
class A {
//同一个类中的方法调用︰直接调用即可
public void print(int n) {
system.out.print1n( "print()方法被调用n=" +n);
  }
public void sayOK( ){ //sayok调用print(直接调用即可)
print(10);
system.out- println("继续执行sayOK()~~~");
   }
 }

  1. 跨类中的方法A类调用B类方法:需要通过对象名调用。比如对象名.方法名(参数);案例演示:B类sayHello 调用print()
//跨类中的方法A类调用B类方法︰需要通过对象名调用
public void m1(){
   //创建B对象,然后在调用方法即可
   system.out.print1n( "m1()方法被调用");
     B b = new B();
     b.hi();

   system.out.print1n( "m1()继续执行:");
  }
}
class B {
  public void hi() {
     system.out.println( "B类中的hi()被执行");
   }
}

  1. 特别说明一下:跨类的方法调用和方法的访问修饰符相关
方法传参机制

parameter–参数

基本数据类型,传递的是值(值拷贝),形参的任何改变不影响实参!
引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参!

练习

判断奇偶数

class Tools{
   public boolean isodd(int n) {
	   return n%2!=0;
   }
 }

  public class ss{
	   public static void main(String[] args){
	Tools n=new Tools();
	if(n.isodd(2)){
		
		System.out.println("是奇数");}
		else {System.out.println("是偶数");
	}
	 } 
	  }

行4 列4 字符#
效果

####
####
####
class Tools{
   public void print(int row,int col,char c) {
	   for(int i=0;i
		   for(int j=0;j
			   System.out.print(c);//输出每一行
		   }
		   System.out.println();//换行
	   }
	   
   }
 }

  public class ss{
	   public static void main(String[] args){
	Tools n=new Tools();
	n.print(4, 4,'#');
	
	 } 
	  }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号