第一章 Java 语言概述
软件开发介绍
常用 DOS 命令
- 盘符: : 切换盘符
C: \users\weili>d: // 直接切换到D盘 D:\> - dir: 列出当前目录下的文件及文件夹
D:\>dir // directory 目录 - md: 创建目录
// make directory D:\>md java - rd: 删除目录
// remove directory D:\java\class1>rd team2 // rd 只能删除空文件夹 D:\java\class1> D:\java\class1>del team1 // del 删除 team1目录下的所有文件 D:\java\class1>rd team1 // 删除 team1空文件目录 - cd: 进入指定目录
D:\>cd d:\java // 进入D盘下的java文件夹中 d:\java> - cd.. : 退回到上级目录
D:\java>cd.. // cd..退回到上级目录 D:\> - cd: 退回到根目录
D:>cd java\class1\team1 D:\java\class1\team1> D:\java\class1\team1>cd\ // 退回到根目录下 D:\> - echo 文件内容>1.doc : 创建一个文件类型为doc名称为1的内容为name:li,age=23的文件
D:\java\class1\team1>echo name:li,age=23>1.doc - del: 删除文件
D:\java\class1\team1>del 1.doc // 删除所有以 .txt 结尾的文件 D:\java\class1\team1>del *.txt // * 通配符 - exit: 退出dos命令行
计算机编程语言介绍
第一代语言
- 机器语言: 指令以二进制代码形式存在
第二代语言
-
汇编语言: 使用助记符表示一条机器指令
add 2,3,result -> 汇编器 -> 110110101001101
第三代语言: 高级语言
- C、Pascal 等面向过程的语言
- C++ 面向过程、面向对象
- Java 跨平台的纯面向对象的语言
- .NET跨语言的平台
- Pythpn、Scala...
Java语言概述
后台开发
- java、PHP、Python、Go、Node.js
Java 技术体系平台
-
Java Standard Edition 标准版(很少)
支持面向桌面级应用的Java平台
-
Java Enterprise Edition 企业版
开发企业级环境下的应用程序
-
Java Micro Edition 小型版(Android应用)
开发程序运行在移动端(手机、PDA)上的平台
运行机制及运行过程
Java 语言的特点
-
面向对象
- 两个基本概念: 类、对象(4-6章)
- 三大特征: 封装、继承、多态
-
健壮性
- 吸收了C/C++语言的优点,去掉了影响程序健壮性的部分(指针,内存的声明与释放),提供了一个相对安全的内存管理和访问机制
-
跨平台性: write once, run anywhere
-
跨平台性: Java编写的程序在不同的系统平台上都可以运行
-
原理: 只需在运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM)即可,由JVM来负责Java程序在该系统中的运行
-
Java 两种核心机制
- Java 虚拟机(Java Virtal Machine)
- 垃圾回收机制(Garbage Collection)
Java 环境搭建
JDK、JRE
JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包含了JRE,所以安装了JDK,就不用单独安装JRE了
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机和Java程序所需的核心类库等,如果要想运行一个开发好的Java程序,计算机只需要安装JRE即可
简单理解,使用JDK的开发工具完成的java程序,交给JRE去运行
- JDK = JRE + 开发工具集
- JRE = JVM + Java SE标准类库
JDK 安装文件目录介绍
-
bin: 开发工具
- javac.exe 编译时用到的命令
- java.exe 解释运行时用到的命令
- javadoc.exe 生成一个以网页形式存在的文档时的指令
-
db: Java实现的数据库文件
-
include: 包含使用C语言编写的头文件
-
jre: Java运行时环境
-
lib: 包含一些jar包
-
src.zip: 存放一些Java开源的代码
开发体验 - HelloWorld
- 新建helloworld.java
- 通过javac命令对该java文件进行编译
- 通过java命令对生成的class文件进行运行
.java文件(源文件) -> javac.exe(编译) -> .class文件(字节码文件) -> java.exe(运行) -> 结果
class HelloChina {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
常见问题及解决方法
- 使用 javac 命令时必须写文件的全称,包括后缀
- 使用 java 命令运行对应的class文件时,区分文件的大小写
- 每条语句后面必须加分号(;)
注释(comment)
对编写的代码进行解释说明
- 单行注释:
// - 多行注释:
/* 多行文本 */ - 文档注释(java特有)
/** @author @version ... */
Java API文档
良好的编程风格
行尾风格
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!")
}
}
正确的缩进和空白
2 + 4 * 5
正确的注释和注释风格
- 单行注释
- 多行注释
常用的Java开发工具
- 记事本
- UltraEdit
- NotePad
- EditPlus
- Eclipse
- IntelliJ IDEA
总结
java程序 编写 - 编译 - 运行 的过程
- 编写: 将编写的java代码保存在以
.java结尾的源文件中 - 编译: 使用
javac命令编译我们的java源文件。格式: javac 源文件名.java - 运行: 使用
java命令解释运行我们的字节码文件。格式: java 类名
在一个java源文件中可以声明多个class
- 但是,只能有一个类声明为public
- 而且要求声明为public类的类名必须与源文件名相同
程序的入口是 main() 方法,格式是固定的
输出语句:
- System.out.println("文本"): 先输出数据,然后换行
- System.out.print("文本"): 只输出数据
每一行执行语句都以分号 ";"结束
编译过程:
- 编译后,会生成一个或多个字节码文件
- 字节码文件的文件名与java源文件中的类名class相同
复习
JDK、JRE、JVM 三者之间的关系
- JDK = JRE + Java的开发工具集(javac、java、javadoc 等)
- JRE = JVM + Java核心类库
环境变量的配置
- JAVA_HOME = bin的上层目录
- path = %JAVA_HOME%\bin
常用命令操作符
- 盘符: - 切换到指定盘符
- cd\ - 切换到文件的根目录
- cd.. - 切换到文件的上一层目录
- cd 文件 - 切换到指定文件中
- dir - 查看本文件夹中的目录
- md 文件夹名 - 创建一个文件夹
- rd 文件夹名 - 删除一个空文件夹
- del 文件名 - 删除指定文件
- exit - 退出DOS
创建如下类,并输出
// Person.java
class Person {
public static void main (String[] args) {
System.out.println("name: lv\n"); // \n 换行
// System.out.println() === \n
System.out.println("gender: man");
System.out.print("address: HeBei");
}
}
// name: lv
// gender: man
// address: HeBei
上述程序的运行指令
- 编译: javac Person.java(源码文件)
- 运行: java Person.class(字节码文件)
- 编译报错主要检查语法是否错误
- 运行报错主要检查功能是否有缺陷