Java概述
程序
- 计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
Java API文档
Java的特点
- 面向对象(OOP, Object-Oriented Program)
- 健壮的(强类型机制、异常处理、垃圾回收等)
- 跨平台(一次编译,到处运行)
- 解释型语言
- 解释型语言,编译后的代码,不能直接被机器执行,需要解释器来执行,如
Java, Javascript, PHP
- 编译型语言:编译后的代码, 可以直接被机器执行,如
C/C++
- 解释型语言,编译后的代码,不能直接被机器执行,需要解释器来执行,如
Java的运行机制及运行过程
跨平台性
- 一次编译,到处运行
运行过程
Hello.java
编译javac Hello.class
运行java JVM for Windows/Linux/Mac
Java虚拟机
- JVM(Java Virtual Machine)是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK 中
- 不同的平台(Windows、Linux、Mac···)有不同的虚拟机
JDK
重要
- JDK(Java Development Kit),Java开发工具包
- JDK = JRE + Java的开发工具集(Javac、Java编译工具等)
- JRE = JVM + Java的核心类库
变量
Java数据类型
- 基本数据类型
- 数值型
byte
、short
、int
、long
float
、double
- 字符型
char
- 布尔型
boolean
- 数值型
- 引用数据类型
- 类
class
- 接口
interface
- 数组
[]
- 类
基本数据类型转换
- 自动类型转换
- 强制类型转换
- 基本数据类型和
String
类型的转换
运算符
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 三元运算符
提示
- 短路与
&&
:第一个条件为false,则第二个条件不会判断,最终结果为false,效率高 - 逻辑与
&
:不论第一个条件是否为false,第二个条件都要判断,效率低 - 短路或
||
:第一个条件为true,则则第二个条件不会判断,最终结果为true,效率高 - 逻辑或
|
:不论第一个条件是否为true,第二个条件都要判断,效率低
位运算符
- 按位与
&
- 按位或
|
- 按位异或
^
- 按位取反
~
- 算数右移
>>
:低位溢出,符号位不变,用符号位补溢出的高位 - 算数左移
<<
:符号位不变,低位补0 - 逻辑右移(无符号右移)
>>>
:低位溢出,高位补0
进制转换
- 二进制转 X 进制
- X 进制转二进制
原码、反码和补码
重要
- 二进制的最高位是符号位: 0表示正数,1表示负数
- 正数的原码,反码,补码都一样(三码合一)
- 负数的反码=它的原码符号位不变,其它位取反
- 负数的补码=它的反码+1,负数的反码=负数的补码-1
- 0的反码,补码都是0
- java中的数都是有符号的在计算机运算的时候,都是以补码的方式来运算的
- 当我们看运算结果的时候,要看它的原码
程序控制结构
if-else
switch
for
while
do while
break
continue
return
数组
- 数组的定义:
数据类型[] 数组名 = new 数据类型[数组大小]