Java 基础语法
[toc]
参考教程
介绍
Java 许多语法跟 C/C++,比较相似。本人学习过 C/C++/Python , 因此仅记录 Java 语法特有的部分。
基础语法
- 类名: 类名首字母应该大写
- 方法名: 所有方法名首字母应该小写
- 源文件名:源文件名应该与其唯一的公有类名相同,文件名后缀为
.java
- 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行
- 标识符: 可以以字母、美元符、下划线开始,之后可以是字母、数字、下划线、美元符的任意组合
- 访问控制修饰符: default, public , protected, private
- 非访问控制修饰符: final, abstract, static, synchronized
类和对象
源文件声明规则
- 如果一个类定义在某个包中,那么package语句应该在源文件的首行。
- 如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
- import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
- Import语句是用来提供一个合理的路径,使得编译器可以找到某个类。
基本类型
内置数据类型
-
byte
: byte 数据类型是8位、有符号的,以二进制补码表示的整数; -
boolean
:boolean 数据类型表示一位的信息;只有两个取值:true 和 false;默认值是 false -
char
:char 类型是一个单一的 16 位 Unicode 字符;
引用类型
- 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是null。
- 一个引用变量可以用来引用任何与之兼容的类型。
Java 常量
- 在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似
- 为了便于识别,通常使用大写字母表示常量
Java 变量类型
局部变量
- 访问修饰符不能用于局部变量
- 局部变量是在栈上分配的
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
实例变量
- 实例变量可以声明在使用前或者使用后
- 访问修饰符可以修饰实例变量
类变量(静态变量)
- 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外
- 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
- 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变
Java 修饰符
static 修饰符
-
静态变量
-
静态方法
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据
final 修饰符
-
final 变量
final 表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值。
-
final 方法
类中的 final 方法可以被子类继承,但是不能被子类修改
-
final 类
final 类不能被继承,没有类能够继承 final 类的任何特性
abstract 修饰符
-
抽象类
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充
-
抽象方法
抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供
synchronized 修饰符
synchronized 关键字声明的方法同一时间只能被一个线程访问
transient 修饰符
序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量
volatile 修饰符
volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值
Java 运算符
位运算符
-
>>>
: 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充
instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
Java 循环结构
-
Java 增强 for 循环
for(声明语句 : 表达式) { //代码句子 }
增强型
for
(foreach
语句)可以用于遍历容器类型
Java 数组
- Java 语言中提供的数组是用来存储固定大小的同类型元素
- 动态初始化,数组大小可由变量指定
声明数组变量
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
- 给数组赋值:通过 fill 方法
- 对数组排序:通过 sort 方法,按升序
- 比较数组:通过 equals 方法比较数组中元素值是否相等
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作
总结——思维导图
![](https://img.haomeiwen.com/i8894175/2f40d1716d091742.png)
网友评论