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 应用程序

扫描二维码关注公众号,回复: 5958450 查看本文章

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