Java 语法学习笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/makingLJ/article/details/86482584

Java 语法学习笔记(一)

Java 基础语法


参考教程

菜鸟教程 — Java 教程

IBM — Java 编程简介,第 1 部分

C语言中文网 — Java编程规范

介绍

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

Java 平台概述

Java 语言

Java 语言是 C 语言的一种衍生语言,所以它的语法规则与 C 非常相似。

在结构上,Java 语言以包作为开头。包是 Java 语言的名称空间机制

Java SE

Java SE 允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java EE 提供基础,如 Java 语言基础、JDBC 操作、I/O 操作、网络通信以及多线程等技术

Java EE

Java EE 是在 Java SE 基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和 Web 2.0 应用程序

Java ME

Java ME 包括灵活的用户界面、健壮的安全模型、丰富的内置网络协议以及对可以动态下载的联网和离线应用程序

Java 编译器

编译器依据语言的语法规则来检查代码,然后将字节码写入 .class 文件中(字节码是一组将在 Java 虚拟机 (JVM) 上运行的指令)

JVM

在运行时,JVM 读取并解释 .class 文件,JVM 像 CPU 解释汇编语言指令一样解释字节码

Java Development Kit (JDK)

JDK提供编译器和其他工具,以及包含预构建的实用程序的完整类库

Java 运行时环境 (JRE)

JRE 包含运行使用 Java 语言编写的程序所需的 JVM、代码库和运行用 Java 语言编写的程序所需的组件,JRE 包含在 JDK 中

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 方法能对排序好的数组进行二分查找法操作

总结——思维导图

思维导图

猜你喜欢

转载自blog.csdn.net/makingLJ/article/details/86482584