01--Java基础
1、Java语言概述
1.1 Java概述
1.1.1 Java发展史
Java是美国 Sun 公司(Stanford University Network)在1995年推出的计算机编程语言,后被Oracle公司收购。
Java 早期称为Oak(橡树),后期改名为Java。
Java 之父:詹姆斯·高斯林(James Gosling)。
1.1.2 Java特点
简单性
可移植性(跨平台)
健壮性
面向对象
多线程
安全性
分布式
动态性
开源
社区完善
1.2 Java跨平台
1.2.1 Java跨平台原理
只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
1.2.2 Java跨平台图解
1.2.3 总结
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的可移植性。也称为Java具有良好的跨平台性。
1.3 JDK JRE和JVM
JDK:(Java Development Kit)Java开发工具包
JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 执行工具(java.exe) 打包工具(jar.exe)等
JRE:(Java Runtime Environment)Java运行环境
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JVM:(Java Virtual Machine)Java虚拟机
整个Java实现跨平台的最核心的部分,保证程序的跨平台性,以及编译执行写好的java程序!
2、JDK的下载安装与配置
JDK是Java的产品,现在需要在Orcale官网下载。
JDK安装时建议安装在无中文无空格目录下。
安装后,bin包在存在2个重要的命令,分别是javac,java ,java -version
3、HelloWorld案例
编写代码:
第一个程序的代码如下:
注意:文件名称必须与代码中的类名称一致。
编译代码、运行代码
编译:javac 文件名.java
范例:javac HelloWorld.java
运行:java 类名
范例:java HelloWorld
4、DOS命令
4.1 常用的DOS命令
常用操作 | 功能 |
---|---|
D: | 盘符切换 |
dir | 查看当前目录 |
md | 创建目录(计算机中只有目录(文件夹)和文件) |
rd | 删除目录 |
echo > a.txt | 创建文件 |
del | 删除文件 |
cd | 指定进行目录 |
cd… | 退回上一级目录 |
cd\ | 退回当前盘符的根目录 |
cls | 清屏 |
calc | 打开计算器 |
notepad | 打开记事本 |
control | 打开控制面版 |
services.msc | 打开服务 |
exit | 退出dos |
5、标识符
5.1 标识符命名规则
指示符只能由字母、数字、_、$组成
数字不能在首位
标识符不能是关键字和保留字
标识符区分大小写
标识符不能包含空格
5.2 标识符命名规范
包名全小写
类名大驼峰式命名法,例如StudentInfo类
变量名、方法名、参数名小驼峰命名法,例如studentName,getStudentInfo
常量名全大写且单词之间以下划线分割,例如STUDENT_NAME
6、注释
注释就是解释说明代码的文字,不对程旭产生任何的影响。
三种注释:
单行注释: //…
多行注释: / 注释内容可以多行 /
文档注释: /**
注释内容可以多行,一般用在类上,方法上 /
多行注释不能嵌套使用
public class NoteDemo {
/**
我是文档注释
这是一个main方法
程序必须写这个方法才可以跑起来
*/
public static void main(String[] args) {
// 输出一行内容
// 我是单行注释
System.out.println("单行注释~~");
/*
我要输出很多行内容
看看多行注释是否可以使用
我是多行注释
*/
System.out.println("多行注释!");
System.out.println("多行注释!");
System.out.println("多行注释!");
}
}
7、ASCII编码表
作用:美国为西方文字:英文、数字进行的一套编号规则。例如:a–97、A–65、0–48.
为什么要给字符编号吗?
计算机要存字符,但是又不能直接存储字符,只能存储字符编号的二进制形式。
public class ASCIIDemo4 {
public static void main(String[] args) {
char ch = 'a'; //
// ch = 00000000 01100001
System.out.println(ch + 10); // 97 + 10
}
}
结论:字符在计算机底层其实可以当整数使用的!
8、Java API 文档
API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
Java语言提供了大量的基础类,因此 Oracle也为这些基础类提供了相应的说明文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。大多数Java书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料。
9、Java核心机制:JVM
功能1:实现Java程序的跨平台性
我们编写的Java代码,都运行在JVM 之上。正是因为有了JVM,才使得Java程序具备了跨平台性。
使用JVM前后对比:
功能2:自动内存管理(内存分配、内存回收)
● Java程序在运行过程中,涉及到运算的数据的分配、存储等都由JVM来完成
● Java消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况,在内存空间达到相应阈值时,检查并释放可被释放的存储器空间。
● GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏。