Java学习方法

Posted 【码猿】

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);
	

本章总结

  1. 方法是一段可以重复调用的代码段,在本章中因为方法可以由主方法直接调用,所以要加入public static等关键词修饰。
  2. 方法的重载:方法名相同,参数的类型或个数不同,则此方法称为重载。
  3. 方法递归调用指的是本方法的自身重复执行,在使用递归调用时一定要设置好方法的结束条件,否则会出现内存溢出问题,造成程序中断执行。

以上是关于Java学习方法的主要内容,如果未能解决你的问题,请参考以下文章

为啥查询信用卡账单的时候,金额前面会显示一个负号呢?

学习练习 java面向对象存取款查询余额

编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的

编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的(

Java学习笔记49(DBUtils工具类二)

余额宝Java岗面试1-5面:GC+数据库+算法+缓存+优化+Dubbo+中间件