一、概述
1.1编程语言
语言 | 特点 |
---|
C、Pascal、Fortran面向过程的语言 | 执行效率高 |
C++面向过程/面向对象 | 执行效率高 |
Java跨平台的纯面向对象的语言 | 开发效率高 |
.NET跨语言的平台 | |
Python、JavaScript、PHP | 解释性语言 |
OC、swift | ios开发 |
1.2Java
Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的
1.2.1Java特点
- 面向对象:
- 健壮:
- 提供了一个相对安全的内存管理和访问机制,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等)
- 跨平台性:
- “Write once , Run Anywhere”
- 在需要运行 java 应用程序的操作系统上,安装一个对应的JVM,由JVM来负责Java程序在该系统中的运行。
1.2.2 两大核心机制
1.2.2.1 JVM
- Java虚拟机 (JVM Java Virtual Machine):是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
- 对于不同的平台,有不同的虚拟机。
1.2.2.2 Garbage Collection
- Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 在C/C++等语言中,由程序员负责回收无用内存。
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- Java程序还会出现内存泄漏和内存溢出问题,例如数组越界。
1.2.3 Java运行机制
1.2.4 JDK、JRE
- JDK (Java Development Kit Java开发工具包)
- JDK = JRE + 开发工具集(例如Javac编译工具等)
- JRE (Java Runtime Environment Java运行环境)
- JRE = JVM + Java SE标准类库
1.2.5 API
- 习惯上:将语言提供的类库,都称为API
- Application Programming Interface
1.2.6 UML类图
- Unified Modeling Language 统一建模语言
- 一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言
- 类图显示了一组类、接口、协作以及他们之间的关系
二、never write “HelloWord”
2.1 常用DOS命令
命令 | 功能 |
---|
dir | 列出当前目录下的文件以及文件夹 |
md | 创建目录 |
rd | 删除目录 |
cd | 进入指定目录 |
cd. . | 退回到上一级目录 |
cd\ | 退回到根目录 |
del | 删除文件 |
exit | 退出 dos 命令行 |
↑ ↓ | 调阅历史操作命令 |
2.2 开发步骤
- 将 Java 代码编写到扩展名为 .java 的文件中
- javac
- java
2.2.1 编写
- 一个文件中可以有多个类,最多有一个public类
- public类只能加在和文件名同名的类型名
- 程序入口是main方法,格式固定:public.static.void.main(String[] args){}
- 输出语句:
System.out.println(“hello”); // 先输出,后换行
System.out.println(); // 换行
System.out.print(“hello”); - 每行执行语句都以 ; 结束
2.2.2 编译
- 文件有多个类则会生成多个字节码文件,“字节码文件名”为“类名”
三、注释
3.1 单行&多行注释
- 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行
3.2 文档注释
- 文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形 式体现的该程序的说明文档