七、方法

  定义:

    方法就是完成特定功能的代码块
      在很多语言里面都有函数的定义
      函数在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. 2018/03/08 每日一个Linux命令 之 chattr/lsattr

    每日一个Linux命令 2018-03-08 Linux 命令 chattr/lsattr chattr [-参数] [+/-属性] [文件或者目录] 经过今天没有对铃,粥熬糊了,我就知道...... ...

  2. java 之程序中的http请求

    背景 java程序中有时需要我们发起http级别的请求,例如抓数据或者第三方对接时,一般分为两种:一种是只需我们发起请求,还有一种是我们不但要发起请求,还要拿到请求后的数据来进行下一步处理 实现 针对 ...

  3. HyperlinkedIdentityField

    1.简介 其实就是创建一个链接,把查询到对象放到链接上,点链接可以查看.实际上用的很少. 2. views代码 查找的是一个对象的所有数据,link只是放在这个对象其中一个字段上的数据. from d ...

  4. 异常处理的捕捉:try{}catch(异常类 变量)finally{最终执行}

    可以对异常进行针对性处理的方式.try{ //需要被检查的异常 }catch(异常类  变量)//该变量用于接收发生的异常{ //处理异常的代码 }finally{ //一定会被执行的代码. }

  5. 利用TensorFlow实现多元线性回归

    利用TensorFlow实现多元线性回归,代码如下: # -*- coding:utf-8 -*- import tensorflow as tf import numpy as np from sk ...

  6. mysql 延迟添加唯一索引

    MySQL [test]> create table tbl_keyword ( -> id int not null auto_increment primary key, -> ...

  7. Boost学习-Linuxidc上的很好的学习资料

    来自 http://www.linuxidc.com/Linux/2011-07/39215.htm,拷贝第一页如下 Boost学习系列 简介及基本用法 [日期:2011-07-25] 来源:Linu ...

  8. linux 编译 'aclocal-1.14' is missing on your system

    centos编译出现:类似情况: $tar -xvf libpcap-1.0.0.tar.gz      $cd libpcap-1.0.0.tar.gz      $./configure      ...

  9. ASP.Net Core 2.2 MVC入门到基本使用系列 (一)(转)

    本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...

  10. UVA 11178 Morley's Theorem(几何)

    Morley's Theorem [题目链接]Morley's Theorem [题目类型]几何 &题解: 蓝书P259 简单的几何模拟,但要熟练的应用模板,还有注意模板的适用范围和传参不要传 ...