Java 语法学习笔记(一)

Java 基础语法


[toc]

参考教程

菜鸟教程 --- Java 教程

介绍

Java 许多语法跟 C/C++,比较相似。本人学习过 C/C++/Python , 因此仅记录 Java 语法特有的部分。

基础语法

  1. 类名: 类名首字母应该大写
  2. 方法名: 所有方法名首字母应该小写
  3. 源文件名:源文件名应该与其唯一的公有类名相同,文件名后缀为 .java
  4. 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行
  5. 标识符: 可以以字母、美元符、下划线开始,之后可以是字母、数字、下划线、美元符的任意组合
  6. 访问控制修饰符: default, public , protected, private
  7. 非访问控制修饰符: final, abstract, static, synchronized

类和对象

源文件声明规则

  1. 如果一个类定义在某个包中,那么package语句应该在源文件的首行。
  2. 如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
  3. import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
  4. Import语句是用来提供一个合理的路径,使得编译器可以找到某个类。

基本类型

内置数据类型

  1. byte: byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  2. boolean:boolean 数据类型表示一位的信息;只有两个取值:true 和 false;默认值是 false
  3. char:char 类型是一个单一的 16 位 Unicode 字符;

引用类型

  1. 对象、数组都是引用数据类型。
  2. 所有引用类型的默认值都是null。
  3. 一个引用变量可以用来引用任何与之兼容的类型。

Java 常量

  1. 在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似
  2. 为了便于识别,通常使用大写字母表示常量

Java 变量类型

局部变量

  • 访问修饰符不能用于局部变量
  • 局部变量是在栈上分配的
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用

实例变量

  • 实例变量可以声明在使用前或者使用后
  • 访问修饰符可以修饰实例变量

类变量(静态变量)

  • 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
  • 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变

Java 修饰符

static 修饰符

  1. 静态变量

  2. 静态方法

    static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据

final 修饰符

  1. final 变量

    final 表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值。

  2. final 方法

    类中的 final 方法可以被子类继承,但是不能被子类修改

  3. final 类

    final 类不能被继承,没有类能够继承 final 类的任何特性

abstract 修饰符

  1. 抽象类

    抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充

  2. 抽象方法

    抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供

synchronized 修饰符

synchronized 关键字声明的方法同一时间只能被一个线程访问

transient 修饰符

序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量

volatile 修饰符

volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值

Java 运算符

位运算符

  • >>> : 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充

instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)

Java 循环结构

  • Java 增强 for 循环

    for(声明语句 : 表达式)
    {
        //代码句子
    }
    

    增强型 for (foreach 语句)可以用于遍历容器类型

Java 数组

  1. Java 语言中提供的数组是用来存储固定大小的同类型元素
  2. 动态初始化,数组大小可由变量指定

声明数组变量

dataType[] arrayRefVar;   // 首选的方法

或

dataType arrayRefVar[];  // 效果相同,但不是首选方法

Arrays 类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

  • 给数组赋值:通过 fill 方法
  • 对数组排序:通过 sort 方法,按升序
  • 比较数组:通过 equals 方法比较数组中元素值是否相等
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作

总结——思维导图

思维导图.png

你可能感兴趣的:(Java 语法学习笔记(一))