跟着贝恩学Java-第二章 Java语法基础

Java语法基础

1.Java中常用的48个关键字和2个保留字

​ 所谓关键字,意思就是说在行业内具有特殊含义的词语,比如我们足球运动中的"越位"这个词语就是关键字,这个关键字只要是足球运动员都要懂。那么我们Java中也有关键字,以下关键字Java程序员都要明白是什么意思

在这里插入图片描述

按照首字母的自然顺序排列

1.abstract: 用于声明抽象类,以及抽象方法。
2. boolean: 用于将变量声明为布尔值类型,只有 true 和 false 两个值。
3. break: 用于中断循环或 switch 语句。
4. byte: 用于声明一个可以容纳 8 个比特的变量。
5. case: 用于在 switch 语句中标记条件的值。
6. catch: 用于捕获 try 语句中的异常。
7. char: 用于声明一个可以容纳无符号 16 位比特的 Unicode 字符

的变量。

8.class: 用于声明一个类。

9.continue: 用于继续下一个循环,可以在指定条件下跳过其余代码。

10.default: 用于指定 switch 语句中除去 case 条件之外的默认代码块。

11.do: 通常和 while 关键字配合使用,do 后紧跟循环体。

12.double: 用于声明一个可以容纳 64 位浮点数的变量。

13.else: 用于指示 if 语句中的备用分支。

14.enum: 用于定义一组固定的常量(枚举)。

15.extends: 用于指示一个类是从另一个类或接口继承的。

16.final: 用于指示该变量是不可更改的。

17.finally:try-catch 配合使用,表示无论是否处理异常,总是执行 finally 块中的代码。

18.float: 用于声明一个可以容纳 32 位浮点数的变量。

19.for: 用于声明一个 for 循环,如果循环次数是固定的,建议使用 for 循环。

20.if: 用于指定条件,如果条件为真,则执行对应代码。

21.implements: 用于实现接口。

22.import: 用于导入对应的类或者接口。

23.instanceof: 用于判断对象是否属于某个类型(class)。

24.int: 用于声明一个可以容纳 32 位带符号的整数变量。

25.interface: 用于声明接口。

26.long: 用于声明一个可以容纳 64 位整数的变量。

27.native: 用于指定一个方法是通过调用本机接口(非 Java)实现的。

28.new: 用于创建一个新的对象。

29.null: 如果一个变量是空的(什么引用也没有指向),就可以将它赋值为 null,和空指针异常息息相关。

30.package: 用于声明类所在的包。

31.private: 一个访问权限修饰符,表示方法或变量只对当前类可见。

32.protected: 一个访问权限修饰符,表示方法或变量对同一包内的类和所有子类可见。

33.public: 一个访问权限修饰符,除了可以声明方法和变量(所有类可见),还可以声明类。main() 方法必须声明为 public。

34.return: 用于在代码执行完成后返回(一个值)。

35.short: 用于声明一个可以容纳 16 位整数的变量。

36.static: 表示该变量或方法是静态变量或静态方法。

37.strictfp: 并不常见,通常用于修饰一个方法,确保方法体内的浮点数运算在每个平台上执行的结果相同。

38.super: 可用于调用父类的方法或者字段。

39.switch: 通常用于三个(以上)的条件判断。

40.synchronized: 用于指定多线程代码中的同步方法、变量或者代码块。

41.this: 可用于在方法或构造函数中引用当前对象。

42.throw: 主动抛出异常。

43.throws: 用于声明异常。

44.transient: 修饰的字段不会被序列化。

45.try: 于包裹要捕获异常的代码块。

46.void: 用于指定方法没有返回值。

47.volatile: 保证不同线程对它修饰的变量进行操作时的可见性,即一个线程修改了某个变量的值,新值对其他线程来说是立即可见的。

48.while: 如果循环次数不固定,建议使用 while 循环

除了这些关键字,Java 中还有两个非常特殊的保留字(goto 和 const),它们不能在程序中使用。

goto 在 C语言中叫做‘无限跳转’语句,在 Java 中,不再使用 goto 语句,因为无限跳转会破坏程序结构。

const 在 C语言中是声明常量的关键字,在 Java 中可以使用 public static final 三个关键字的组合来达到常量的效果。

2.Java命名规范

2.1 标识符

什么是标识符,比如我们的姓名对于我们来说就是标识符,其他人可以通过姓名来认识我们,还有衣服上的吊牌上面有各种说明比如品名、货号等等也是标识符。标识符就是指程序中包,类,接口,枚举,属性或方法的名字。

以下是现实生活中的标识符

在这里插入图片描述

2.1 标识符命名规范

​ 上面说了什么是标识符,那么标识符可以随便命名吗?显然是不可以的,比如我们在取名字的时候肯定是经过深思熟虑,我们姓什么,名字叫什么都是按照一定的规则来起名字。那么我们Java中的标识符肯定也是这样,接下来我们一起看标识符的命名规范吧!

