Java学习之路——基础知识

Java学习之路——基础知识

一、标识符

1. 什么是标识符?

标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

2. 标识符的命名规则

在 Java程序中,标识符命名存在着以下规则,若不遵守这些规则,编译器会报错:

  1. 只能以 数字、字母、_和 ∗ ∗ 进 行 命 名 ( 一 般 而 言 不 使 用 ∗ ∗ ** 进行命名(一般而言不使用 ** 使 进行命名);
  2. 标识符不能以数字开头
  3. 标识符严格区分大小写
  4. 关键字不能用作标识符

3. 标识符的命名规范

好的标识符命名规范会让程序变的通俗易懂,养成好的命名习惯对于一个优秀的程序员来说必不可少。

下面这些都是标识符命名的好习惯:

  1. 标识符命名应当见名知意
  2. 标识符应当遵守驼峰命名法
  3. 类名、接口名的首字母大写,后面每个单词首字母大写
  4. 变量名、方法名首字母小写,后面每个单词首字母大写
  5. 常量名全部大写

二、关键字

1. 什么是关键字?

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

2. 常见关键字及其用途

关键字 含义
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 用在循环结构中

三、字面值

1. 什么是字面值?

字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值。

字面值大体上可以分为整型字面值、浮点字面值、字符和字符串字面值、特殊字面值。

2. 整型字面值

int a1 = 1;      // 十进制
int a2 = 0b1;    // 二进制
int a3 = 0x1;    // 十六进制
long a4 = 100L;  // 表示long型数字时,后面需要带上 "l"或者"L",一般使用"L"便于区分

3. 浮点型字面值

double b1 = 10.1;  // 小数
double b2 = 1.2E2; // 科学计数法表示
float b3 = 10.1F;  // 表示为float型浮点数时,需要在数字后面加 "f"或者"F"

4. 字符及字符串型字面值

char c1 = 'a';     // 字符型字面值需要用单引号包裹,并且只能为一个字符
String c2 = "abc"; // 字符串型字面值需要用双引号包裹

5. 布尔型字面值

boolean a1 = true;  // 真
boolean a2 = false; // 假

6. 特殊字面值

  1. null:是一种特殊的类型(type),可以将它赋给任何引用类型变量,表示这个变量不引用任何东西。如果一个引用类型变量为null,表示这个变量不可用。
  2. Class literal:它是由类,接口,数组或原始类型的名称或伪类型void组成的表达式,后面紧跟 “.class”。Class literal用于表示类型本身!
System.out.println(String.class);
System.out.println(Integer.class);

out:
class java.lang.String
class java.lang.Integer

7. 数值型字面值中使用下划线

JDK7 以后的版本中,可以在数值型字面值(包括整型字面值和浮点字面值)插入一个或者多个下划线。下划线只能用于分隔数字,不能分隔字符与字符,也不能分隔字符与数字。

int a1 = 123_456;
double a2 = 12_3.4_56;

猜你喜欢

转载自blog.csdn.net/qq_43580193/article/details/109966693
今日推荐