七、方法

  定义:

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

  格式:

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

  说明:

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

  注意事项:

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

  方法调用:

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

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

  方法重载

    概述

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

    特点

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

八、数组

  概述:

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

  格式:

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

  初始化:

    概述

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

    初始化方式

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

        格式:数据类型[] 数组名 = 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();

Java基础语法(三)的更多相关文章

  1. Java基础语法(三)---数组

    一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...

  2. Java基础语法<三> 输入输出

    1. 读取输入 Scanner in = new Scanner(System.in);   输入一行(包含空格) String str = in.nextLine()   读取一个单词(以空白符作为 ...

  3. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  4. 011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三—— 变量值——即Java中的“字面值”

    011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三-- 变量值--即Java中的"字面值" 变量值可以是 ...

  5. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  6. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  7. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  8. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

  9. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  10. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

随机推荐

  1. 函数 call、apply、bind的使用

    [优雅代码]深入浅出 妙用Javascript中apply.call.bind (转载而来)   这篇文章实在是很难下笔,因为网上相关文章不胜枚举. 巧合的是前些天看到阮老师的一篇文章的一句话: “对 ...

  2. 洛谷P3247 最小公倍数 [HNOI2016] 分块+并查集

    正解:分块+并查集 解题报告: 传送门! 真的好神仙昂QAQ,,,完全想不出来,,,还是太菜了QAQ 首先还是要说下,这题可以用K-D Tree乱搞过去(数据结构是个好东西昂,,,要多学学QAQ),但 ...

  3. python全栈开发day10

    day10知识点总结 while循环补充: continue,终止当前循环,开始下一次循环 break,终止所有循环 pycharm 技巧1.setting 中搜索 mouse 设置鼠标滚轮 改变字体 ...

  4. 只读事务@Transactional(readOnly = true)

        定义 从设置的时间点(时间点beta)开始到事务结束的过程中,该事务将看不见其他事务所提交的数据,即查询中不会出现别人在beta之后提交的数据.     应用场合 对于一个函数,如果执行的只是 ...

  5. linux中按照指定内容查找文件

    grep -rnRi 指定的内容 * | awk -F":" '{print $1}' 解释: grep 查找文件内容 -r 表示递归查找 -n 表示显示行号 -R 表示查找所有文 ...

  6. vue package-lock.json的作用

    其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致.

  7. docker安装fastdfs单机版

    docker search fastdfs INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/season/fas ...

  8. Hadoop 尝试

    一. 使用环境Ubuntu 安装Hadoop需要的软件 命令: $ sudo apt-get install ssh $ sudo apt-get install rsync 提示错误: 错误原因: ...

  9. 创建vue项目的时候遇到:PhantomJS not found on PATH

    1.提示找不到PhantomJS需要进行下载,如果网速允许的话可以直接 npm install -g phantomjs 如果网速不给力的话,那就先进行淘宝镜像安装 npm install -g cn ...

  10. Marathon1.5以上版本配置

    今天部署marathon还按照之前的方式配置,结果启动时报错 Dec 03 23:51:36 bigdata01.zetyun.com marathon[12311]: No start hook f ...