Java基础语法(三)

七、方法

  定义:

    方法就是完成特定功能的代码块
      在很多语言里面都有函数的定义
      函数在Java中被称为方法

  格式:

    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
        函数体;
        return 返回值;
    }

  说明:

    修饰符       比较多,public static等
    返回值类型     用于限定返回值的数据类型
    方法名       一个名称,为了方便我们调用方法
    参数类型      限定调用方法时传入参数的数据类型
    参数名       是一个变量,接收调用方法时传入的参数
    方法体       完成功能的代码
    return        结束方法以及返回方法指定类型的值
    返回值       程序被return带回的结果,返回给调用者

  注意事项:

    方法不调用不执行
    方法与方法是平级关系,不能嵌套定义
    方法定义的时候参数之间用逗号隔开
    方法调用的时候直接传递变量或者常量值
    如果方法有明确的返回值,一定要有return带回一个值

  方法调用:

    有明确返回值的方法调用:
      单独调用,没有意义
      输出调用,有意义,但是不一定要把结果输出
      赋值调用,推荐方式

    没有明确返回值的函数调用:
      其实就是void类型方法的调用
      只能单独调用

  方法重载

    概述

      在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

    特点

      与返回值类型无关,只看方法名和参数列表
      JVM在调用时通过参数列表的不同来区分同名方法

八、数组

  概述:

    数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
    数组既可以存储基本数据类型,也可以存储引用数据类型。

  格式:

    格式1:数据类型[] 数组名;
    格式2:数据类型 数组名[];
    注意:这两种定义做完了,数组中是没有元素值的。

  初始化:

    概述

      Java中的数组必须先初始化,然后才能使用。
      所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

扫描二维码关注公众号,回复: 2483391 查看本文章

    初始化方式

      动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

        格式:数据类型[] 数组名 = new 数据类型[数组长度];
        数组长度其实就是数组中元素的个数。
        举例:
          int[] arr = new int[3];
        解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。


      静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度

        格式:
          数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
        举例:
          int[] arr = new int[]{1,2,3};
        解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值,并且值分别是1,2,3。
           其实这种写法还有一个简化的写法
           int[] arr = {1,2,3};

  Java中的内存分配

     Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
     栈 存储局部变量
     堆 存储new出来的东西
     方法区 
     本地方法区 (和系统相关)
     寄存器 (给CPU使用)

    图解:

    

  数组操作常见的两个小问题

    数组索引越界

      ArrayIndexOutOfBoundsException
      访问到了数组中的不存在的索引时发生。

    空指针异常

      NullPointerException
      数组引用没有指向实体,却在操作实体中的元素时。

  二维数组

    概述

      二维数组就是一个元素为一维数组的数组。

    格式

        格式1:

        数据类型[][] 变量名 = new 数据类型[m][n];
        m表示这个二维数组有多少个一维数组
        n表示每一个一维数组的元素个数
        举例:
          int[][] arr = new int[3][2];
          定义了一个二维数组arr
          这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]
          每个一维数组有2个元素,可以通过arr[m][n]来获取
          表示获取第m+1个一维数组的第n+1个元素

        格式2:

          数据类型[][] 变量名 = new 数据类型[m][];
          m表示这个二维数组有多少个一维数组
          这一次没有直接给出一维数组的元素个数,可以动态的给出。
          举例:
            int[][] arr = new int[3][];
            arr[0] = new int[2];
            arr[1] = new int[3]
            arr[2] = new int[1];

        格式3:

          数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
          简化格式:
            数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
          举例:
            int[][] arr = {{1,2,3},{4,6},{6}};

九、键盘录入数据

  概述

    我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我准备把数据改进为键盘录入,提高程序的灵活性。

  键盘录入数据

    导包(位置放到class定义的上面)
      import java.util.Scanner;
    创建对象
      Scanner sc = new Scanner(System.in);
    接收数据
      int x = sc.nextInt();

猜你喜欢

转载自www.cnblogs.com/ljlaction/p/9389893.html