方法

方法的含义

定义: 方法就是用来完成解决某件事情或实现某个功能的办法。

方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。

我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。

方法的定义

其格式为:

  1. /*方法的定义如下
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
    执行语句
    ………
    return 返回值;
    }
    */

示例:

  1. //例如:定义一个方法
    public static void methodName(int k,int g){
    //publics static 修饰符
    //void 返回值类型
    //methodName     方法名
    //int k 参数列表,与局部变量的声明方式一样
      //执行语句
      return k+b
    }

修饰符: 方法的修饰符比较多,有对访问权限进行限定的 。目前默认为public static

返回值类型:用于限定方法返回值的数据类型 ,可以是基本数据类型也可以是引用数据类型

方法名:就是方法的名字,遵照Java的变量(标识符)的语法规则和规范。

参数类型: 用于限定调用方法时传入参数的数据类型 。可以是基本数据类型也可以是引用数据类型

可以由参数也可以么有参数。

若是有多个参数,中间用,分隔。

方法定义的时候,这个参数都成为形式参数;相当是局部变量,只声明不赋值。

在方法定义的时候,若是声明了参数类型类型,则调用此方法的时候必须赋值(传入参数)。

执行语句:是解决问题的代码。

return:

一是提前结束方法

二是返回最终的结果,返回的结果的数据类型要与返回值数据类型相一致。

方法的调用

有返回值的调用

方法名(实参):执行方法中的代码,共有三种方法可以供调用:

实参:方法调用的时候,传入的参数,其数据类型要与方法定义的时候的形式参数相一致。

直接调用:方法名(实参)

  1. 有返回值的方法不建议使用此方法;

  2. 一般使用在没有返回值的方法中

赋值调用

赋值调用:数据类型 变量名=方法名(实参);

  1. 一般使用在有返回值类型的方法中

输出调用:System.out.println(方法名(实参));

