01_Java-特性-jdk-运行机制-转义字符-注释-代码规范

:点击此处或下方 以展开或折叠目录

视频链接:https://www.bilibili.com/video/BV1fh411y7R8

一. 就业方向

image-20220508032024978

二. 开发场景

Java 开发场景举例 1-SSM

Java 开发场景举例 2:Android 核心代码

Java 开发场景举例 3:大数据-hadoop


三. 应用领域

  • 企业级应用

主要指复杂的大企业的**软件系统、各种类型的网站**。应用领域包括金融、电信、交通、电子商务等。

image-20220508032702906
  • Android 平台应用

Android 应用程序使用 Java 语言编写。Android 开发水平的高低很大程度上取决于 Java 语言核心能力是否扎实。

image-20220508032750052
  • 移动领域应用

主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括机顶盒、车载的大屏影音娱乐设备、汽车通信设备、扫码的 POS 机等。

image-20220508032900704

四. 程序举例

  • 什么是程序

程序:计算机执行某些操作或解决某个问题而 编写的一系列有序指令的集合

举例说明:

image-20220508034312623 image-20220508034326323
1
2
3
4
5
6
7
8
9
//老师写的最简单的程序,完成 1+1, 体会

public class Test {
public static void main(String[] args) {
int res = 1 + 1;
// 显示
System.out.print("结果=" + res);
}
}


五. 故事

  • Java 诞生小故事

  1. 1995年 第1个版本

  2. Java之父 gosling

  3. 最新版本:15

  4. 公司里用的最多的版本:8、11

  5. Java 所有权:甲骨文

image-20220508034456860

  • Java 技术体系平台

标准版、企业版、小型版

Java SE、Java EE、Java ME


六. 特性

  • Java 重要特点

  1. Java 语言是面向对象的(oop)

  2. Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证

  3. Java 语言是**跨平台性的**。[即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台]

  1. Java 语言是解释型的[了解]

解释性语言:javascript,PHP, java 编译性语言: c / c++

​ 区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可以直接被机器执行, c /c++


  • Java 的开发工具

    • 工具选择

      • 如何选择开发工具

        ​ 我们先选择用文本编辑器本 sublime,到大家对 java 有一定了解后,我们再使用 IDEA 和 Eclipse 开发工具。

      • 这是为什么呢

        ​ 更深刻的理解 java 技术,培养代码感。【面试时,往往程序员手写代码】

        ​ 有利于公司面试

        image-20220508042124961

七. jdk介绍、安装、配置

  • Java 运行机制及运行过程

    • Java 语言的特点:跨平台性

      image-20220508042849189
    • Java 核心机制-Java 虚拟机 [JVM java virtual machine]

  • Java 核心机制-Java 虚拟机 [JVM java virtual machine]

基本介绍

  1. JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中.

  2. 对于不同的平台,有不同的虚拟机。

  3. Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次**编译,到处运行**” [说明]

示意图

1
2
3
//指令
javac // 编译
java // 运行
image-20220508043429400

什么是 JDK,JRE

  • JDK 基本介绍

  1. JDK 的全称(Java Development Kit Java 开发工具包)

​ JDK = JRE + java 的开发工具 [java, javac,javadoc,javap 等]

  1. JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独安装 JRE 了。

  • JRE 基本介绍

  1. JRE(Java Runtime Environment Java 运行环境)

​ JRE = JVM + Java 的核心类库[类]

  1. 包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。

  • JDK、JRE 和 JVM 的包含关系

  1. JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)

  2. JRE = JVM + Java SE 标准类库(java 核心类库)

  3. 如果只想运行开发好的 .class 文件 只需要 JRE


下载、安装 JDK

https://www.oracle.com/java/technologies/downloads/

配置环境变量 path

  • 为什么要配置 path

    image-20220508050732153
  • 配置环境变量 path 的步骤


安装 JDK 的练习

请同学们安装好 JDK,配置好 path 环境变量。可以在控制台下正确的执行, (10min)

image-20220508052000041

环境变量配置细节说明:

image-20220508052022102
image-20220508052141440 image-20220508052824602
image-20220508052931384 image-20220508053340793 image-20220508053443524

八. 快速入门

  • 需求说明

要求开发一个 Hello.java 程序,可以输出 “hello,world!”

  • 开发步骤

  1. 将 Java 代码编写到扩展名为 Hello.java 的文件中。[代码说明]

  2. 通过 javac 命令对该 java 文件进行编译,生成 .class 文件。

  3. 通过 java 命令对生成的 class 文件进行运行

  • 运行原理示意图

