为什么学习 java
Java 是 Sun Microsystems 于 1995 年推出的高级编程语言
Java 领域的 JavaSE、JavaEE 技术已发展成为同 C#和.NET 平分天下的应用软件开发平台和技术
java 语言的特点
- 跨平台性;一处编写,处处运行.
- 面向对象(三大特征);封装.继承.多态.
- 健壮性;强类型机制,异常处理机制,自动垃圾回收机制
- 分布式;
- 多线程;
- 动态性;
JVM(Java Virtual Machine)介绍
JVM 称为 java 虚拟机;
JVM 可以理解为 Java 编译器和操作系统之间的虚拟处理器;
- 编译器编译的字节码只要 JVM 认识即可
- JVM 再将字节码解释成操作系统认识的机器码
只要需要运行 Java 程序的设备,都需要安装 JVM
JDK 与 JRE
- JDK 是 Java 开发工具包(Java Development Kit)的简称,是一个软件;
如果要用 Java 语言编写程序,就必须在计算机上安装 JDK; - JRE 是 Java 运行环境(Java Runtime Environment)的简称
如果要在机器上运行 Java 程序,就必须要有 JRE;
JDK 的一些常用工具
- javac: 编译器,将源程序转为字节码;
- java: 运行编译后的 java 程序(.class 后缀的);
- jar: 打包工具,将相关的类文件打包成一个文件;
- javadoc: 文档生成器,从源码注释中提取文档;
Java 项目结构
src 目录:存放包和源文件
JRE 系统库目录:存放程序运行必须的系统库文件
bin 目录:存放可执行的字节码文件
注释
文本注释:
1 | /** |
标识符命名规则
- 某一个区域中是唯一的,在不同的区域中可以使用同一名字
- 必须由字母、数字、下划线和$符号组成
- 不能以数字开头
- 不能使非法的字符,如:#,%……“&等
- 不能使系统关键字
- 不能使空格来分隔
- 长度无限制
- 严格区分大小写
- 不同的标识符有一定的命名规矩,后续学习
成员变量和局部变量的区别
成员变量是作用于整个类,局部变量作用于某个方法,局部变量没有默认值,必须初始化,成员变量有默认值.
数据类型
数据类型分为基本数据类型和引用数据类型;
- 数据类型(8 个基本数据类型):byte, short, int, long, float, double, boolean, char
- 引用数据类型:String, 数组, 接口, 类, 枚举, 包装类型
String、StringBufferStringBuilder 的区别
String类是不可变的,对象一旦被创建,就不能被修改;可以使用=直接赋值,此时使用常量池;也可以使用 new 创建,不使用常量池;
StringBuffer是可变的,对象创建后,可以修改;必须使用 new 关键字;
StringBuilder是不同步的,在单线程情况下使用比 StringBuffer 高效;必须使用 new 关键字;
堆,栈,常量池,方法区
基本数据类型保存在栈中,引用数据类型保存在堆中;
堆:存放所有 new 出来的对象
栈:存放基本类型的变量数据和对象的应用
方法区:包含所有的 class 和 static 变量
常量区:存放基本类型和字符串常量
运算符
从功能角度分,Java 中的运算符可以分为算术、关系、位、逻辑运算符四类
算术运算符:用来对操作数进行数学运算.
关系运算符:又叫比较运算符,用来运算操作两个数的大小关系.
位运算符:针对操作数的二进制位进行运算
逻辑运算符:针对布尔值或返回值为布尔值的表达式进行运算