java语言之方法的使用与递归算法

1. 什么是方法(函数)

  java语言的方法类似于其他语言的函数,是一段来完成特定功能的代码片段,       

2. 掌握方法的声明

    声明格式:修饰符  返回值类型 方法名 (参数列表){

    程序代码;

   return 返回值就;

    }

        方法中的参数:

                形式参数:在方法被调用时用于接收外界输入的数据。

                实际参数:调用方法时实际传给方法的数据。

方法中的返回值(返回值类型:方法要返回的结果的数据类型,如一个方法没有返回值,必须给出返回值类型 void)

           (返回值:方法在执行完毕后返还给调用者的数据。)

           (return语句终止方法的运行并指定要返回的数据。)

3. 掌握方法的调用

      java语言中使用下述形式调用方法:

          对象变量名.方法名(实参列表);

      实参的数目,数据类型和次序必须和所调用方法声明的形参列表匹配。

      代码如下:

  

public class Demo11{

public static void printInfor (){

              for (int i = 0; i<10 ; i++ ){
                          System.out.println(i);
                          }

                        }
                      public static int getMax(int i , int j){

                            int max=0;
                            if (i>j){
                            max=i;
                            }
                            else {
                              max=j;
                              }
                          return max;

                          }

                  public static void main (String [] args){

                        //System.out.println("第一次打印 ");
                        //printInfor();
                        //System.out.println("第二次打印 ");
                        //printInfor();
                         System.out.println("比较两个数输出较大的数 :");
                          int res = getMax(2,4);
                          System.out.println(res);

                      }

                     }

    

4. 掌握什么是方法的重载

    方法的重载指的是一个类中可以定义有相同名字,但参数列表不同的多个方法,调用时,会根据不同的参数列表选择对应的方法;

    参数列表是指参数的类型,个数,或顺序。

                满足点认为是方法的重载:

                   1. 发生在同一个类中

                   2. 方法名相同

                   3. 参数列表不同(类型,大小,数量)

      代码如下:

public class Demo11{
               public static int getMax(int i , int j){

                    int max=0;
                      if (i>j){
                        max=i;
            }
                      else {
                          max=j;
                      }
                        return max;

                          }
                public static int getMax(int i , int j , int k){
                              int max=(i>j) ? i : j;
                              if(max>k){
                                return max;
                              }
                                  else{
                                return k;
                                }

                              }

                    public static void main (String [] args){
                        System.out.println("比较两个数输出较大的数 :");
                          int res1 = getMax(2,4);
                            System.out.println(res1);
                                System.out.println("比较三个数输出较大的树 :");
                                    int res2 = getMax(3,5,4);
                                                System.out.println(res2);

                  }

                }

5. 了解递归算法

      1. 递归调用指的是方法执行过程中出现该方法本身的调用。

      2. 递归算法关键要抓住的是:

          递归出口

          递推步向出口逼近

    代码如下:

  

public class Demo12
                          {
                              public static int multip1(int n )//一般求阶乘的方法。
                                {
                                      int res =1;
                                      for (int i=1 ;i<=n ; i++ )
                                           {
                                               res*=i;
                                            }
                                        return res;
                                  }
                                public static int multip2(int n)
                                    {
                                       if (n==1 || n==0)
                                           {
                                              return 1;
                                            }
                                         return n*multip2(n-1);
                                     }
                        public static void main(String [] args)
                             {
                                  System.out.println(multip1(3));
                                  System.out.println(multip2(7));
                              }
                         }

      

  

时间: 2024-10-06 08:39:57

java语言之方法的使用与递归算法的相关文章

我的Java开发学习之旅------&gt;Java语言中方法的参数传递机制

实参:如果声明方法时包含来了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时传给形参的参数值也被称为实参. Java的实参值是如何传入方法?这是由Java方法的参数传递机制来控制的,Java里方法的参数传递方式只有一种:值传递.所谓值传递,就是将实际参数的副本(复制品)传入方法内,而参数本身不会收到任何影响. 一.参数类型是原始类型的值传递 下面通过一个程序来演练 参数类型是原始类型的值传递的效果: public class ParamTransferTest { public sta

day04&lt;Java语言基础+&gt;

Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构for语句的练习之水仙花) Java语言基础(循环结构for语句的练习之统计思想) Java语言基础(循环结构while语句的格式和基本使用) Java语言基础(循环结构while语句的练习) Java语言基础(循环结构do...while语句的格式和基本使用) Java语言基础(循环结构三种循环语句

深入理解Java虚拟机笔记---方法调用

方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程.在程序运行时,进行方法调用是最普遍.最频繁的操作.在Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址(相当于直接引用).这个特性给Java带来了更强大的动态扩展能力,但也使得Java方法的调用过程变得相对复杂,需要在类加载期间甚至到运行期间才能确定目标方法的直接引用.

JAVA 面向对象之方法详解

本页面更新日期: 2016年07月18日 前言 方法是类或对象 的行为特征的抽象. 方法是类或对象最重要的组成部分. 所有的方法都必需定义在类里. 方法不能独立存在. 方法在逻辑上要么属于类, 要么属于对象. 方法的所属性 一旦将一个方法定义在某个类的类体内. 如果这个方法使用了static修饰符,则这个方法属于这个类. 否则这个方法属于这个类的实例. Java语言是静态的. 一个类定义完成后,只要不再重新编译这个类文件,该类和该类的对象所拥有的方法是固定的,永远都不会改变. 执行方法时必需使用

java语言复制数组的四种方法

JAVA语言的下面几种数组复制方法中,哪个效率最高? B.效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.arraycopy的用法: [java] view plain copy public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 参数:src - 源数组.srcPos - 源数组中的起

Java语言程序设计 上机实验4 掌握声明接口、一个类实现接口的声明和使用方法

Java语言程序设计 上机实验4 实验目的: 理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口.一个类实现接口的声明和使用方法:熟悉Java语言包和实用包中的常用类. 实验内容:(*)为选做 声明圆柱体类Cylinder,继承椭圆类Ellipse(实现周长Perimeter接口和面积Area接口),为圆柱体类设计较为全面的构造方法,并实现体积Volume接口,计算表面积和体积. 将Java的若干关键字(15个以上)保存在一个字符串数组中,对其按升序排列,再采用顺序查找和二分法查找,判断

java语言规范要求equals方法具有下面的特性

java语言规范要求equals方法具有下面的特性: (1)自反性:对于任何非空引用x,x.equals(x)应该返回true; (2)对称性:对于任何引用x,和y,当且仅当,y.equals(x)返回true,x.equals(y)也应该返回true; (3)传递性:对于任何引用x,y,z,如果x.equals(y)返回true,y.equals(z)返回true,那么x.equals(z)也应该返回true; (4)一致性:如果x,y引用的对象没有发生变化,反复调用x.equals(y)应该

Java语言程序设计基础篇 方法(五)

生成随机字符 生成随机字符就是生成0到65535之间的一个随机整数,因为0<=Math.random()<1.0,必须在65535+1 (int) (Math.random() * (65535+1)) 随机生成小写字母 public class RandomCharacter { public static char getRandomCharacter(char ch1,char ch2){ return (char)(ch1 +Math.random() * (ch2 - ch1 + 1

java语言规范,main方法必须声明为public

注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查一下这个bug号码4252539.这个bug被标明"关闭",不予修复.Sun公司的工程师解释说:java虚拟规范并没有要求main方法一定是public. 好在,这个问题在 java SE1.4及以后的版本中强制main方法是public 最终的到了解决.