image-20220508054554366
image-20220508060705278
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//这是java的快速入门, 演示java的开发步骤
//对代码的相关说明
//1. public class Hello 表示Hello是一个类,是一个public公有的类
//2. Hello{ } 表示一个类的开始和结束
//3. public static void main(String[] args) 表示一个主方法,即我们程序的入口
//4. main() {} 表示方法的开始和结束
//5. System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
//6. ;表示语句结束
public class Hello {

//编写一个main方法
public static void main(String[] args) {
System.out.println("韩顺平教育 hello");
}

}

//一个源文件中最多只能有一个public类。其它类的个数不限。[演示]
//Dog 是一个类
//编译后,每一个类,都对于一个.class
class Dog {

//一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,
//然后指定运行非public 类,这样入口方法就是非public 的main方法
public static void main(String[] args) {
System.out.println("hello, 小狗狗~");
}
}

class Tiger {

public static void main(String[] args) {
System.out.println("hello, 小老虎~");
}

}

image-20220508061152606

九. 运行机制

Java 开发快速入门

  • Java执行流程分析

.java文件 源文件

.class文件 字节码文件

image-20220508061231609
  • 什么是编译

image-20220508061953033
  • 什么是运行

image-20220508062339779

十. 开发细节

  • Java开发注意事项和细节说明

image-20220508062754938
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Hello {
public static void main(String[] args) {
System.out.println("韩顺平教育 hello");
}
}

//一个源文件中最多只能有一个public类。其它类的个数不限。[演示]
//Dog 是一个类
//编译后,每一个类,都对于一个.class
class Dog {

//一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,
//然后指定运行非public 类,这样入口方法就是非public 的main方法
public static void main(String[] args) {
System.out.println("hello, 小狗狗~");
}
}

class Tiger {

public static void main(String[] args) {
System.out.println("hello, 小老虎~");
}

}

image-20220508063831299

十一. 学习方法

  • 老韩聊: 如何快速掌握技术或知识点

image-20220508131030628

十二. 转义字符

Java 转义字符

  • Java 常用的转义字符

在控制台,输入 tab 键,可以实现命令补全

  1. \t :一个制表位,实现对齐的功能

  2. \n换行符

  3. \\一个\

  4. \" :一个"

  5. \'一个'

  6. \r :一个回车 System.out.println(“韩顺平教育\r 北京”);

  • 说明

应用实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//演示转义字符的使用
public class ChangeChar {

//编写一个main方法
public static void main(String[] args) {

// \t :一个制表位,实现对齐的功能
System.out.println("北京\t天津\t上海");
// \n :换行符
System.out.println("jack\nsmith\nmary");
// \\ :一个\ \\
System.out.println("C:\\Windows\\System32\\cmd.exe");
// \" :一个"
System.out.println("老韩说:\"要好好学习java,有前途\"");
// \' :一个'
System.out.println("老韩说:\'要好好学习java,有前途\'");

// \r :一个回车 System.out.println("韩顺平教育\r北京");
// 解读
// 1. 输出 韩顺平教育
// 2. \r表示回车
System.out.println("韩顺平教育\r北京"); // 北京平教育
}

}
image-20220508132315623 image-20220508132732792
image-20220508132852344 image-20220508132927045

  • 课堂练习

要求:请使用一句输出语句,达到输入如下图形的效果 2min

image-20220508133105218
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class ChangeCharExer01 {

//编写一个main方法
public static void main(String[] args) {
//完成代码
System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");

//示意 => 可读性很好
//下面代码完成 两个数相加
//定义变量
int n1 = 10;
int n2 = 30;
//求和
int sum = n1 + n2;
//输出结果
System.out.println("结果=" + sum);
}
}

十三. 易犯错误

image-20220508133503644 image-20220508133644384

十四. 注释

注释(comment)

  • 介绍:

​ 用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。 [举例]

  • Java 中的注释类型

  1. 单行注释 //

  2. 多行注释 /* */

  3. 文档注释 /** */

  • 单行注释:

基本格式

格式: //注释文字

  • 多行注释:

基本格式

格式: /* 注释文字 */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//演示注释使用

public class Comment01 {

//编写一个main方法
public static void main(String[] args) {

//单行注释

//多行注释
/* 示意 => 可读性很好
下面代码完成 两个数相加
定义变量

注释
注释
int n1 = 10;...
System.out.println("ok~~");
*/
int n1 = 10;
int n2 = 30;
//求和
int sum = n1 + n2;
//输出结果
System.out.println("结果=" + sum);
}
}
  • 使用细节

  1. 被注释的文字,不会被 JVM(java 虚拟机)解释执行

  2. 多行注释里面不允许有多行注释嵌套

  • 文档注释:

