Java 笔记 01:Java 概述,MarkDown 常用语法整理

一、前言

记录时间 [2024-04-18]

昨天整理完 Docker 基础后略微思索了一下,还是决定把 Java 捡起来,系统地学习一遍,参考的学习课程是狂神说 Java 零基础,真诚感激此系列视频对笔者的帮助。

零基础可以学 Java 吗?只要清楚自己在干什么,想学,就学。

本文介绍了计算机和 Java 相关知识,整理了 MarkDown 笔记的常用语法,从零基础开始,走进 Java 的世界。

编程语言各有千秋,没有绝对的优势和劣势。Java 语言的特点:后端 / 全栈工程师必备,薪资高,岗位多,生态成熟,广泛运用于大数据、云计算、微服务、app、管理后台、电商平台、SaaS云等领域。

从 TIOBE:编程语言走势中可以发现,近 20 年来,Java 的热度依旧很高。

在这里插入图片描述


二、Java 学习方式

从零基础开始,逐步搭建对 Java 的认识:

JavaSE ==> 数据库 ==> 前端 ==> JavaWeb ==> SSM 框架 ==> Linux ==> SpringBoot ==> SpringCloud ==> Hadoop

如何做到高效学习?

  • 多写代码、多写笔记、多写文章
  • 多练交流、多练思维、多练技能
  • 多分享知识、多提问(怎么了)、多思考(为什么)
  • 坚持!!! 不要怕出错

写博客的重要性:为什么要写博客?

  • 学习需要总结和思考

  • 提升文笔组织能力

  • 提升学习总结能力

  • 提升逻辑思维能力

  • 帮助他人,结交朋友

  • 一些写博客地方:CSDN;博客园;简书;知乎;Wordpress;Typecho …


三、MarkDown 语法

写技术类文章推荐使用 MarkDown 语法,几乎所有的博客网站都支持 MarkDown 语法。

MarkDown 是一种纯文本格式的标记语言,通过使用不同的标记表示文章结构(如标题、字体、超链接等),可以使得文章思路清晰,风格多样,美观又整洁。同时,HTML 语言也可在 MarkDown 中嵌套使用。

这里推荐一个本地的 MarkDown 文本编辑器——Typora,Typora 的笔记文件以 .md 后缀结尾,每篇笔记都有详细的大纲。


1. 标题设置

在 MarkDown 中最多支持 6 个级别的标题,通过标题会自动生成大纲。

使用方式:# + 空格 + 标题;也可以用:Ctrl + 1/2/3

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

2. 字体设置

在 MarkDown 中支持多种风格的字体:

# 加粗,快捷键 Ctrl + B
**hello,world**
# 斜体
*hello,world*
# 斜体加粗
***hello,world***
# 删除线
~~hello,world~~

# 修改颜色,这里嵌套了 HTML 风格
<span style="color:red">hello,world</span>
# 高亮提示
<mark style="background-color: colorName/hexOfColor">hello,world</mark>

3. 引用设置

在 MarkDown 中可以对笔记的引用部分进行设置。

使用方式:> + 空格 + 引用内容

# 引用方式
> 这里写引用的内容

4. 分割线设置

在 MarkDown 中可以使用分割线,对文章内容进行分割。

有两种方式:三个杠或三个星

# 分割线
---
***

# 空一行
<br>

5. 图片设置

在 MarkDown 中,我们可以插入图片。图片类型有两种:本地图片 + 网络截图,MarkDown 中写入图片的路径就可以添加。

网络截图通过 URL 访问即可,很多情况下,本地图片会使用比较多。

为了方便对本地图片进行管理,我们一般把它们存放到同一个文件夹,在文件 ==> 偏好设置中可以设置图片存放的位置,推荐使用相对路径,否则你在电脑上移动了文件夹,笔记里的图片绝对路径就会失灵。

在这里插入图片描述

MarkDown 中添加图片的方式:! + [] + (URL)

# 网络截图 URL 是图片的路径
![网络截图](URL)

# 本地图片
# 只要复制图片 粘贴到笔记里,图片会自动保存进文件夹 非常方便
![本地图片](./assets/image-20240418125221686.png)

6. 超链接设置

在 MarkDown 中可以设置超链接,点击超链接可以访问对应的网址。

使用方式:[] + (URL)

