zoukankan      html  css  js  c++  java
  • 【Java学习】02. Java 文档基本格式以及语言参考

    Java 文档的基本格式

    因为Java是面向对象的语言,一个程序的基本单位就是class,class是关键字[1]。
    下面我们来将上一个文档的例子来做一下文档基本格式的分析

    public class Hello {
        public static void main(String[] args) {
            System.out.println("Hello, world!");
        }
    } 
    

    类的定义

    类名要求:
    类名必须以英文字母开头,后接字母,数字和下划线的组合
    习惯以大写字母开头
    public 是访问修饰符[2],表示该class是公开的。不写public,也能正确编译,但是这个类将无法从命令行执行。
    在class内部,可以定义若干方法(method)。
    一个类中的内容以一对{}来作为分隔符。

    如下面这类:

    public class Man{
    }
    

    定义了一个公开的类Man

    方法的定义

    在类中我们可以定义方法

    public class Man{
        public static void main(String[] args) {
        }
    }
    

    方法定义了一组执行语句,方法内部的代码将会被依次顺序执行。

    这里的方法名是main,返回值是void,表示没有任何返回值。
    我们注意到public除了可以修饰class外,也可以修饰方法。而关键字static是另一个修饰符,它表示静态方法,后面我们会讲解方法的类型,目前,我们只需要知道,Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组[3]。
    这个方法是Java程序的入口函数,格式固定
    方法名也有命名规则,命名和class一样,但是首字母小写:

    • 必须以英文字母开头,后接字母,数字和下划线的组合
    • 小写字母开头

    方法中代码

    在方法内部,语句才是真正的执行代码。Java的每一行语句必须以分号结束
    public class Hello {
    public static void main(String[] args) {
    System.out.println("Hello, world!");
    }
    }

    注释

    虽然对于程序来说,程序结构已经完整了,但对于我们来所还需要注释来对程序进行说明,在Java中程序注释有如下几种:

    • 单行注释,以双斜线开头,直到这一行的结尾结束:
      // 注释
    • 多行注释,以/星号开头,以/结束,可以有多行:
    /*
    注释
    */
    
    • 特殊的多行注释,以/**开头,以*/结束,如果有多行,每行通常以星号开头:
    /**
    *注释
    */
    

    特殊的多行注释需要写在类和方法的定义处,可以用于自动创建文档。


    现在我们可以来创建一个完整的程序代码:

    /**
     * 可以用来自动创建文档的注释
     */
    public class Hello {
        public static void main(String[] args) {
            // 向屏幕输出文本:
            System.out.println("Hello, world!");
            /* 多行注释开始
            注释内容
            注释结束 */
        }
    } // class定义结束
    

    Java变量

    在Java中,变量分为两种:基本类型的变量和引用类型的变量。

    基本类型的变量

    我们先讨论基本类型的变量:
    基本数据类型是CPU可以直接进行运算的类型
    在Java中,变量必须先定义后使用,在定义变量的时候,可以给它一个初始值。如”

    int x = 1;
    

    上述语句定义了一个整型int类型的变量,名称为x,初始值为1.不写初始值,就相当于给它指定了默认值。Java中默认值总是0。
    Java各种数据类型,默认值
    第一次指定变量时,要指定变量类型变量的一个重要特点是可以重新赋值
    变量可以说是内存空间地址的别名,同一个内存地址只能存储一个值。

    引用类型变量

    除了基本类型的变量,剩下的都是引用类型。
    有些时候,类型的名字太长,写起来比较麻烦。例如:

    StringBuilder sb = new StringBuilder();
    

    这个时候,如果想省略变量类型,可以使用var关键字:

    var sb = new StringBuilder();
    

    编译器会根据赋值语句自动推断出变量sb的类型是StringBuilder。

    变量的作用范围

    在Java中,多行语句用{ }括起来。很多控制语句,例如条件判断和循环,都以{ }作为它们自身的范围,例如:

    if (...) { // if开始
        ...
        while (...) { while 开始
            ...
            if (...) { // if开始
                ...
            } // if结束
            ...
        } // while结束
        ...
    } // if结束
    

    定义变量时,要遵循作用域最小化原则,尽量将变量定义在尽可能小的作用域,并且,不要重复使用变量名
    只要正确地嵌套这些{ },编译器就能识别出语句块的开始和结束。而在语句块中定义的变量,它有一个作用域,就是从定义处开始,到语句块结束。超出了作用域引用这些变量,编译器会报错。

    常量

    定义变量的时候,如果加上final修饰符,这个变量就变成了常量:

    final double PI = 3.14; // PI是一个常量
    

    常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。

    [1]关键字:Java关键字是预先定义的具有特别意义的标识符,也可以叫Java保留字,Java关键字不能用作变量名、方法名、类名、包名和参数。
    Java偶如下的关键字:
    | 关键字 | 含义 |
    | ------------ | ------------------------------------------------------------ |
    | abstract | 表明类或者成员方法具有抽象属性 |
    | assert | 断言,用来进行程序调试 |
    | boolean | 基本数据类型之一,声明布尔类型的关键字 |
    | break | 提前跳出一个块 |
    | byte | 基本数据类型之一,字节类型 |
    | case | 用在switch语句之中,表示其中的一个分支 |
    | catch | 用在异常处理中,用来捕捉异常 |
    | char | 基本数据类型之一,字符类型 |
    | class | 声明一个类 |
    | const | 保留关键字,没有具体含义 |
    | continue | 回到一个块的开始处 |
    | default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
    | do | 用在do-while循环结构中 |
    | double | 基本数据类型之一,双精度浮点数类型 |
    | else | 用在条件语句中,表明当条件不成立时的分支 |
    | enum | 枚举 |
    | extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
    | final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
    | finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
    | float | 基本数据类型之一,单精度浮点数类型 |
    | for | 一种循环结构的引导词 |
    | goto | 保留关键字,没有具体含义 |
    | if | 条件语句的引导词 |
    | implements | 表明一个类实现了给定的接口 |
    | import | 表明要访问指定的类或包 |
    | instanceof | 用来测试一个对象是否是指定类型的实例对象 |
    | int | 基本数据类型之一,整数类型 |
    | interface | 接口 |
    | long | 基本数据类型之一,长整数类型 |
    | native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
    | new | 用来创建新实例对象 |
    | package | 包 |
    | private | 一种访问控制方式:私用模式 |
    | protected | 一种访问控制方式:保护模式 |
    | public | 一种访问控制方式:共用模式 |
    | return | 从成员方法中返回数据 |
    | short | 基本数据类型之一,短整数类型 |
    | static | 表明具有静态属性 |
    | strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算术规范 |
    | super | 表明当前对象的父类型的引用或者父类型的构造方法 |
    | switch | 分支语句结构的引导词 |
    | synchronized | 表明一段代码需要同步执行 |
    | this | 指向当前实例对象的引用 |
    | throw | 抛出一个异常 |
    | throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
    | transient | 声明不用序列化的成员域 |
    | try | 尝试一个可能抛出异常的程序块 |
    | void | 声明当前成员方法没有返回值 |
    | volatile | 表明两个或者多个变量必须同步地发生变化 |
    | while | 用在循环结构中 |
    这些将在我们的学习中不断遇到,所以现在没必要全部记下来,会在学习中渐渐的烂熟于心。

    [2]访问控制符
    Java具有四个访问控制符,如下:

    • private(当前类访问权限):如果类里的一个成员(包括成员变量、方法和构造器等)使用private访问控制符来修饰,则这个成员只能在当前类的内部被访问。很显然,这个访问控制符用于修饰成员变量最合适,使用它来修饰成员变量就可以把成员变量隐藏在该类的内部。
    • default(包(package)访问权限):如果类里的一个成员(包括成员变量、方法和构造器等)或者一个外部类不使用任何访问控制修饰,就称它为包访问权限的,default访问控制的成员或外部类可以被相同包下的其他类访问。
    • protected(子类访问权限):如果一个成员(包括成员变量、方法和构造器等)使用protected访问控制符修饰,那么这个成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。在通常情况下,如果使用protected来修饰一个方法,通常是希望其子类来重写这个方法。
    • public(公共访问权限):这是一个最宽松的访问控制级别,如果一个成员(包括成员变量、方法和构造器等)或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类访问,不管访问类和被访问类是否处于同一个包中,是否具有父子继承关系。
        

    [3]命令行传参
    Java通过main中的数组来接收命令行中给定的参数,保存为数组args,就是我们定义主方法是括号里的内容
    public static void main(String[] args)
    我们可以通过访问数组args中的内容访问传递的参数

  • 相关阅读:
    机房收费系统总结
    python手记(45)
    Hbase深入学习(二) 安装hbase
    Java异常机制
    MySQL 分析服务器状态
    人生感悟:人生像吃自助餐
    Android使用蓝牙连接adb调试App
    JQuery DataTables 列自己定义数据类型排序
    Android-自己定义图像资源的使用(1)
    11款开放中文分词引擎大比拼
  • 原文地址:https://www.cnblogs.com/ldragon2000/p/14121454.html
Copyright © 2011-2022 走看看