本套课程将会从0基础讲解Java语言核心技术,适合人群:
- 大学中开设了Java语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事Java相关开发开发的同学
精品专题:
01.《C语言从不挂科到高绩点》课程详细笔记
https://blog.csdn.net/yueyehuguang/category_12753294.html?spm=1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12753294.html?spm=1001.2014.3001.5482
02. 《SpringBoot详细教程》课程详细笔记
https://blog.csdn.net/yueyehuguang/category_12789841.html?spm=1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12789841.html?spm=1001.2014.3001.548203.《SpringBoot电脑商城项目》课程详细笔记
https://blog.csdn.net/yueyehuguang/category_12752883.html?spm=1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12752883.html?spm=1001.2014.3001.548204.《VUE3.0 核心教程》课程详细笔记
https://blog.csdn.net/yueyehuguang/category_12769996.html?spm=1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12769996.html?spm=1001.2014.3001.5482
================================
|| 持续分享系列教程,关注一下不迷路 ||
|| 视频教程:小破站:墨轩大楼 ||
================================
1. 课程介绍
1.1. 什么是Java
java是一门面向对象的程序设计语言,语言的作用是用于进行不同的物体之间进行交流;例如中文可以跟讲汉语的人交流,英文为了跟讲英文的人交流;编程语言则是为了与计算机交流,编程语言又划分为很多类型:
- 机器语言(打孔机)
- 汇编语言(指令)
- 高级语言
- C语言(面向过程)- 难度大需要关注每一个实现细节
- C++语言(半面向对象)- 具备C语言的效率,同时具备面向对象的特点(但是存在一些瑕疵)
- Java(纯面向对象)- 不需要关注实现细节(简单)
1.2. Java能做什么
目前的主流软件都跟java有关(支付宝,抖音,今日头条,王者荣耀,淘宝网,京东,12306,学校教务管理平台,政府机关事业单位的平台)
- 桌面软件
- 游戏开发
- Web网站系统开发(服务端)
- 大型软件的服务端开发
- 大数据开发
- 高级运维(devOps)
1.3. Java分支
Java从java1.2开始划分为三个主流分支
以上的三个分支从java5之后重新命名为:
- JavaSE
- JavaEE
- JavaME
1.4. Java的学习流程
目前选择的学习方向为JavaEE
- 第1阶段 JavaSE
- Java基础语法
- 面向对象程序设计
- 常用类和集合(数据结构)
- Java高级
- 第2阶段 JavaWeb
- 数据与数据库编程
- Web前端
- JavaWeb
- 第3阶段 JavaEE
- 框架前置知识(xml,设计模式,反射)
- Mybatis框架
- Spring
- SpringMVC
- 第4阶段 分布式微服务
- SpringBoot
- SpringCloud
- redis
- nginx
- ...
1.5. java的特点
- 简单(面向对象)
- 跨平台(一次编写,随处运行)
- 成熟企业平台支持
- 开源社区支持
- 多线程
- ....
2. 开发环境搭建
2.1. 安装JDK
由于java是一门跨平台的语言,只需要经过一次编写之后,就可以在任何的操作系统平台中运行,原因是因为java程序的运行是基于java虚拟机(JVM),即只需要操作系统中存在jvm即可运行java程序,而jvm是包含在JRE内部的,JRE又是包含的JDK中统一安装的,关于JDK,JRE和JVM的关系如下:
2.2. 配置环境变量
由于java的使用场景十分广泛,除了可以直接开发程序之外另外可能为其他软件提供运行环境支持,例如:Tomcat服务器,Maven都是基于java开发的,他们的运行需要java支持,另外直接通过系统对java程序编译执行等都需要一些java命令的支持,因此配置环境变量就十分有必要了:java环境变量配置包含以下:
- JAVA_HOME:配置JDK的安装所在路径,默认为:(C:\Program Files\Java\jdk1.8.0_101)
- Path: 配置jdk命令工具所在目录,默认为:(C:\Program Files\Java\jdk1.8.0_101\bin)
- 由于Path变量前面一部分的路径就是jdk的安装路径,因此只需要引用JAVA_HOME即可,最终配置为%JAVA_HOME%\bin
- 关于classPath:从JDK1.5之后无需配置
- 最终效果:
JAVA_HOME:
Path:
2.3. 集成开发工具idea安装和使用
java开发工具分为两类:
- 文本编辑器
- 记事本
- EditPlus
- Notepad++
- VSCode
- ...
- 集成开发环境
- IntelliJ IDEA(推荐)
- Eclipse
- MyEclipse
- NetBeans
- JCreator
- ...
2.4. Idea的基本使用
- 项目创建
选择第一项,创建新项目
选择第一项,创建Java项目
填写项目基本信息,创建
- 设置隐藏.idea目录和*.iml文件
3. window-cmd常用操作命令
- 目录回退(返回上一级目录)cd ..
- 返回根目录cd \
- 进入指定盘符(进入d盘)d:
- 进入指定的目录(进入code目录)cd code
- 查看指定目录下的文件资源dir
4. 万恶之首-HelloWorld
4.1. HelloWorld
java">/**声明一个java类 类名称叫HelloWorld
*/
public class HelloWorld{/**程序的入口,也称之为主方法(主函数)*/public static void main(String[] args){//系统输出(在控制台或命令行中输出指定的文本信息)System.out.println("hello JAVA");}
}
注意事项:
- Java程序的最基本单元一般以类的形式(class)存在
- 任何一个java类如果使用public修饰,则源文件名称必须与类名称一致
- 任何一个java类需要运行都必须存在一个入口(主方法)
- main方法(主方法)的写法是固定的public static void main(String[] args){}
- java中一行语句的结束通常以;结尾(除非是语句块,语句块是{}结尾)
4.2. java程序的运行原理
java是一门高级语言,集编译与解释为一体,java程序的执行需要先对源文件(*.java)编译,编译完成之后会产生一个字节码文件(*.class),最后再到JVM中运行字节码文件:
关于跨平台:
5. 基本语法
5.1. 注释
注释一般使用对代码内容进行解释的文本内容,注释一般不会被编译器识别;Java中的注释分为三种类型:
单行注释
java">//单行注释,输出一段文本
System.out.println("HelloWorld");
- 多行注释
java">/*多行注释,该范围内的文本内容不会被编译器编译
*/
System.out.println("HelloWorld");
- 文档注释
java">/**
* 这是一个测试Java类,用于测试文档化注释的使用
* @version 1.0
* @author mrchai
* @since 2022
* @see java.lang.String
*/
public class Hello{/*** 比较两个数的大小,返回其中较大的一个* @param a 第一个数值* @param b 第二个数值* @return 返回两个数中较大的一个*/public int max(int a,int b){System.out.println(a+","+b);return a > b ? a : b;}}
文档化的注释一般用于开发一些插件(组件,为其他项目提供支持的依赖文件)而提供的文档注释
关于注释的注意事项:
- 单行、多行注释一般在方法内部使用,不建议用于类或者方法上方
5.2. 关键字(keyword)
java中将一些单词用来表示特定的用途,例如定义一个类使用class,标记一个方法是公开的使用public,对一个方法使用返回值时使用return,声明一个包使用package等;着一些有着特殊用途的英文单词统一称之为关键字,以下为Java的关键字列表:
注意事项:
- Java中所有的关键字全部是英文小写单词
- goto和const这两个称之为保留字,目前在Java中没有任何用途
- null,true,false看上去非常像关键字,但是在java8官方文档中表示为一些固定的值,严格来说不属于关键字
5.3. 标识符
一个Java文件中除了关键字剩下的基本都可以认为是标识符;通常情况下由程序员自己命名的元素都称之为标识符:Java中可以由程序员自己命名的元素:
- 包名称
- 类名称
- 变量名
- 方法名
标识符的命名规范:
- 见名知义
- 大小写敏感
- 不能使用数字开头
- 避免使用中文命名
- 特殊符号只支持"_"和"$"
- 尽量使用英文单词,或者拼音
- 采用驼峰式命名规则
- 类名称:如果由多个单词构成,则每个单词的首字符大写,其余小写,例如HelloWorld
- 方法名和属性名:如果由多个单词构成,则第一个单词的首字符小写,其余单词首字符大写,例如:getUsername(),stuName
- 包的命名方式一般全部采用小写英文单词(域名倒置写法)
- 不能使用任何的关键字作为标识符
- 避免使用JDK中内置的类名称作为标识符
5.4. 变量与直接量
数据:程序设计绝大多数时候都是在用代码操作数据;数据是一种描述事物的符号,例如:人的年龄,身高,体重,性别等都是数据;只要是数据就存在变化的可能,在程序中通常使用变量(veriables)来表示数据.
5.4.1. 变量
变量:变量即一些可以被改变的数据量,变量的申明即向内存申请空间
- 变量声明的语法数据类型 变量名称 = 值
java">//声明变量并赋值
int age = 10;
//为变量重新赋值
age = 20;String s = "helloworld";
5.4.2. 直接量(魔法值)
直接量表示的是未经定义直接使用的数据值,例如:
java">System.out.println(50+50);
System.out.println("helloworld");