# 超链接设置
[欢迎访问笔者的博客](https://blog.csdn.net/Sareur_1879?type=blog)

7. 列表设置

在 MarkDown 中可以设置列表来记录一些有规律的东西,罗列一些结论或者操作步骤。

列表有两种:有序列表 + 无序列表。

# 有序列表 1. + 空格 + 内容
1. 步骤一
2. 步骤二

# 无序列表 - + 空格 + 内容
- 步骤一
- 步骤二

有序列表示例如下:列表前面的 123 是灵活的,比如把 2 删除,后面的序号会自动修正。

  1. 步骤一
  2. 步骤二
  3. 步骤三

无序列表示例如下:

  • 步骤一
  • 步骤二
  • 步骤三

8. 表格设置

在 MarkDown 中可以设置表格来进行总结。

在 Typora 中,可以通过右键来新建表格,设置行列即可生成。

正规的语法如下:

# 手写版本
# 注意要把每一行中间的空格删掉
# 删除方式:启用源代码模式

| 名字 | 性别 | 生日     |
| ---- | ---- | -------- |
| 张三 | 男   | 1997.1.1 |

效果查看:

名字性别生日
张三1997.1.1

9. 代码设置

在 MarkDown 中可以插入代码块:```+ 语言 + 回车

# 单行代码
`hello`

# 代码块 以 java 语言示例
```java
public
```

四、计算机相关知识

计算机(Computer),全称电子计算机,俗称电脑,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

计算机由硬件和软件组成,常见的形式有台式、笔记本、大型 / 超级计算机等,广泛应用在科学计算、数据处理、自动控制、计算机辅助设计、人工智能、网络等领域。

1. 计算机硬件

计算机硬件是指一些物理装置按系统结构的要求构成的一个有机整体,主要包含:CPU内存 Memory主板 MotherBoard、电源、主机箱、硬盘、显卡,以及一些 IO 设备如键盘、鼠标、显示器等等。

计算机硬件为计算机软件的运行提供了物质基础。

冯 · 诺依曼体系结构

摘自百科的冯 · 诺依曼简介:

约翰 · 冯 · 诺依曼是二十世纪最重要的数学家之一,在纯粹数学和应用数学方面都有杰出的贡献。

约翰 · 冯 · 诺依曼是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,在数学的诸多领域都进行了开创性工作,并作出了重大贡献。鉴于他在发明电子计算机中所起到关键性作用,他被西方人誉为 “计算机之父”。而在经济学方面,他也有突破性成就,被誉为 “博弈论之父”。

约翰 · 冯 · 诺依曼在第二次世界大战期间曾参与曼哈顿计划,为第一颗原子弹的研制作出了贡献。

图灵奖:1966年,美国计算机协会(ACM)设立图灵奖,用以奖励那些对计算机事业作出重要贡献的个人,是美国计算机协会在计算机技术方面所授予的最高奖项,被喻为计算机界的诺贝尔奖。

冯 · 诺依曼体系结构,也称普林斯顿结构,是一种经典的计算机体系结构,由数学家约翰 · 冯 · 诺依曼于 1945 年提出。如图所示,由存储器、运算器、控制器,以及输入 / 输出设备组成。

在这里插入图片描述


2. 计算机软件

计算机软件可以使计算机按照事先预定好的顺序完成特定的功能。计算机软件按照其功能划分为系统软件和应用软件。

  • 系统软件:DOS(Disk Operation System)、Windows、Linux、Unix、Mac、Android、iOS;
  • 应用软件:WPS、QQ、绝地求生等等,就是我们平时下载的那些。

我们可以使用 IDEA 来进行软件开发,使用命令行 / 图形化界面等方式实现人机交互


3. Windows 常用快捷键

观察计算机键盘,可以发现一些功能键:Tab、Shift、Ctrl、空格、Enter、Win,以及上 / 下 / 左 / 右等等。通过组合这些功能键,可以实现如下操作:

  • Ctrl 系列:
    • 全选 Ctrl + A、复制 Ctrl + C、粘贴 Ctrl + V、剪切 Ctrl + X、撤销 Ctrl + Z、保存 Ctrl + S
  • 关闭窗口:Alt + F4
  • 永久删除:Shift + Delete
  • 打开 CMD 命令窗口:Win + R
  • 打开我的电脑:win + E
  • 打开用户常用设置:Ctrl + Alt + Delete
  • 打开任务管理器:Ctrl + Shift + Esc
  • 放大镜:Win and +

4. DOS 命令

使用 DOS 命令在 CMD 命令行中完成一些操作。

打开 CMD 的方式

  1. 在开始菜单搜索命令提示符
  2. Win + R 输入 cmd 并回车(推荐使用)
  3. 在任意文件夹下面,按 Shift + 鼠标右击,选择在此处打开命令行窗口
  4. 在资源管理器的地址栏,删掉文件路径,然后输入 cmd 并回车

管理员方式运行:选择以管理员方式运行,可以获得最高权限。

常用Dos命令

Windows 中常用的 Dos 命令如下:

D:						# 切换盘符
dir						# 查看当前目录下所有文件
cd 文件夹路径 			 # 切换目录 change directory
cd /d d:\IDE			# 跨盘符切换到文件夹  从其他盘切换到了 D 盘的 IDE 文件夹 
cd .. 					# 返回上一级
cls						# 清理屏幕 clean screen
exit					# 退出终端
ipconfig				# 查看电脑 ip
ping www.baidu.com		# ping 命令 测试网络是否正常

# 打开应用
calc					# 打开计算器
mspaint					# 打开画图工具
notepad					# 打开记事本
	
# 文件操作
md 目录名				  # 创建 目录 / 文件夹
cd 目录名				  # 进入 目录 / 文件夹
rd 目录名				  # 删除 目录 / 文件夹
cd> 文件名				  # 创建文件
del 文件名				  # 删除文件

5. 计算机语言发展

第一代语言

机器语言,使用二进制 0 和 1 编写,这种代码可以直接输入计算机使用,不需要任何转换。

因为二进制是计算机的基本计算方式。

第二代语言

汇编语言,使用指令代替二进制,解决人类无法读懂机器语言的问题。

汇编语言应用于逆向工程、机器人,以及病毒等领域。

第三代语言

摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔 18 个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔 18 个月翻两倍以上。

高级语言,大体上分为面向过程和面向对象两大类,例如,C 语言面向过程,C++ 和 Java 语言面向对象。

高级语言主要有:C 语言、C++、Java、C#、Python、PHP、JavaScript 等。其中,Java 多用于系统开发,Python 多用于人工智能和大数据分析,PHP 多用于网站搭建。


五、Java 的诞生与发展

1. Java 帝国的诞生

源于 C & C++

1972 年 C 语言诞生,C 语言具备贴近硬件、运行极快、效率极高的优势,被广泛应用于操作系统、编译器、数据库、网络系统等领域。

然而,C 语言虽然提供了指针和内存管理,却没有提供越界检查的工具,且内存空间需要手动定义和释放。这些问题在程序编译期间往往难以被发现,到了运行之时才会突然暴露,需要花费大量精力去调试程序。

C 语言需要尽可能标准地使用函数库,针对每个平台都要写一份脚本,C 语言效率固然高,但对于新手来说却并不友好。


1982 年 C++ 诞生,兼容了 C 语言,并添加了面向对象的功能,以及静态类型的检查,应用于游戏、图形等领域。但是,C++ 语言相对来说很复杂。


程序员想要拥有这样一款语言:它的语法有点像 C,但没有指针和内存管理;具备可移植性,能实现编写一次,到处运行;且面向对象、类型安全,具备高质量的类库。


Java 初生与发展

时间来到 1995 年,当时的网页简单粗糙,缺乏互动性。Java 开发者在浏览器中布置了一个小插件,在插件中放入 Java 的运行环境,并开发了一个图形界面的程序 Applet,吸引了一大批程序员的注意。

1998 年,Java 开发了三个版本,开始向桌面、手机、服务器三个领域进军,想要通过 Java 2 标准版(J2SE)占领桌面端,通过 Java 2 移动版(J2ME)占领手机端,通过 Java 2 企业版(J2EE)占领服务器端。

Java 的成功离不开互联网的发展。后来,虽然 Java 很快在桌面和手机端败下阵来,却在服务器端站稳了脚跟,强大、健壮、简单、安全、跨平台都是它的优势,适合团队开发复杂的大型项目。


Java 逐渐展示了其高可用,高性能,高并发的特性。基于 Java 开发的平台、系统、工具越来越多:

  • 构建工具:Ant,Maven,Jekins
  • 应用服务器:Tomcat,Jetty,Jboss,Websphere,WebLogic
  • Web 开发:Struts,Spring,Hibernate,MyBatis
  • 开发工具:Eclipse,Netbean,Intellij IDEA,Jbuilder

2006 年,Java 通过 Hadoop 占据了大数据领域;2008 年,Java 借助 Android 活跃在手机端。

于是乎,一个伟大的帝国诞生了!


2. Java 特性和优势

  • 简单性:没有头文件,没有指针运算,不用分配内存,语法基于 C;
  • 面向对象:重点放在对象与对象之间的接口,模拟人的思维写程序;
  • 可移植性:Java 重要特性,代码可跨平台移植,做到一次编写,到处运行;
  • 高性能:编译效率高;
  • 分布式:Java 为网络分布式环境所设计,可处理 TCP/IP 协议相关内容,通过 URL 访问资源,支持通过网络远程调用一些方法;
  • 动态性:Java 通过反射机制具备动态性,此特性 C++ 不具备;
  • 多线程:同时运行多个软件,如一边看视频,一边听音乐;
  • 安全性和健壮性:Java 具备异常机制。

3. Java 三大版本

  • JavaSE:标准版,Java 的基础和核心,用于桌面程序、控制台开发;
  • JavaME:用于嵌入式开发,如手机、小家电,但用得比较少;
  • JavaEE:企业级开发,如 Web 端、企业应用系统、服务器开发。

4. JDK、JRE、JVM

  • JDK:Java 开发者工具,包含 JRE 和 JVM,扩充了开发工具;
  • JRE:Java 运行时环境,用于运行 Java 程序;
  • JVM:Java 虚拟机,模拟一个小巧的 CPU 处理 Java 相关的东西,是实现跨平台的核心

在这里插入图片描述


六、总结

本文介绍了计算机和 Java 相关知识,整理了 MarkDown 笔记的常用语法,从零基础开始,走进 Java 的世界。


一些参考资料

狂神说 Java 零基础:https://www.bilibili.com/video/BV12J41137hu/

TIOBE 编程语言走势: https://www.tiobe.com/tiobe-index/

Typora 官网:https://www.typoraio.cn/

Oracle 官网:https://www.oracle.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554984.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【创建型模式】建造者模式

一、建造者模式概述 建造者模式定义&#xff1a;将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同得表示。(对象创建型模式)。 建造者模式分析&#xff1a; 1.将客户端与包含多个部件得复杂对象得创建过程分离&#xff0c;客户端无需知道复杂对象…

vue快速入门(二十九)echarts在vue中的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 echarts.js的下载途径echarts的饼图示范 echarts.js&#xff0c;点击跳转&#xff0c;右键另存即可 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

BEV| lift-splat-shoot 运行配置

Lift, splat, shoot: Encoding images from arbitrary camera rigs by implicitly unprojecting to 3d

6.C++:继承

一、继承 //1.类中的保护和私有在当前类中没有差别&#xff1b; //2.在继承后的子类中有差别&#xff0c;private在子类中不可见&#xff0c;所以用protected&#xff1b; class person { public:void print(){cout << "name:" << _name << endl;c…

《乱弹篇(29)崇州寻兰》

几天前天气骤然暴热&#xff0c;致使本老龄笔者血氧饱和度急剧下降至89&#xff0c;心率加速高达110至120&#xff0c;晚上盖床夏被也觉浑身燥热&#xff0c;很不舒服&#xff0c;彻夜难眠&#xff0c;便有一种“快走了”的不祥预感袭上心头。其实&#xff0c;我真的祈盼能心肌…

计算机视觉——基于OpenCV和Python进行模板匹配

模板匹配&#xff1f; 模板匹配是它允许在一幅较大的图像中寻找是否存在一个较小的、预定义的模板图像。这项技术的应用非常广泛&#xff0c;包括但不限于图像识别、目标跟踪和场景理解等。 目标和原理 模板匹配的主要目标是在一幅大图像中定位一个或多个与模板图像相匹配的…

隧道中心线提取

作者&#xff1a;迅卓科技 简介&#xff1a;本人从事过多项点云项目&#xff0c;并且负责的项目均已得到好评&#xff01; 公众号&#xff1a;迅卓科技&#xff0c;一个可以让您可以学习点云的好地方 重点&#xff1a;每个模块都有参数如何调试的讲解&#xff0c;即调试某个参数…

HackMyVM-BaseME

目录 信息收集 arp nmap WEB web信息收集 gobuster hydra 目录检索 ssh 提权 get user sudo base64提权 get root 信息收集 arp ┌─[rootparrot]─[~/HackMyVM] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168…

​波士顿动力发布全新人形机器人:Atlas

4月16日&#xff0c;波士顿动力&#xff08;Boston Dynamics&#xff09;发布了《再见&#xff0c;液压Atlas》视频&#xff0c;正式宣告其研发的液压驱动双足人形机器人Atlas退役。 在视频的结尾&#xff0c;Atlas深深鞠躬&#xff0c;之后还有一句话“直到我们再次相遇&…

ChatGPT及GIS、生物、地球、农业、气象、生态、环境科学领域案例

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

Count the Values of k

目录 题目总览 思路 参考代码 原题链接&#xff1a; CF1933C Turtle Fingers: Count the Values of k 题目总览 # Turtle Fingers: Count the Values of k ## 题面翻译 给你三个**正**整数 $a$ 、 $b$ 和 $l$ ( $a,b,l>0$ )。 可以证明&#xff0c;总有一种方法可以选择*…

如何用ChatGPT进行论文撰写?

原文链接&#xff1a;如何用ChatGPT进行论文撰写&#xff1f;https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601619&idx1&snb686fbe87dedfac2df3a6afe780b2ffe&chksmfa820c34cdf5852251dca64597024ea62ddbde280086535ec251f4b62b848d9f9234688384e6…

【论文速读】| 大语言模型是边缘情况模糊测试器:通过FuzzGPT测试深度学习库

本次分享论文为&#xff1a;Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT 基本信息 原文作者&#xff1a;Yinlin Deng, Chunqiu Steven Xia, Chenyuan Yang, Shizhuo Dylan Zhang, Shujing Yang, Lingming Zhang 作者单位&…

js高级 笔记02

目录 01 object提供的一些静态方法 02 词法作用域 03 作用域链 04 arguments的使用 05 开启严格模式 06 高阶函数 07 闭包 01 object提供的一些静态方法 Object.create() 对象继承 Object.assign(对象1,对象2) 对象合并 可以将对象2 里面的可枚举属性和自身的属性合并到…

C语言简单的数据结构:单链表的有关算法题(2)

题目&#xff1a; 4. 单链表相关经典算法OJ题3&#xff1a;合并两个有序链表5. 循环链表经典应⽤-环形链表的约瑟夫问题6. 单链表相关经典算法OJ题5&#xff1a;分割链表 接着我们介绍后面的三道题&#xff0c;虽然代码变多了但我们的思路更加通顺了 4. 单链表相关经典算法OJ题…

前端请求404,后端保无此方法

1、微信小程序前端路径404 2、后端报无此路径 3、查看路径下对应的方法 发现忘了在list方法前加GetMapping(“/list”)&#xff0c;加上即可

Python用于创建和可视化环形图的工具库之pycirclize使用详解

概要 Python pycirclize库是一个用于创建和可视化环形图的工具,它提供了丰富的特性和功能,可以帮助用户展示环形结构数据的关系和比例。本文将深入探讨pycirclize库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装pycirclize库非常简单,可以通过pip命令…

2024年华中杯数学建模竞赛全攻略:ABC题思路解析+代码实现+数据集+论文撰写+全程答疑

引言 &#xff08;比赛后所有题目资料在文末获取呀&#xff09; 华中杯数学建模竞赛是数学建模领域的一项重要赛事&#xff0c;它不仅考验参赛者的数学建模能力&#xff0c;还考验了编程技能、数据分析能力和论文撰写能力。为了帮助参赛者更好地准备2024年的竞赛&#xff0c;本…

记一次webshell排查但又无webshell的应急

某次应急中&#xff0c;客户吓坏了&#xff0c;说是内网流量分析设备中有很多webshell连接告警&#xff0c;作为一名卑微但又不失理想的安服仔&#xff0c;毅然直奔前线… 过程 去到现场后&#xff0c;直接打开客户的流量分析设备&#xff0c;的确看到一堆冒红的webshell连接…

【Java开发指南 | 第十二篇】Java循环结构

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 循环1、while循环2、do-while循环3、for循环 break 关键字数组for循环continue 关键字 循环 与C语言相同&#xff0c;Java中有三种主要的循环结构&#xff1a; while 循环do…while 循环for 循环 1、while循…