Java语言特点 #
- 跨平台;与平台无关:
一次编写,随处运行
平台:操作系统 - 面向对象: 面向对象语言三大特点
封装、继承、多态
- 简单:
- 多线程机制:
- 健壮性:鲁棒性: 二次检查,异常机制
- 分布式: RMI : remote method interface, restful-api. 微服务
- 内存管理机制:JVM的垃圾回收 GC
- JVM: java virtual Machine ;java 虚拟机(用内存去模拟物理的计算机)
- 安全性: 自带了安全框架java.security包。 字节码校验
三种类加载器:ClassLoader #
- BootstrapClassLoader : 加载基础类库: java.lang .. (rt.jar)
- 子类ExtClassLoader: 基础类库 ext/目录官方扩展
extends
- 孙子类 AppClassLoader: 应用类库: 自己写的,第三方的库 `application
JDK: java development kit : java开发工具包 #
- bin: 工具包 java,javac, javap , jconsole,javadoc。。。
- db: database:数据库 derby jdk1.6之后内置数据库,测试用
- include: 本地的c的头文件
- jre:java runtime environment ; java运行时环境
- 只想运行java程序的时候,只需要JRE就可以了
- jvm是属于JRE
- lib: 放依赖的 jar库。
- src.zip: jdk源码
- javafx-src.zip: javaFX新的GUI(用户图形化界面)
jdk > jre > jvm
关键字 #
| ---------- | ------------------------------------ | ------------ | ------------------------- |
| class | 定义类 | protected | 保护的 |
| interface | 定义接口 | public | 公有的 |
| byte | 字节 | abstract | 抽象的 |
| short | 短整型 | final | 最终 |
| int | 整型 | static | 静态的 |
| long | 长整型 | synchronized | 同步锁 |
| float | 单精度浮点型 | extends | 继承, 扩展extclassloader |
| double | 双精度浮点型 | implements | 实现接口, |
| char | 字符型 | new | 开辟堆空间 |
| boolean | 布尔型 | this | 当前引用地址 |
| void | 无返回值方法修饰符 | super | 调用父类 |
| ture | 真 | instanceof | 隶属于 |
| false | 假 | try | 捕获异常语法,试图 |
| null | 空对象 | catch | 捕获 |
| if | 如果 | finally | 最终的 |
| else | 其他if..else | throw | 抛出对象 |
| switch | 开关,分支语句switch..case ..default | throws | 抛出类 |
| case | 示例 | package | 包 |
| default | 默认的 | import | 引入 |
| while | 当。。的时候。 循环语句 | native | 本地的 |
| do | 做 | strictfp | 严格的浮点型格式 |
| for | 循环 | transient | 不参与序列化 |
| break | 跳出本层循环, 断 | volatile | 共享属性锁, |
| continue | 跳过本次循环, 继续 | assert | 断言 |
| return | 返回值,结束void方法 | const | 保留字: 常量修饰 |
| private | 私有的 | goto | 过程语法跳转到。。 |
标识符: #
由字母、数字、_和$组成。 定义变量,类名,方法名。。
※必须字母、_、$开头
–规约– #
- 包名: 全小写
- 类名: 首字母大写,驼峰 HelloWorld
- 变量名: 首字母小写, 驼峰
- 方法名: 首字母小写,驼峰
- 常量:全大写 Math.PI HELLO_WORLD
变量和常量的定义 #
变量的定义: #
类型 变量名
定义时不赋值
类型 变量名 = 值
定义时赋值
常量: #
final修饰的变量就是常量
final 类型 常量名 = 值
一般情况下常量定义时赋值
java的注释 #
- 行注释 // 注意空格
- 多行注释 /* */
- javadoc注释 /** */ 修饰类,修饰方法和全局变量 , 用于生成javadoc文档
package test01;
/**
* 这是一个无意义的类,只有main方法
* @author zhazong710
* @version 1.0
*/
public class TestMain2 {
/**
* 这是启动方法
* @param args 参数
*/
public static void main(String[] args) {
// 行注释
String name = "zha"; // 行注释
/*
* 多行注释
*/
System.out.println("welcome, " + name);
name = "zong";
System.out.println("welcome, " + name);
}
}