1
2
3
4
5
6
7
8
9
10
/**
* @author 韩顺平
* @version 1.0
*/
public class Comment02 {

//编写一个main方法
public static void main(String[] args) {
}
}
image-20220508140443548 image-20220508140522118 image-20220508140555554

  • javadoc 标签

javadoc 工具软件识别以下标签:

标签描述示例
@author标识一个类的作者@author description
@deprecated指名一个过期的类或成员@deprecated description
指明当前文档根目录的路径Directory Path
@exception标志一个类抛出的异常@exception exception-name explanation
从直接父类继承的注释Inherits a comment from the immediate surperclass.
插入一个到另一个主题的链接
插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param说明一个方法的参数@param parameter-name explanation
@return说明返回值类型@return explanation
@see指定一个到另一个主题的链接@see anchor
@serial说明一个序列化属性@serial description
@serialData说明通过writeObject( ) 和 writeExternal( )方法写的数据@serialData description
@serialField说明一个ObjectStreamField组件@serialField name type description
@since标记当引入一个特定的变化时@since release
@throws和 @exception标签一样.The @throws tag has the same meaning as the @exception tag.
显示常量的值,该常量必须是static属性。Displays the value of a constant, which must be a static field.
@version指定类的版本@version info

  • 代码演示

image-20220508141428106 image-20220508141447322 image-20220508141519015 image-20220508141539312

十五. 代码规范

  • Java 代码规范

image-20220508142107515

十六. DOS原理-路径-DOS指令

  • DOS 命令(了解)

DOS 介绍

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。[原理图]

原理图

  • 相关的知识补充: 相对路径, 绝对路径

image-20220508142920905
  • 常用的 dos 命令

  1. 查看当前目录是有什么内容 dir

​ dir dir d:\abc2\test200

  1. 切换到其他盘下:盘符号 cd : change directory

​ 案例演示:切换到 c 盘 cd /D c:

  1. 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), …\表示上一级目录

​ 案例演示: cd d:\abc2\test200 cd …\…\abc2\test200

  1. 切换到上一级:

​ 案例演示: cd ..

  1. 切换到根目录:cd \

​ 案例演示:cd \

  1. 查看指定的目录下所有的子级目录 tree

  2. 清屏 cls

  3. 退出 DOS exit

  4. 说明: 因为小伙伴后面使用 DOS 非常少,所以对下面的几个指令,老韩给大家演示下, 大家了解即可 (md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切]) => Linux,


十七. 本章作业

  • 本章作业

image-20220508145216238
  • 1

1
2
3
4
5
6
7
8
public class Homework01 { 

//编写一个main方法
public static void main(String[] args) {
//编写hello, world程序
System.out.println("hello,world");
}
}
  • 2

1
2
3
4
5
6
7
8
9
10
//将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行
//
public class Homework02 {

//编写一个main方法
public static void main(String[] args) {
//考察对转义字符
System.out.println("姓名\t性别\t籍贯\t住址\n顺平\t男\t四川\t北京");
}
}
  • 3

1
2
3
4
5
//JDK,JRE,JVM的关系
//
答:
1. JDK = JRE + java开发工具
2. JRE = JVM + 核心类库
  • 4

1
2
3
4
//环境变量path配置及其作用
1. 环境变量的作用是为了在 dos 的任意目录,可以去使用 java 和 javac 命令
2. 先配置 JAVA_HOME = 指向 jdk 安装的主目录
3. 编辑 path 环境变量,增加 %JAVA_HOME%\bin
  • 5

1
2
3
4
//Java编写步骤
1. 编写java的源代码
2. javac 编译 ,得到对应的 .class 字节码文件
3. java 运行, 本质就是把 .class 加载到 jvm 运行
  • 6

1
2
3
4
5
6
7
8
//Java编写7个规范
1. 类,方法的注释,使用javadoc的方式,即文档注释
2. 非javadoc注释,往往是对代码的说明(给程序的维护者),说明如何修改,注意事项
3. 使用tab ,整体将代码右移, 使用 shift+tab 整体左移
4. 运算符和 = 的两边,给空格,代码看上去清楚 int n = 1 + 4;
5. 源码文件使用 utf-8 编码
6. 行宽字符不要超过 80
7. 代码编程风格有两种 次行风格,行尾风格(推荐)
  • 7

1
2
3
4
5
6
7
8
//初学者java易犯错误 
1. 编译或者运行时,找不到文件 javac Hell0.java, 把文件名或者目录找对
2. 主类名和文件名不一致 , 修改时保持一致即可
3. 缺少;
4. 拼写错误,比如 1 -> l 0->0, void -> viod , 要求写代码时,一定要小心

强调: 先思考->自己练习->看老师评讲