day01_Java基础
课程目标
1. 【了解】Java语言发展史
2. 【理解】Java语言平台版本
3. 【理解】Java语言特点
4. 【理解】JRE与JDK
5. 【掌握】Java开发环境搭建
6. 【掌握】第一个Java程序
7. 【掌握】注释
8. 【理解】关键字/标识符
一.Java语言概述
Java语言发展史
Java之父:詹姆斯·高斯林(James Gosling)
1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
从Java9这个版本开始,Java 的计划发布周期是6个月。这意味着Java的更新从传统的以特性驱动的发布周期,转变为以时间驱动的发布模式,并逐步的将Oracle JDK原商业特性进行开源。
理念:小步快跑,快速迭代。后面周期变短,对之前的东西固定下来保存下来抛弃一些,版本趋于稳定,更新内容新特性就少。使用者就像小白鼠,我们相当于测试了,有一些功能优缺点进行测试和反馈,测试完它就改动,他掌握用户需求就可以改。针对企业客户的需求,Oracle将以三年为周期发布长期支持版本LTS(long term support)。
Java语言平台版本
-
JavaSE(Java Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案 该技术体系是其他,可以完成一些桌面应用程序的开发两者的基础
-
JavaME(Java Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案,已经被安卓 IOS所代替。
-
==JavaEE(Java Platform Enterprise Edition)企业版==
是为开发企业环境下的应用程序提供的一套解决方案
从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。J应用领域包括金融、电信、交通、电子商务等。 Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。 大数据平台开发:大数据深度挖掘、大数据开发工程师、大数据分析师都需要有。 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。
<img src="asseits/image-20221127212954713.png" alt="image-20221127212954713" style="zoom:67%;" />
Java语言特点
简单性 | ==面向对象== | 分布式 |
---|---|---|
==可移植性(跨平台)== | 多线程 | 动态性 |
健壮性|鲁棒性robot* | 安全性 | ==开源== |
Java跨平台
什么是平台
通过Java语言编写的应用程序在不同的系统平台上都可以运行,平台这里指的是操作系统。Windows、Linux、MACOS,一般常用的就是这三类。
跨平台的原理
Java 有一句非常著名的口号: Write once, run anywhere
,也就是一次编写、到处运行。为什么 Java 能够吹出这种牛批的口号来?核心就是 JVM
。
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(==JVM== Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
虚拟机的概念,就类似于翻译,将java程序翻译成虚拟机可以理解的语言、理解的指令;jvm软件,这个软件可以执行java程序。程序员只需要关注写java代码即可,不用关注,平台。
图解
总结
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的可移植性。也称为Java具有良好的跨平台性。
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即可。程序|游戏,运行,需要JRE。 这个是程序|游戏,需要的。
-
==JVM(Java Virtual Machine Java虚拟机)==
整个java实现跨平台的最核心的部分,保证程序的跨平台性,以及编译执行写好的java程序!
总结
使用JDK开发完成的java程序,交给JRE去运行。由jvm保证跨平台性。
JDK、JRE、JVM 之间的关系
总结
JDK 包含JRE JRE包含JVM ,开发中我们只需要安装JDK即可!
JDK的下载安装
下载JDK
通过官方网站获取JDK http://www.oracle.com
==注意:针对不同的操作系统,需要下载对应版本的JDK==
https://www.oracle.com/java/technologies/downloads/
安装JDK
傻瓜式安装,下一步即可。但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与 开发相关的软件都安装到一个目录下,例如:E:\develop。 ==注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。==
二.DOS命令
计算机功能键
tab | shift | alt | 空格 |
---|---|---|---|
enter | window | 上下左右 | 26字母 |
数字键 | 删除键 | ctrl | |
快捷键
全选 ctrl + A | 复制 ctrl + c | 粘贴 ctrl + v |
---|---|---|
剪切 ctrl + x | 撤销 ctrl + z | 保存ctrl + s |
打开所有磁盘 window + e | 最小化当前所有窗口 window +d | 切换程序 alt + tab / window + tab |
打开运行窗口 window + r |
<img src="asseits/image-20221128102622447.png" alt="image-20221128102622447" style="zoom:80%;" />
为什么学习DOS命令
在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命令。也为以后学习Linux等其他内容做一些准备!
如何打开DOS命令窗口
打开命令行窗口的方式:
- win + r 打开运行窗口,输入cmd,回车。
- 点击win窗口图标,输入cmd,选择命令提示符
常用的DOS命令
D: | 盘符切换 |
---|---|
dir | 查当当前目录 |
md | 创建目录(计算机中只有目录(文件夹)和文件) |
rd | 删除目录(只能删除空目录),有文件,先删除文件。 |
echo > a.txt | 创建文件 |
del | 删除文件 |
cd | 指定进行目录 (change directory:改变目录) |
cd.. | 退回上一级目录 |
cd\ | 退回当前盘符的根目录 |
cls | 清屏 |
calc | 打开计算器 |
notepad | 打开记事本 |
control | 打开控制面版 |
services.msc | 打开服务 |
exit | 退出dos |
三.环境搭建
配置开发环境
为什么配置环境变量
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
*说白了:就是文件的路径信息。
java拿过来使用。
配置步骤
首先右键==【此电脑】==---> 选择==【属性】==---> 点击左侧的==【高级系统设置】== ---> 点击==【环境变量】==---> 在下方的==【系统变量】==中点击==【新建】==
<img src="assets/image-20200922165042212.png" alt="image-20200922165042212" style="zoom: 67%;" />
新建变量名为==【JAVA_HOME】==,变量值我们点击==【浏览目录】==,选择jdk的安装路径jdk1.8.0_121文件夹 然后点击==【确定】==
<img src="assets/image-20200922165306433.png" alt="image-20200922165306433" style="zoom:67%;" />
找到path路径中写 %JAVA_HOME%\bin; ,放在最前面,不要忘了加英文的分号
<img src="assets/image-20200922170053693.png" alt="image-20200922170053693" style="zoom:67%;" />
测试开发环境
通过javac和java命令验证 注意 :如果提示 ==javac不是内部或者外部命令==,原因是path配置错误, 重新按照上一步的步骤进行配置即可!
避免C:\WINDOWS\system32出现所有名字以java开头的文件,有,删之; ==注意 :jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;==
四.HelloWorld
Java程序开发运行流程
开发Java程序,需要三个步骤:
1.编写源程序
2.编译程序
3.运行程序
编程语言:
编译型语言,解释型语言;比如说,一本书:《西游记》,日本人,美国人、德国人,找个翻译,翻译形成一个书籍、视频加字母(配音),形成日语版西游记、英语班、德语版。编译型语言,最终会有结果文件的生产。java,好处 快 ,由于生了可被利用的文件。
解释性语言:会谈,翻译,类似于同声翻译,需要一句一句的解释一下。没有响应的文件生产。js,简单、方便,随意。
javac编译: 编译是你java源文件中语法(检查你的语法是否正确)
java运行: 运行是的你编译之后的字节码文件;
.class 字节码程序是虚拟机直接运行的。
编写HelloWorld程序
新建文本文档文件,修改名称为HelloWorld.java
用记事本打开HelloWorld.java文件,输写程序内容
class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
HelloWorld案例的编译和运行
编译:javac 文件名.java
范例:javac HelloWorld.java
////////////////////////////////////////////////////////////////////
执行:java 类名
范例:java HelloWorld
HelloWorld常见问题
-
==大小写问题。Java语言对大小写敏感(区分大小写)==
-
==非法字符问题。Java中的符号都是英文格式的==
-
==在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件==
-
==编译命令后的java文件名需要带文件后缀.java==
-
==运行命令后的class文件名(类名)不带文件后缀.class==
Notepad++软件的安装和使用
为什么要使用Notepad++软件
Notepad++功能比windows中的自带记事本功能强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。而且它是免费的。
Notepad++软件安装
安装:傻瓜式安装,一直下一步即可。建议也安装到统一的开发软件目录下,比如E:\develop。
具体安装步骤请参见《Nodepad++软件安装及配置说明》文档。
Notepad++软件配置
安装完毕之后,为了使用方便,做一个简单的配置:修改默认语言和编码。
具体配置的说明请参见《Nodepad++软件安装及配置说明》文档。
五.Java基础语法
5.1注释
什么是注释
注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。
注释的分类
-
单行注释
单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字
// 这是单行注释文字
-
多行注释
多行注释的格式是使用/* 和 */将一段较长的注释括起来
/* 这是多行注释文字 这是多行注释文字 这是多行注释文字 */ // 注意:多行注释不能嵌套使用。
-
文档注释(面象对象时用,此次了解即可)
文档注释以
/**
开始,以*/
结束
javadoc -d 目录 -author -version 类.java
语法:-d 表示生成的目录;后期做项目,需要生成项目的帮助文档,可以使用这个;
/**
这是文档注释的内容
*/
5.2关键字
什么是关键字
就是java系统提供的专有的单词,特定使用。像我们国家政权机关的:税务局、工商局、*局,自己创业的时候不可能,开设一个公司叫xx市税务局,也不会批下来。避讳:观音菩萨,观世音菩萨,唐代,观音菩萨;
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写,50个;46;-4;-8
我们下面定义变量、类、接口名、方法名的时候,不能和关键字一样(重名)。
官方:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
5.3 数值输出
信息社会-->信息--》数据--》数值;
数据社会,数据都来源于现实世界,镜像之后-》信息-》数据。凡是可以数据化的,一定可以IT化。
数据类型 名称 值;这三项构成数值信息;
5.3数据类型*
计算机存储单元
我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”
通常用大写字母”B”表示,字节是由连续的8个位组成。1byte:8bit;bit就是计算机的二进制01代码。
存储单位换算
除了字节外还有一些常用的存储单1位,其换算单位如下 ;抖音:字节跳动;
把自己的手机卡,取下来,看下手机卡的存储空间。为什么手机卡不能放一个美国超级大片1G?
1B(字节)= 8bit(位)
1KB = 1024B yte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
Java中的数据类型
-
为什么有数据类型
Java是一个强类型语言,对每一种数据都规定了范围.
-
数据类型的分类
-
基本数据类型
-
注意
==e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。==
==在java中整数默认是int类型,浮点数默认是double类型==
测试案例在讲完变量的时候,写代码测试。
5.4变量
什么是变量
类似于数学中的未知数x、y、z;
本质是内存中的一块空间,这块空间包含“数据类型”、“名字”、"数值信息";
用于在内存中保存数据
变量的使用步骤:
1.先声明
* 语法:数据类型 变量名;变量名要见名知意,定义这个变量一眼可以知道设么含义。
* 案例:int age; char type;boolean hunfou;float shengao;
2.后复制
- 语法:变量名=值; =是赋值运算符,注意;表示右边的值 ,赋值给左边的变量,类似于x=2;
- 案例: age=22;type='A';
---*************
升级格式二:
3.声明的时候赋值
- 语法:数据类型 变量名=值;
- 案例: int age=18;
升级格式三:
4.声明多个,可以将变量名,以逗号“,”隔开
- 语法: 数据类型 变量名=值1,变量名2=值2,...n;
- 案例:int age=22,height=18,value=89;
在同一行定义多个同一种数据类型的变量,中间使用逗号隔开
数据类型 变量名 = 值,变量名 = 值, ....;
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);
变量注意事项
1. 在同一对花括号中,变量名不能重复。
2. 变量在使用之前,必须初始化(赋值)。
3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
5.5标识符
什么是标识符
标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
标识符的组成规则(必须遵守)
1.由字母、数字、下划线“_”、美元符号“$”组成,且第一个字符不能是数字。 2.不能使用java中的关键字作为标识符。 3.标识符对大小写敏感(区分大小写)。
标识符的命名规范(江湖规矩)
见名知意,我看到这个名,就知道是什么?不要定义变量a b,hehe,haha;xixi;
-
类名
一个单词: 首字母大写 Hello 多个单词: 每一个单词的首字母都要大写 HelloWorld (大驼峰) VarTest
-
变量名和方法
一个单词: 全部小写 value get()
多个单词: 从第二个单词的首字母开始,每一个单词都要大写 maxValue getValue() (小驼峰) userName passWord
-
包
一个单词: 全部小写 cn com
多个单词: 全部小写中间用
.
分割 com.itfxp公司的域名倒着写
www.baidu.com-->com.baidu.xxx
-
自定义常量
一个单词: 全部大写 MAX VALUE
多个单词: 全部大写 中间用 _ 隔开 MAX_VALUE
5.6 编码(补充)
ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。
Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。
UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式。UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不同的符号而变化字节长度。
六.小结
1.Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本例中的HelloWorld类。 2.Java应用程序的执行入口是main()方法。它有固定的书写格式: 3.public static void main(String[] args) {…} 4.Java语言严格区分大小写。 5.Java方法由一条条语句构成,每个语句以“;”结束。 6.大括号都是成对出现的,缺一不可。 7.一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须和类名保持一致。