在上一篇文章中,为大家介绍了java里常用的for循环,今天简单聊一聊java中的方法。方法是什么?从字面意思上看,方法一般是指为获得某种东西或达到某种目的而采取的手段与行为方式(字典里关于方法的解释)。那么,在java里,方法是什么呢?方法就是一群聪明的懒人程序猿想出来的、可以多次使用的、用来解决一类问题的有序代码组合。这里有点抽象,还是用实际例子来说明。
上篇文章的结尾,给大家留了一个小练习。1到100的累加求和,如何用for循环实现。下面直接上代码
int sum=0;
for(int i=1;i<=100;i++){
sum+=i;
}System.out.println(sum);
首先定义一个变量i,i每次递增1。既然想求1到100的累加求和,那不能只让i变量递增,递增完了应
该让每个i相加,这样才能求和。这时候就需要引入一个新的变量sum,每次i变化完以后,就让sum把
i装进去(把sum当成一个容纳盒,可以把所有的i装进去,只不过sum需要一个一个的装)。当i=1的
时候,sum=1,当i=2的时候,sum=3(1+2),当i=3的时候,sum=6(1+2+3)。可以看到,当i=x(某个
值)的时候,上一个sum已经是1到(x-1)的累加的和了。这样,每次i发生变化,只需要把最新的i
加到sum里,就实现了1到i的累加求和。
好了,用for循环解决了问题。新的问题又来了,要是需要计算1到1000的求和呢?1到1W的求和呢,1到10W呢? 有人会说,那我重新写个代码就好了,反正思路已经知道了。但是,这样不累吗,每次都要写一个新的代码。这时候懒人就会想尽一切办法来省事儿,方法也就诞生了。那么,我们来看一下如何用方法解决上面的问题
public static void main(String[] args) {
System.out.println(getSum(100));
System.out.println(getSum(10000));
}
public static int getSum(int x){
int sum=0;
for(int i=1;i<=x;i++){
sum+=i;
} return sum;
}
看起来是不是变化很小,甚至是多了几行代码,但这不是无用功。此时一个可以计算1到1000、1W甚至100W的方法已经写出来了。假如,我现在想计算1到1W的累加求和,该怎么办呢? 如上图,只需要把System.out.println(getSum(100))里面的100改成10000即可,是不是很省力气。所以说发明这些东西的人都是懒人,/手动滑稽护体。
接下来我们来了解一下方法的组成部分,还是以上面的代码为例子
public static void main(String[] args) {
System.out.println(getSum(100));//()中的100为实际参数,它是局部变量(形式参数)的赋值
System.out.println(getSum(10000)); //真正参与运算的是实际参数
} //getSum就是方法名,这只是一个名字,可以根据个人习惯命名
public static int getSum(int x){ //int x为形式参数,所谓形式参数,就是一个形式,
int sum=0; //局部变量的声明
for(int i=1;i<=x;i++){
sum+=i;
} return sum;
}
修饰符+返回值类型+方法名+([参数列表]){ 方法体语句;解决功能的代码块;ruturn;},[ ]可
有可无(这里+应该是空格,为了方便阅读才用的+)。修饰符:访问权限修饰符,默认public static。
返回值类型:方法运算后结果的数据类型,分为基本数据类型和引用数据类型。上图ruturn后面的sum
即基本数据类型。方法名:就是方法的名字,是自己命名的,但是要满足标识符的命名规则和规范,
有见名知意的效果。参数列表:这是一个比较有意思的地方,可以存在参数,也可以没有参数。如果
有参数,参数与参数之间需要用“,”隔开,参数必须要赋值,相当于局部变量的声明,如int a、
float b、short c...return本身的意思是返回,在方法中可以提前结束方法并带出返回值。什么意
思呢,就是把你需要的值反馈给你。你需要的是1到100的累加求和的值,那么我就把这个值反馈给你。
说完了方法,我们总得会使用方法吧,不能空有金山银山,但是不会用。SO,如何使用方法呢,这就涉及到了方法的调用,有三种办法。1、直接调用,getSum(100); 2、赋值调用,即先给方法赋值再使用方法。如int d=getSum(100);System.out.println(d); 3、输出调用,System.out.println(getSum(100)); 简单粗暴。
好了,就简单聊一下,感兴趣的小伙伴不妨用方法计算一下100到300的累加求和、任意一个区间内的求和。