第一节 Java概述
1.1 Java语言背景介绍
-
语言: 人与人之间沟通交流的表达方式
-
计算机语言: 计算机语言是人与计算机之间传递信息的媒介, 我们想要计算机去执行我们的命令, 就要使用计算机可以看明白的语言去操作计算机
-
Java语言是美国SUN公司 (Stanford University Network) 在1995年推出的计算机语言
-
Java之父: 詹姆斯·高斯林 James·Gosling
-
Java语言的雏形
-
1991年, Gosling所在的团队启动了一个叫做Green Project的项目, 这个项目的为了可以远程控制家具家电(类似于现在的天猫精灵可以控制电饭煲,窗帘等), Gosling刚开始使用的C++语言进行项目的开发, 但是后来发现C++不足以满足这个项目的要求, 所以自己开始在C++的基础上设计了一门新的语言, 由于当初他办公室窗户旁边有一颗橡树, 于是这门语言的便叫做Oak也就是橡树的意思, 这就是最早Java语言的雏形
-
后来由于已经有一门其他的语言叫做Oak了, 于是Gosling请市场部门的人找来了一个命名顾问, 召开了命名征集会, 按照大家所选的名称次序排成表上交给了命名顾问, 第一个名字是Silk(丝绸)但是Gosling本人坚决反对, Gosling本人喜欢的名称叫做Lyric(抒情诗)但是由于当时法律限制没办法通过这个名字, 就选择了大家都可以接受的并且符合当时法律的Java作为了新语言的名称
-
Java这个提议是由马克·奥玻曼提出的, 当时他在和咖啡馆和同事喝咖啡, 印度尼西亚的爪哇岛因为生产咖啡而闻名, 所以Java的图标是一个咖啡杯的样式一直沿用至今
-
-
Java语言的三个版本
-
Java SE: Java语言的标准版, 用于桌面应用开发 (计算器, 坦克大战), 程序界面会让用户在短时间内找到需要的功能, 并主动带领用户完成工作, SE是另外两个版本的基础
-
Java ME: Java语言的小型版, 用于嵌入式电子设备开发 , 已经被安卓和IOS所取代, 所以我们课程不会提及
-
Java EE: Java语言的企业版, 用于Web方向的网站开发, 网站 = 网页(数据展示) + 后台服务器(存储数据)
-
1.2 Java版本介绍
-
1995年SUN公司推出Java语言
-
1996年Java(1.0)
-
1997年Java(1.1)
-
1998年Java(1.2)
-
2000年Java(1.3)
-
2002年Java(1.4)
-
2004年Java(5.0) 这是一个里程碑式的版本, 所以之后更名为Java 5.0来表示其重要性, 代号老虎 (Tiger)
-
2006年Java(6.0)
-
2009年SUN公司被oracle(甲骨文)收购
-
2011年Java(7.0) 代号海豚 (Dolphin)
-
2014年Java(8.0) 代号蜘蛛 (Spider) 长期支持版本
-
2017年9月Java(9.0)
-
2018年3月Java(10.0)
-
2018年9月Java(11.0) 长期支持版本
-
截止目前Java(17.0)
第二节 DOS常用命令
1.1 键盘介绍
-
常用的按键和组合键
1.2 DOS命令提示符及常用命令
-
什么是DOS命令提示符?
-
MS-DOS (Microsoft Disk Operating System) 它是一个命令行操作系统
-
被嵌入在Windows系统当中
-
-
为什么我们要学习DOS命令提示符?
-
双击是不能直接使用JDK, bin目录中提供的工具 (javac.exe)编译和 (java.exe)运行
-
而需要在DOS中通过指令去运行
-
-
如何打开DOS命令提示符?
-
Win + R键, 输入cmd, 敲回车
-
-
常用的DOS命令
-
盘符名称: 盘符切换
-
dir 查看当前路径下的内容
-
cd 目录 进入单级目录
-
cd.. 回退上一级目录
-
cd 目录1\目录2.. 进入多级目录
-
cd\ 回退到盘符目录
-
cls 清屏
-
exit 退出命令提示符窗口
-
-
快速打开DOS命令提示符窗口
-
找到磁盘中的路径, 在路径处直接输入cmd, 敲回车即可
-
第三节 计算机基本操作
1.1 系统设置优化 (选配)
-
Win + i 可以快速打开Windows设置
-
Windows设置 - 系统 - 存储
-
配置存储感知或者立即运行
-
存储感知 - 开
-
运行存储感知 - 每天
-
删除我的应用未在使用的临时文件 - 勾选
-
剩下两个时间改为 - 1天
-
立即释放空间 - 立即清理
-
-
Windows设置 - 系统 - 通知和操作
-
获取来自应用和其他发送者的通知 - 关
-
去掉所有勾
-
获取通知都 - 全部关闭
-
-
Windows设置 - 应用 - 启动
-
将不需要的开机启动软件都关闭
-
-
Windows设置 - 更新和安全
-
高级选项 - 全部关闭
-
隐私设置 - 全部关闭
-
-
Windows设置 - 网络和Internet - 更改适配器选项 - 以太网 - 右键属性
-
Internet协议版本4 (TCP/IPv4) - 检查都为自动获取
-
确定
-
配置 - 高级
-
找到连接速度和双工模式 (Speed & Duplex)
-
选择100Mbps全双工 (100Mbps Full Duplex)
-
-
Windows设置 - 网络和Internet - 网络和共享中心
-
左下角 - Windows Defender 防火墙
-
左边 - 启用或关闭Windows Defender 防火墙
-
上下都关闭
-
1.2 文件扩展名
-
什么是文件扩展名, 如何查看?
-
文件扩展名 (filename extension) 也称为文件的后缀名, 是操作系统用来标志文件类型的一种机制
-
通常来说, 一个扩展名是跟在主文件名后面的, 由一个分隔符分隔
-
-
如何设置系统, 显示文件扩展名?
-
Win + E 打开我的电脑 (或者随便一个资源管理器窗口), 最上面有一个查看, 右边勾选文件扩展名即可
-
-
为什么推荐要, 显示文件扩展名?
-
原因1: 第一时间知道操作的是什么文件
-
原因2: 直接修改扩展名来定义文件类型很方便 (java文件做例子)
-
1.3 文件的压缩和解压缩
-
常见的压缩工具
-
WinRAR (推荐) 很多系统自带该软件
-
好压
-
7-zip
-
快压
-
winzip
-
-
文件的压缩和解压缩操作
-
压缩: 选择要压缩的文件 - 右键 - 添加到压缩文件 (A) - 设置名称即可
-
-
-
解压缩: 对着压缩包右键 - 解压到自定义文件夹 (A) - 或者当前文件夹 (X)
-
为什么要使用压缩? 因为可以节省空间, 方便一次性发送多个文件
-
第四节 Java语言的跨平台原理
1.1 平台与跨平台
-
计算机的组成
-
平台: 操作系统
-
Windows: 图形化
-
Mac: 图形化
-
Linux: 命令/指令
-
-
跨平台: 指的是Java程序经过一次编写, 可以在任意平台运行
1.2 跨平台原理
-
先了解一个Java程序开发的过程
-
我们写完的Java程序, 并不是直接在Windows或者Linux这样的操作系统中运行的, 会通过Java编译器将这个Java程序编译 (翻译) 为.class字节码文件
-
然后由JVM虚拟机对字节码文件进行执行, 最终我们程序是由JVM进行执行的而非Windows或者Linux, Unix操作系统执行
-
所以我们只需要安装对应操作系统版本的JVM虚拟机即可实现Java程序的跨平台实现
-
-
Java语言可以跨系统 (平台) 运行, JVM虚拟机不可以跨系统运行, 每个操作系统都有自己的JVM虚拟机
第五节 JDK, JRE和JVM介绍
1.1 JDK, JRE和JVM
-
JDK (Java Development Kit): Java开发工具包, 包含了JRE以及我们开发Java程序时候需要的一些工具
-
开发工具举例: Javac (编译), java (运行)
-
-
JRE (Java Runtime Environment): Java运行环境, 其中JRE包含了JVM以及Java的核心类库 (Java API)
-
核心类库 (Java API): 简单理解就是Java已经写好的, 提供给我们的一些"工具"
-
-
JVM (Java Virtual Machine): 运行Java程序的载体, Java虚拟机
1.2 包含关系
-
在JDK1.8后, JDK包含JRE包含JVM
-
结论: 作为Java开发人员, 只需要安装JDK即可编写Java程序并运行调试
第六节 JDK的下载和安装
1.1 官网下载
-
ORACLE官方网站: Oracle | Cloud Applications and Cloud Platform
1.2 安装及注意事项
-
JDK的安装路径不要带有中文和空格以及特殊符号, 否则后期可能会出现错误
-
JDK的目录
-
bin: 该路径下存放了JDK的各种工具命令, javac和java就放在这个目录
-
conf: 该路径下存放了JDK的相关配置文件
-
include: 该路径下存放了一些平台特定的头文件
-
jmods: 该路径下存放了JDK的各种模块
-
legal: 该路径下存放了JDK各模块的授权文档
-
lib: 该路径下存放了JDK工具的一些补充JAR包
-
第七节 Path环境变量的配置
1.1 为什么要配置环境变量
-
如果不配置环境变量, 那么我们只能在JDK的安装路径下使用JDK提供的工具, 这样局限性太强了, 我们希望可以在计算机的任意目录下, 使用JDK提供的工具进行开发
-
新版的JDK安装后, 会自动生成一个Path变量, 并且默认置顶 (删除以后, 进行配置流程的演示)
1.2 配置流程及检测
-
配置流程
-
右键点击“此电脑”, 选择“属性”, 在属性界面选择“高级系统设置”, 然后选择“高级”选项卡中的“环境变量”
-
在系统变量中, 新建系统变量,变量名: JAVA_HOME, 变量值: JDK的安装目录 (到bin目录的上一层)
-
编辑Path变量, 添加:"%JAVA_HOME%\bin, 并将其上移到第一行
-
-
重新打开DOS窗口, 输入java命令, 验证是否配置成功
第八节 入门程序HelloWorld
1.1 程序开发的三个步骤
-
-
编码: 编写正确的代码 (符合Java的语法规范)
-
-
-
编译: 在DOS中找到要操作的文件路径, 使用javac命令编译我们写好的java文件, 如果编译成功, 会在同目录下生成一个字节码文件 (.class文件)
-
-
-
运行: 使用java命令, 直接运行即可, 注意不带文件后缀
-
1.2 HelloWorld案例的常见问题
-
类名和文件名没有保持一致 -> 尽量去复制
-
单词拼写错误 -> String和System首字母需要大写
-
缺少标点符号, 或者标点符号使用中文 (只能使用英文符号) -> 通过对输入法的设置
-
缺少括号 -> 养成好习惯, 每次写就成双对地写
-
使用javac命令编译的java文件需要加.java后缀
-
使用java命令运行的class文件不需要加.class后缀
1.3 Notepad++高级记事本安装及配置
-
因为NotePad++支持多种计算机语言编码, 由于我们学习是Java语言, 所以新建文件的时候, 我们需要设置成使用Java语言模板进行创建并且更改对应的编码字符
-
安装的时候, 只需要修改安装路径即可! 其他的都不用配置!
-
安装完成后, 设置 - 首选项 - 新建
-
默认语言: Java
-
编码: ANSI (目前不要深究, 记住这样配置能避免DOS控制台中文乱码)
-
-
第二章. Java基础语法
第一节 注释的基本使用
1.2 注释概述
-
注释就是对代码进行解释说明的文字信息
-
注释不参与代码的编译, 运行, 仅仅起说明作用
1.2 注释的分类
-
单行注释 //注释内容
-
多行注释 /* 注释内容 */
-
文档注释 /** 注释内容 */ (基础阶段解暂时不用)
第二节 关键字
1.1 关键字概述
-
被Java赋予了特殊含义的英文单词
-
也可以理解为, 是Java语言中事先定义好的, 有特别意义的标识符
1.2 关键字的特点
-
字母都是小写
-
常用的代码编辑器对于关键字都会有高亮显示, Java50个关键字如下图
第三节 常量
1.1 常量概述
-
在程序运行的过程中, 其值不可以发生改变的量
1.2 常量的分类
-
整数常量: 100 -50
-
小数常量: 3.14 -5.0
-
字符常量: 单引号引起来的单个内容 '8' 'A' '哈'
-
字符串常量: 双引号引起来的任意内容 "黑马程序员" "HelloWorld"
-
布尔常量: 值只有true(真)和false(假)
-
空常量: null, 不能直接打印
第四节 变量
1.1 变量的概述
-
在程序运行过程中, 其值可以发生改变的量就是变量
-
从本质上讲变量就是内存中的一块大小可变的存储空间
-
声明变量并赋值的格式
-
数据类型 变量名 = 变量值;
-
1.2 数据类型
-
了解计算机存储单元
-
计算机中最小信息单元叫"位 bit", 也称之为"比特位", 通常用小写"b"表示
-
计算机中最小存储单元叫"字节 byte", 通常用大写"B"表示, 一个字节由连续的8个位组成
-
除了字节还有以下常见的存储单位
-
1B = 8bit
-
1KB = 1024B
-
1MB = 1024KB
-
1GB = 1024MB
-
1TB = 1024GB
-
-
-
Java是一门强类型语言, Java中的数据必须明确数据类型, 不同的数据类型分配不同的存储空间
-
Java中的数据类型分为两种
-
基本数据类型
-
引用数据类型 (引用类型后面讲解, 目前重点关注基本类型)
-
-
Java中的基本数据类型, 四类八种 (重点)
-
整数
-
byte -> 内存占用1字节 取值范围是: -128-127
-
short -> 内存占用2字节 取值范围是: -32768~32767
-
int (默认) -> 内存占用4字节 取值范围是: -2的31次方到2的31次方-1
-
long -> 内存占用8字节 取值范围是: -2的63次方到2的63次方-1
-
-
浮点数
-
float -> 内存占用4字节 取值范围
-
负数: -3.402823E+38到-1.401298E-45 (科学计数法: E+38表示乘以10的38次方)
-
正数: 1.401298E-45到3.402823E+38
-
-
double (默认) -> 内存占用8字节 取值范围
-
负数: -1.797693E+308到-4.9000000E-324 (科学计数法: E-324表示乘以10的负324次方)
-
正数: 4.9000000E-324到1.797693E+308
-
-
-
字符
-
char -> 内存占用2字节 取值范围: 0-65535 (端口号取值范围:1-65535, 其中1-1023会被系统软件占用)
-
-
布尔
-
boolean -> 内存占用1字节 只有两个值: true false
-
-
1.3 变量的定义和使用
-
如何声明变量并赋值?
-
数据类型 变量名 = 初始化值;
-
-
我们还可以在一行代码中定义多个同一种数据类型的变量, 中间使用逗号隔开, 但是不建议使用这种方式, 它降低程序的可读性
-
如何使用变量?
-
通过变量名称进行访问
-
1.4 变量的注意事项
-
在同一对大括号中, 变量名不可以重复
-
(局部)变量在使用之前, 必须赋值
-
定义long类型变量时, 需要在数据的后面加L (大小写均可, 但是为了可读性推荐使用大写L), 因为整数默认是int类型, 整数太大可能超过int范围
-
定义float类型变量时, 需要在小数的后面加F (大小写均可, 但是为了可读性推荐使用大写F), 因为浮点数的默认类型是double, double的取值范围是大于float的, 两者类型不兼容
-
变量值在当前的大括号中有效, 大括号外面访问不到里面定义的变量
第五节 标识符
1.1 标识符概述
-
用于给类, 方法, 变量等起名字的符号
-
简单记忆, Java中只要是自己起的名字, 都是标识符
1.2 标识符的组成规则
-
由字母, 数字, 下划线_, 美元符号$组成
-
不能使用Java中的关键字 (被Java赋予了特殊含义的单词)
-
不能以数字开头
-
严格区分大小写 (命名约定)
-
大驼峰命名法: 每个单词的首字母都大写, 一般用于类名
-
小驼峰命名法: 从第二个单词开始的每个单词的首字母大写, 一般用在变量名, 方法名
-
第六节 Scanner键盘录入
1.1 Scanner的概述及作用
-
什么是Scanner键盘录入对象?
-
是根据JDK提供好的Scanner类, 创建的对象 (关于类和对象后具体学习, 今天先关注如何使用)
-
-
为什么要使用它? 它有什么作用?
-
使用Scanner键盘对象, 可以让程序中的数据更灵活
-
使用Scanner键盘对象, 可以实现从键盘录入数据到程序中
-
1.2 使用步骤
-
-
导包 import java.util.Scanner;
-
-
-
创建对象 Scanner sc = new Scanner(System.in);
-
-
-
调用方法, 接收数据 int a = sc.nextInt(); //接收键盘录入的下一个整数
-