1.1JavaSE
1.1.1 JavaSE知识图解
1.1.2 JavaSE知识模块介绍
- 第一部分:计算机编程语言核心结构:数据类型、运算符、流程控制、数组......
- 第二部分:Java面向对象核心逻辑:类和对象、封装、继承、多态、抽象、接口......
- 第三部分:JavaSE核心高级应用:集合、I/O、多线程、网络编程反射机制......
- 第四部分:Java新特性:Lambda表达式、函数式编程、新Date/Time API、接口的默认、静态和私有方法.......
- 第五部分:MySQL/JDBC核心技术:SQL语句、数据库连接池、DBUtils、事务管理、批处理......
1.2常用DOC命令
- 常用命令
命令 | 操作符号 |
盘符切换命令 | 盘符名: |
查看当前文件夹 | dir |
进入文件夹 | cd 文件名 |
退出文件夹 | cd .. |
退出到磁盘根 | cd / |
清屏 | cls |
退出 | exit |
1.3Java语言跨平台原理
1.3.1 Java语言特点
- 完全面向对象:Java语言支持封装、继承、多态,面对对象编程,让程序更好达到高内聚,低耦合的标准。
- 支持分布式:Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- 健壮型:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
- 安全:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
- 跨平台性:Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
1.3.2 Java语言跨平台原理
- 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM之上。
如图所示,Java的虚拟机本身是不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
- JRE (Java Runtime Environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
- JDK (Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装JRE即可。
我们想要开发一个全新的Java程序,那么必须安装JDK ,其内部包含JRE。
- 三者关系:JDK > JRE > JVM
1.4JDK下载和安装
1.4.1 JDK安装
- 双击jdk-8u202-windows-x64.exe文件,并单击下一步,如图所示:
- 取消独立JRE的安装,单击公共JRE前的下拉列表,选择此功能将不可用如图所示:
- 修改安装路径,单击更改,如图所示:
- 稍后几秒,安装完成,如图所示:
- 目录结构,如图所示:
1.4.2 配置环境变量
- 找到系统环境变量
- 新建用户变量:
- 编写变量名和变量值(JDK安装目录)
- 双击path
- 将jdk添加到环境变量中:
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac命令,运行成功。
1.5入门程序HelloWorld
1.5.1 HelloWorld案例程序
Java程序开发三步骤:
- 编写
- 编译
- 运行
1、编写Java源程序
- 在D:\code\JavaSE目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java。
- 用记事本或notepad++等文本编辑器打开
- 在文件中键入文本并保存,代码如下:
1.public class HelloWorld{ 2. public static void main(String args[]){ 3. System.out.println("HelloWorld"); 4. } 5.}
第一个HelloWord源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件编译成JVM可以看懂的字节码文件,也就是.class文件。
2、编译Java源文件
在DOS命令行中,进入D:\code\JavaSE目录,使用javac命令进行编译。
- 命令:
javac Java源文件名.后缀名
- 举例:
javac HelloWorld.java
编译成功后,命令行没有任何提示。打开D:\code\JavaSE目录,发现产生了一个新的文件 HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
3、运行Java程序
在DOS命令行中,进入Java源文件的目录,使用java命令进行运行。
- 命令:
java 类名字
- 举例:
java HelloWorld
注:java HelloWord 不要写 不要写 不要写 .class
1.5.2 HelloWorld案例常见错误
(1)单词拼写错误:
- 正确:class 错误:Class
- 正确:String 错误:string
- 正确:System 错误:system
- 正确:main 错误:mian
(2)Java语言是一门严格区分大小写的语言
(3)标点符号使用问题
- 不能用中文符号,英文半角的标点符号(正确)
- 括号问题,成对出现
1.5.3 Java程序结构与格式
- 结构:
类{ 方法{ 语句; } }
- 格式:
-
(1)每一级缩进一个Tab键
(2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐
1.5.4 编写Java程序时应该注意的问题
1. 字符编码问题
当cmd命令行窗口的字符编码与.java源文件的字符编码不一致,如何解决?
- 解决方案一:
在Notepad++等编辑器中,修改源文件的字符编码
- 解决方案二:
在使用javac命令式,可以指定源文件的字符编码
javac -encoding utf-8 HelloWorld.java
2.大小写问题
- 源文件名:不区分大小写,我们建议大家还是区分
- 字节码文件名与类名:区分大小写
- 代码中:区分大小写
3.源文件名与类名一致问题
(1)源文件名是否必须与类名一致?public呢?
如果这个类不是public,那么源文件名可以和类名不一致。
如果这个类是public,那么要求源文件名必须与类名一致。
我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。
(2)一个源文件中是否可以有多个类?public呢?
一个源文件中可以有多个类,编译后会生成多个.class字节码文件。
但是一个源文件只能有一个public的类。
(3)main必须在public的类中吗?
不是。
但是后面写代码时,基本上main习惯上都在public类中。