代码如下:

  1. public class TestMethodDemo01{
    public static void main(String[] args){
    getPI();//直接调用,不建议
    double d=getPI();//赋值调用
    System.out.println(getPI());//输出调用
    }
  2.  
  3. public static double getPI(){
    return 3.1415926;
    }
    public static double test(char a,int n){
    for(i=1;i<=n;i++){
    System.out.print()
  4.  
  5. }
    }

没有返回值的调用

就是返回值类型为void;

  1. /*
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
    执行语句
    ………
    return 返回值;
    }
    */
    //例如:定义一个方法
    public static void methodName(int k,int g){
    //publics static 修饰符
    //void 返回值类型,该类型为没有返回值类型
    //methodName     方法名
    //int k 参数列表,与局部变量的声明方式一样
      //执行语句
      return k+b
    }

参数

参数可分为形式参数和实际参数

形式参数(形参):定义方法时候,方法名后面()中的参数。相当于局部变量的声明。

实际参数(实参):调用放到是时候,方法名后面()中的参数。相当于给局部变量赋值。

实际参数和形式参数其数据类型、顺序都要一致。

方法签名:(方法名+参数列表):标识方法的唯一

方法的兼容类型

形参和实参: 形参的类型>=实参的类型 返回值的数据类型<=方法返的回值类型<=接收返回值的变量类型:

接收返回值的变量类型:就是接收返回值 的数据类型

方法返回值类型:就是方法就是符号后面的 返回值类型

返回值的数据类型:就是return后面的数据的数据类型

return的使用

  1. 在有返回值类型中,使用return

    1. 提前结束该方法

    2. 返回最终结果

  2. 在没有返回值类型中

    1. 可以不使用return,建议使用该方便

    2. 可以使用return,作用提前结束该方法。

出现不可达语句的集中情况的分析

不可达语句:

  1. 一定会执行到的return后面的语句;

    1. 因为提前结束该方法导致无法执行后面的代码

  2. break后

    1. 因为提前结束该循环导致无法执行后面的代码

  3. 死循环后面

    1. 因为前面的代码用于无法执行完毕,导致无法执行后面的代码。

  4. continue后面

    1. 因为提前结束本次循环,导致无法执行后面的代码

  5. while(false){语句}

    1. 系统认为判断条件为false的时候,不会执行该语句。

    2. 可以采用赋值给变量,利用变量欺瞒系统。

    代码如下:

    1. System.out.println();{
      //蒙蔽编译器
      boolean flag=true;
      while(flag){//若是条件直接为false,则系统报错。
      System.out.println("循环体");
      }
      System.out.println("循环后面的代码");
      }

使用方法的好处

  1. 隐藏方法实现的细节,可以提高安全性

  2. 简化代码,可以多次复用代码。

方法的重载

定义:重载就是具有相同函数名,返回类型可以不同,参数个数、顺序、类型不同的函数。

个人理解:就是在同一个类中,只按照函数名相同,参数列表不同来区分是否是重载。

重载的无关因素

跟修饰符、返回值以及参数列表中相同类型中的参数名称无关。

  1. //与public static 修饰符无关
    //与void 返回值类型无关
    //与int a中的a   参数列表中的 参数名称无关
    public static void getSum(int a,int b){
    System.out.println("求2个数的和int,int");
    System.out.println(a+b);
    }

重载的有关因素

与参数列表中的数据类型、顺序以及个数有关

  1. public class OverloadDemo04 {
  2.  
  3. //主方法
    public static void main(String[] args){
    getSum(1.0,2);
    }
    //求2个数的和
    public static void getSum(int a,int b){//a与b交换位置,仍是同一个的方法,构成不了重载
    System.out.println("求2个数的和int,int");
    System.out.println(a+b);
    }
  4.  
  5. public static void getSum(int b,double a){//参数列表数据类型不一致,构成重载
    System.out.println("求2个数的和int,double");
    System.out.println(a+b);
    }
  6.  
  7. public static void getSum(double a,int b){//参数列表属性不一样,构成重载
    System.out.println("求2个数的和double,int");
    System.out.println(a+b);
    }
  8.  
  9. //求2个数的和
    public static void getSum(int a,int b,int c){//参数个数不一致,构成重载
    System.out.println("求3个数的和int,int,int");
    System.out.println(a+b+c);
    }
    }

数组

数组的含义

数组的含义:数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。

数组与变量的区别

变量只能存入一个数据,而数据可以存入多个数据并且是有序排列的。

数组的声明方式(三种)

动态初始化(一种)

  1. 第一种声明方式(动态初始化)//先声明并开辟数组空间。

    1. 数据类型[] 数组名;

    2. 类型数据 数组名[];

      1. 数据类型:基本数据类型或引用数据类型。

      2. 数组名:就是标识符,完全遵照Java中的规则和规范。

      3. 在同一个数组中,只能存放同一种类型的数据, 数据类型可以是任何相同的数据类型 。

        备注:若是声明是int变量,只能存储int变量的数组。

静态初始化(两种)

  1. 第二种声明方式//声明数组的同时并赋值

    1. 数据类型[] 数据名=new 数据类型{};

  2. 第三种声明方式//声明数组的同时并赋值

    1. 数据类型[] 数据名={};

示例:

  1. public class WhatEver {
       public static void main(String[] args) {
           //第一种   例:
           String[] test1 = new String[6];
           test1[0] = "数组0";
           test1[1] = "数组1";
           //第二种 例:
           String[] test3 = new String[]{"数组0","数组1","数组2","...."};
            //第三种 例:
           String[] test2 = {"数组0","数组1","数组2","...."};
      }
    }

数组的使用

数组的索引:根据数组的索引可以精确的定位到数组中的每一个的位置,对这个位置上是数据进行增加、删除、修改、查询。

数组的索引默认从0开始,数组的长度可使用数组.length-1得到

数组的遍历(两种方式)

普通for循环

语法格式如下:

  1. for(初始化条件;判断条件;迭代因子){
       执行语句;
    }

增强for循环|for each

语法格式如下

  1. //for..each|增强for 获取值
    for(数据类型 变量名: 数组名){
    变量->数组中从前到后的每一个空间的数据值
    }

Java中方法的定义与使用,以及对数组的初步了解。的更多相关文章

  1. Java中方法的定义与使用

    Java中方法的定义与使用 1.方法的定义: 方法是一段可以被重复调用的代码块. 方法的声明: public static 方法返回值 方法名([参数类型 变量--]){ 方法代码体: return ...

  2. 深入理解为什么Java中方法内定义的内部类可以访问方法中的局部变量

    好文转载:http://blog.csdn.net/zhangjg_blog/article/details/19996629 开篇 在我的上一篇博客 深入理解Java中为什么内部类可以访问外部类的成 ...

  3. JAVA中方法的定义与使用(课堂学习归纳)

    组合数,百度词条是这样解释的:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数(Combination) 对于计算组合数,需要一定的工作量,计算机可以很 ...

  4. java中方法的定义

    所谓的方法(将方法称为函数)指的就是一段可以被重复调用的代码块. 对于方法的返回值类型有两种使用形式: · 有数据返回:返回值类型就使用 Java 中定义的数据类型: · 无数据返回:使用 void ...

  5. Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题

    在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...

  6. 深入理解Java中方法的参数传递机制

    形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...

  7. java中方法的重载和覆盖

    java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类) ...

  8. Java中方法的重载

    Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...

  9. java中把list列表转为arrayList以及arraylist数组截取的简单方法

    java中把list列表转为arrayList以及arraylist数组截取的简单方法 package xiaobai; import java.util.ArrayList; import java ...

随机推荐

  1. cucumber:extentreports集成报告

    extentreports 测试报告 只支持java..Net 先在pom.xml文件中加入包引用 <!-- report--> <dependency> <groupI ...

  2. Java中的线程Thread方法之---join()

    上一篇我们说到了Thread中的stop方法,这一篇我们再来看一下方法join的使用,那么方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. join方法从字面上的意 ...

  3. 线段树优化dp——牛客多校第一场I(好题)

    和两天做了两道数据结构优化dp的题,套路还是差不多的 题解链接! https://www.cnblogs.com/kls123/p/11221471.html 一些补充 其实这道题的dp[i]维护的不 ...

  4. 移动端多选插件-jquery

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 转-C/C++ new与malloc区别

    1.属性 new/delete是C++关键字,需要编译器支持.malloc/free是库函数,需要头文件支持. 2.参数 使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计 ...

  6. Python3 From Zero——{最初的意识:002~字符串和文本}

    一.使用多个界定符分割字符串 字符串.split(',')形式只适用于单一分割符的情况:多分割符同时应用的时候,可使用re.split() >>> line = 'asdf fjdk ...

  7. 剑指offer——30栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  8. jquery操作html元素之(设置内容和属性)

    设置内容 - text().html() 以及 val() 我们将使用前一章中的三个相同的方法来设置内容: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容( ...

  9. Spring Cloud Eureka 注册安全一定要做到位!

    /eureka/ 参考配置如下: defaultZone: http://javastack:javastack@eureka1:8761/eureka/, http://javastack:java ...

  10. sql实现取汉字大写首字母

    )) ) AS BEGIN DECLARE @py TABLE( ch ), hz1 ) COLLATE Chinese_PRC_CS_AS_KS_WS, hz2 ) COLLATE Chinese_ ...