2.1.1 Java语言要求标识符必须符合以下命名规范:

1.标识符的首字母必须是字母、下划线_、$或者¥

2.标识符由数字(0-9)、从A-Z的大小写字母、下划线_以及美元符和$组成

3.不能把关键字和保留字作为标识符

4.标识符没有长度的限制

5 标识符是大小写敏感的,这意味着,hello、Hello、HELLO是3个不同的标识符

2.2 包(package)

包的命名应该遵守以下规则:

  • 应该全部是小写字母
  • 点分隔符之间有且仅有一个自然语义的英语单词
  • 包名统一使用单数形式,比如说 com.beien.util 不能是 com.beien.utils
  • 在最新的 Java 编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名是不会重复的,所以多数开发人员采用自己公司(或者个人博客)在互联网上的域名称作为包的唯一前缀。比如我文章中出现的代码示例的包名就是 package com.beien

2.3 类(class)

类的命名应该遵守以下规则:

  • 必须以大写字母开头
  • 最好是一个名词,比如说 ArrayList
  • 类名使用 UpperCamelCase(驼峰式命名)风格
  • 尽量不要省略成单词的首字母,但以下情形例外:BO/DTO/VO/PO 等

另外,如果是抽象类的话,使用 Abstract 或 Base 开头;如果是异常类的话,使用 Exception 结尾;如果是测试类的话,使用 Test 结尾。

2.4 接口(interface)

接口的命名应该遵守以下规则:

  • 必须以大写字母开头
  • 最好是一个形容词,比如说 Map
  • 尽量不要省略成单词的首字母

来看个例子:

interface Map {}

接口和实现类之间也有一些规则:

  • 实现类用 Impl 的后缀与接口区别,比如说 CacheServiceImpl 实现 CacheService 接口
  • 或者,AbstractMap实现 Map 接口

2.5 字段(field)和变量(variable)

字段和变量的命名应该遵守以下规则:

  • 必须以小写字母开头
  • 可以包含多个单词,第一个单词的首字母小写,其他的单词首字母大写,比如说 firstName
  • 最好不要使用单个字符,比如说 int a,除非是局部变量
  • 类型与中括号紧挨相连来表示数组,比如说 int[] arrayDemo,main 方法中字符串数组参数不应该写成 String args[]
  • POJO 类中的任何布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误,我自己知道的有 fastjson
  • 避免在子类和父类的成员变量之间、或者不同代码块的局部变量之间采用完全相同的命名,使可理解性降低。子类、父类成员变量名相同,即使是 public 类型的变量也能够通过编译,另外,局部变量在同一方法内的不同代码块中同名也是合法的,这些情况都要避免。

2.6 常量(constant)

常量的命名应该遵守以下规则:

  • 应该全部是大写字母
  • 可以包含多个单词,单词之间使用“_”连接,比如说 MAX_PRIORITY,力求语义表达完整清楚,不要嫌名字长
  • 可以包含数字,但不能以数字开头

来看个例子:

static final int MIN_SIZE = 20;  

2.7 方法(method)

方法的命名应该遵守以下规则:

  • 必须以小写字母开头
  • 最好是一个动词,比如说 print()
  • 可以包含多个单词,第一个单词的首字母小写,其他的单词首字母大写,比如说 doAction()

来看个例子:

void writeContent(){}

Service/DAO 层的方法命名规约:

  • 获取单个对象的方法用 get 做前缀
  • 获取多个对象的方法用 list 做前缀,复数结尾,如:listObjects
  • 获取统计值的方法用 count 做前缀
  • 插入的方法用 save/insert 做前缀
  • 删除的方法用 remove/delete 做前缀
  • 修改的方法用 update 做前缀

3.Java注释

​ 大家肯定都买过电子产品,比如手机,单反相机,电视机,冰箱,扫地机器人等等这些产品是不是都有使用说明书,当有不知道怎么使用的情况下我们就可以拿使用说明书来看,按照上面的说明一步步的操作。我们Java中也有说明书,这个说明书就是注释,可以用来对类,接口,枚举,方法,属性的用途加以说明。

以下图是现实生活中的注释

3.1 Java的注释分为以下几种

在这里插入图片描述

3.1.1 单行注释
public class Helloworld {
    public static void main(String[] args) {
        //这是单行注释,注释单行内容
        System.out.println("跟着贝恩学Java!");
    }
}
3.1.2 多行注释
public class Helloworld {
    public static void main(String[] args) {
        /*
         * 这是多行注释,可以注释多行内容
         */
        System.out.println("跟着贝恩学Java!");
    }
}
3.1.3 文档注释
public class Helloworld {
    public static void main(String[] args) {
        /**
         *这是文档注释,可以注释多行内容,并能生成文档
         */
        System.out.println("跟着贝恩学Java!");
    }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值