1、课程整体内容概述
本专栏是Java基础的学习笔记,Java基础知识学习路线图解:
第一部分:编程语言核心结构
主要知识点:变量、基本语法、分支、循环、数组、…
第二部分:Java面向对象的核心逻辑
主要知识点:OOP、封装、继承、多态、接口、…
第三部分:开发Java SE高级应用程序
主要知识点:异常、集合、I/O、多线程、反射机制、网络编程、……
2、软件开发介绍
① 软件,即一系列按照特定顺序组织的计算机数据和指令的集合,有系统软件和应用软件之分。
② 人机交互方式
- 图形化界面(Graphical User Interface GUI):这种方式简单直观,使用者易于接受,容易上手操作。
- 命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住一些指令。
③ 常用的DOS命令
- dir:列出当前目录下的文件以及文件夹
- md:创建目录
- rd:删除目录,例:rd /s /q 文件夹名(删除文件夹及其子项)
- cd:进入指定目录
- cd ..:返回上一层目录
- cd /:进入根目录
- del:删除文件,例:del 文件名/文件夹名
- exit:退出dos命令行
-
补充: echo javase>1.doc
3、计算机编程语言介绍
① 什么是计算机语言
计算机语言:人与计算机交流的方式。
② 计算机语言发展迭代史
- 第一代语言:机器语言,指令以二进制码的形式存在。
- 第二代语言:汇编语言,使用助记符表示一条机器指令,例:add 2,3,result
- 第三代语言:高级语言
> 面向过程:C、Pascal、Fortran
>面向对象:Java、JS、Python、Scala...
>面向过程/面向对象:C++
低级语言:开发效率低,运行效率高
高级语言:开发效率高,运行效率低
4、Java语言概述
① Java语言版本迭代概述
- Java SE(Java Standard Edition):标准版,支持面向桌面级应用的平台,提供了完整的Java核心API。
- Java EE(Java Enterprise Edition):企业版,主要针对Web应用程序开发。
- Java ME(Java Micro Edition):小型版,支持Java程序运行在移动终端(手机、PDA)的平台,对Java API有所精简,并加入了对移动终端的支持。
- Java Web开发:后台开发
- 大数据开发
- Android应用程序开发:客户端开发
Java基础是学习Java EE、大数据、Android开发的基石。
5、Java语言运行机制及运行过程
① Java语言的特点
- 特点一:面向对象
> 两个基本概念:类、对象
> 三大特性:封装、继承、多态
- 特点二:健壮性
> 吸收了C/C++语言的优点,去除了指针等影响健壮性的部分
> 增加了自动垃圾回收机制(注:仍可能会出现内存溢出、内存泄露)
- 特点三:跨平台性
>Java语言编写的应用程序在不同的平台上都可以运行,“Write once, Run anywhere”,一次编译,到处运行
>跨平台性归功于JVM(Java Virtual Machine),只需在操作系统上安装相应的JVM,由JVM来负责Java程序在该系统中的运行。
② Java两种核心机制
- Java虚拟机(Java Virtual Machine)
对于不同的平台,有不同的虚拟机,Java虚拟机机制屏蔽了底层运行平台的差别,编译后的字节码文件由Java虚拟机解析并执行,实现了“一次编译,到处运行”。
- 垃圾回收 - 回收不再使用的内存空间(Garbage Collection)
> 在C/C++语言中,由程序员负责回收无用的内存,Java语言消除了程序员回收无用内存空间的责任,它提供一种系统级线程跟踪存储空间的分配情况,并在JVM空闲时,检查并释放那些可以被释放的存储空间。
> 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
6、Java语言环境的搭建
① JDK、JRE、JVM之间的关系
JDK:Java Development Kit,Java开发工具包
JRE:Java Runtime Environment,Java运行环境
DK、JRE、JVM之间的关系图如下:
- JDK = JRE + Java开发工具集(例:javac.exe、javadoc.exe等)
- JRE = JVM + Java SE标准类库
② 下载并安装JDK
- 官网网址
> www.oracle.com
> java.sun.com
- 安装JDK
> 打开网址:Java Downloads | Oracle,找到合适版本的JDK并下载,例:Java Archive Downloads - Java SE 8
> 傻瓜式安装,一直点击“下一步”即可,建议安装路径不要有中文或空格等特殊符号
> 正常情况下,安装完的JDK已包含JRE,但是为了后续使用Eclipse等开发工具不报错,当提示安装JRE时,建议也根据提示安装JRE
③ 配置环境变量path
- path是windows操作系统执行命令所要搜寻的路径,根据windows系统查找可执行程序的原理,想要在全局任何目录下都可以执行java工具集的命令,可以将java工具集所在路径配置到path环境变量中。
- 配置方法:
> 我的电脑 -- 属性 -- 高级系统设置 -- 环境变量 -- 系统环境变量
> 配置JAVA_HOME环境变量,变量值为JDK所在目录,例:D:\Java\jdk1.8.0_131
> 编辑path环境变量,在变量值开始处加上java工具集所在目录(通过JAVA_HOME环境变量表示,例:%JAVA_HOME%\bin;),后面用“;”和其它值分隔开即可。
> WIN + R,输入“cmd”,打开DOS命令行界面,输入“java -version”,正常输出SDK配置信息,则表示配置成功
注:之所以提取并配置环境变量“JAVA_HOME”,是因为Tomcat等工具需要所致。
7、 开发体验 - HelloWorld
① 新建文本文件,命名为HelloWorld,并更改扩展名为.java,Helloworld.java文件用于存放java代码,称为源文件。
② 通过记事本编辑器打开HelloWorld.java文件,敲入以下代码并保存。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
③ 打开DOS命令行,进入HelloWorld.java文件所在目录,通过javac命令对该文件进行编译,并得到字节码文件(例:Xxx.class)。
javac HelloWorld.java
④ 通过java命令运行生成的class文件。
java HelloWorld
8、常见问题及解决方法
以上为可能出现的常见问题,总而言之,学习编程最容易犯的是语法错误 。Java要求你必须按照语法规则编写代码,如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词等,java编译器都会报语法错误,尝试着去看懂编译器报告的错误信息,根据错误信息定位并解决问题。
9、注释(comment)
① Java规范的三种注释方式:
- 单行注释
- 多行注释
- 文档注释(Java特有)
② 注释声明格式
/**
* 文档注释[功能描述]
*
* @author 作者
* @date 创建时间
* @version 源文件版本
*/
public class Comment {
public static void main(String[] args) {
// 单行注释,以“//”标识,只能注释一行内容
/*
这是多行注释
可以注释多行内容
*/
}
}
③ 注释的作用
- 对所写程序进行说明,增强可读性,方便自己,方便他人。
- 调试所写代码。
④ 特点
- 单行注释和多行注释的注释内容不参与编译,换句话说,编译后生成的.class结尾的字节码文件中不包含注释掉的内容。
- 多行注释和文档注释不允许多行注释或文档注释嵌套。
- 文档注释的注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,命令行如下:
javadoc -d mydoc -author -version HelloWorld.java
10、Java API文档
- 下载地址:Java Development Kit 8 Documentation
- 通过查阅Java API文档,可以了解如何使用Java SE类库的类以及类所包含的方法。
11、HelloWorld程序总结
① Java程序编写 - 编译 - 运行的过程:
- 编写:我们将编写的Java代码保存在以“.java”结尾的源文件中。
- 编译:使用javac.exe命令编译我们的源文件,格式:javac 源文件名.java。
- 运行:使用java.exe解析运行我们的字节码文件,格式:java 类名
② 在一个Java源文件中可以声明多个class,但是,最多只能有一个类声明为public,因为编译要求声明为public的类的类名与源文件名相同。
③ Java应用程序的入口是main()方法,它有固定的书写格式:
public static void main(String[] args) {}
④ 每一个执行语句都以“;”结束。
⑤ Java语言严格区分大小写
⑥ 编译Java源文件以后,会生成一个或多个字节码文件,字节码文件名与Java源文件中的类名相同。