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。

14db6eadc4b9b80246085c9943f88337.png

第一次指定变量时,要指定变量类型,变量的一个重要特点是可以重新赋值。

变量可以说是内存空间地址的别名,同一个内存地址只能存储一个值。

引用类型变量

除了基本类型的变量,剩下的都是引用类型。

有些时候,类型的名字太长,写起来比较麻烦。例如:

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中的内容访问传递的参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值