在大学学习Java,抽象的圣经(上)

107 阅读9分钟

为什么突然想写这个呢?主要是身边太多人想学习Java或者是已经开始学习Java但是又不知道怎么学习,所以写篇文章,对于我而言,这篇文章更像是回味自己学习Java的路程还有提供一些所谓的经验,哈哈哈哈哈哈!各位就当故事看吧!

故事的开始

计算机专业是所有故事的开始,很显然在刚开始接触这个时我还是一个小白,我没有接触过计算机的知识在大学之前,当然对于我而言,我认识代码最开始是通过ACM认识的,也就是所有人最开始触碰的语言---C语言,我记得最开始就是Hello World!,C语言写这些代码还是挺简单,当时通过测试进入了校队,成为了一个ACMer,学习算法,打竞赛,别说哈,还挺充实的,我记得当时就是跟着网课学习,学了很多基础的算法,也确实让我在整个大一阶段代码能力提升了很多,而且比如说离散数学,数据结构这些内容我同样可以吃老本,我是什么时候开始学习Java呢?答案是大一下学期,我拿到了一块牌子后我对很多语言都感兴趣,所以我很清楚贪多嚼不烂,所以我放弃了ACM,如果你问我后悔这个问题,我可以明确告诉你,五五开,因为我学习Java也获得很多知识,也非常开心!!!

Java初认识

不得不说我最开始学习Java是大学的面向对象编程这门课程,这门课程也就是我们常说的Java课,你如果问我难度,咋说呢,应该算是中中等等吧,当初我以为他会教我们很多Java知识,但说句实在话我感觉最重要的就是交给我了继承,实现,写方法,其他的说实话自行理解去吧,不好评价写什么,大学的Java会教你Java Swing,只能说很正常

抽象的圣经

Java最开始给我带来的感觉是用处很多,或者换句话来说是需要的场景很多,我并不是推荐各位去学习Java,语言都是有自己所对应价值的,并不是说Java就很高尚,所以各位喜欢学什么语言按自己的爱好学习就行
在我看来吧,C/C++我只用它来写算法,Java写应用,Python学习大模型和人工智能,今天我们只讲Java,为什么说Java是抽象的圣经,我觉得是因为社会对Java的态度等原因,有些人觉得学Java很普通,但是又再后来把这个语言奉为就业的神明,我想说的是,能学好一门语言本身就是一件让人骄傲的事情,并没有什么这个语言好这个语言就低劣,所以Java还是很值得一学的,既使你不以这个语言就业,你也可以学习到很多这个语言的特性和性质,发现这个语言庞大的生态圈,活跃的交流社区,流行的新技术

我的Java学习道路

很显然,每个人学习一门语言的时候都是非常艰难的,不是说有多复杂,而是在面对新事物的时候,我们确实会出现很迷茫的心态,就比如,我刚开始接触Java时,我很羡慕那些学成了的学长,我不断地请教,但是很显然并没有什么收获,别人学到的,那终究是别人的,想要学会东西,得要自己努力,所以我开始了解Java怎么学,我也迷茫过,后来我就在某多多上面买网课学习,我就来分享我的学习之路吧

1.基础

首先不管怎么样Java基础是一定要会的
学习Java基础的过程可以分为几个阶段,从了解基础概念到编写简单的程序

1. 初步了解与准备

  • 了解Java语言:了解Java的历史、用途和特点。Java是一种面向对象的编程语言,具有跨平台特性(“一次编写,到处运行”)。
  • 安装JDK:下载并安装Java Development Kit (JDK),它包含Java编译器和运行时环境。还需要安装一个集成开发环境(IDE),如 IntelliJ IDEA、Eclipse 或 NetBeans。

2. 基础语法

  • Hello World:编写并运行第一个Java程序“Hello World”,熟悉Java程序的基本结构。
  • 数据类型和变量:了解Java的基本数据类型(如int、double、char、boolean)和变量的声明与初始化。
  • 运算符:学习各种运算符(如算术运算符、关系运算符、逻辑运算符)及其使用方法。

3. 控制结构

  • 条件语句:学习if-else和switch语句,用于根据条件执行不同的代码块。
  • 循环:掌握for、while和do-while循环,用于重复执行代码块。

4. 面向对象编程

  • 类和对象:了解类的定义和对象的创建,掌握面向对象编程的基本概念。
  • 方法:学习方法的定义、调用以及参数传递。
  • 构造函数:了解构造函数的作用及其使用方法。
  • 继承:掌握继承机制,实现代码复用和扩展。
  • 多态:学习方法重载和方法重写,实现多态性。

5. 常用类与API

  • 字符串处理:学习String类及其常用方法,如字符串的连接、比较、查找和截取。
  • 集合框架:了解Java集合框架,包括List、Set、Map等常用集合及其操作方法。
  • 异常处理:学习异常的捕获和处理机制,掌握try-catch-finally语句。

6. 文件操作与IO

  • 文件读写:学习如何使用Java的输入输出流进行文件的读取和写入操作。
  • 序列化:了解对象序列化的概念及其实现方法。

在我看来在这里应该是整个Java学习15%的地方,我感觉整个Java体系像一个倒三角,前面的知识较为简单,花的时间也较少,后面的内容就会开始变难,时间成本也会增加

数据库MySQL&SQL语句

1. 数据库基础

  • 数据库概念:理解数据库的定义、功能和作用。数据库是用于存储、管理和检索数据的系统。
  • 关系数据库:掌握关系数据库的基本概念,包括表、行、列、主键、外键等。

2. SQL语言

  • 基本查询:学习SQL(Structured Query Language)的基础,包括SELECT、FROM、WHERE、ORDER BY、GROUP BY等语句。
  • 数据操作:掌握INSERT、UPDATE、DELETE等操作,进行数据的增删改。
  • 表操作:了解CREATE TABLE、ALTER TABLE、DROP TABLE等语句,用于表的创建和修改。
  • 约束和索引:学习主键、外键、唯一约束以及索引的作用和使用方法。

如果你是单纯学Java,数据库掌握到这里就行了,毕竟到后面如果连Mapper都不会写有点不合适

前端三大件

1. HTML(超文本标记语言)

基础知识:

  • HTML基础:了解HTML的基本结构和语法,掌握常用标签如<html><head><body><title><h1>-<h6><p><a><img><div><span>等。
  • 表格和列表:学习如何创建表格(<table><tr><td>)和列表(<ul><ol><li>)。
  • 表单:掌握表单元素及其属性,包括<form><input><textarea><button><select>等。
  • 语义化标签:了解HTML5的语义化标签,如<header><nav><section><article><footer>等,提升网页结构的清晰度和可维护性。

实践方法:

  • 动手练习:编写简单的HTML页面,如个人简历、博客页面等。
  • 项目实践:制作一个包含多个页面的简单网站,练习页面间的链接和导航。

学习资源:

  • MDN Web Docs:HTML入门教程
  • W3Schools:HTML教程
  • Codecademy:HTML课程

2. CSS(层叠样式表)

基础知识:

  • 选择器和属性:了解CSS选择器的基本用法,如元素选择器、类选择器、ID选择器、属性选择器等。掌握常用的CSS属性,如颜色(colorbackground-color)、文本(font-sizefont-familytext-align)、盒子模型(widthheightpaddingmarginborder)等。
  • 布局:学习CSS布局技术,包括传统布局(浮动、定位)和现代布局(Flexbox、Grid)。
  • 响应式设计:了解媒体查询的概念及其使用,掌握如何创建响应式布局以适应不同设备和屏幕尺寸。
  • 动画与过渡:学习CSS动画和过渡效果,掌握基本的动画属性(transitionanimation)及其用法。

实践方法:

  • 样式设计:为HTML页面添加样式,制作美观的网页。
  • 布局练习:使用Flexbox和Grid布局技术,设计复杂的网页布局。

学习资源:

  • MDN Web Docs:CSS入门教程
  • W3Schools:CSS教程
  • Flexbox Froggy:学习Flexbox的小游戏
  • Grid Garden:学习CSS Grid的小游戏

3. JavaScript(脚本语言)

基础知识:

  • 基本语法:学习JavaScript的基本语法,包括变量声明(varletconst)、数据类型、运算符、条件语句(ifelse)、循环(forwhile)。
  • 函数:掌握函数的定义和调用,了解函数表达式、箭头函数、回调函数等概念。
  • 对象和数组:学习对象和数组的基本操作,掌握常用的方法,如数组的增删改查、对象的属性访问和方法调用。
  • DOM操作:了解DOM(文档对象模型)的基本概念,掌握通过JavaScript操作DOM的方法,如getElementByIdquerySelectoraddEventListener等。
  • 事件处理:学习事件处理的基本方法,了解事件冒泡和事件捕获的机制。

实践方法:

  • 小项目:编写简单的JavaScript应用,如计时器、待办事项列表、简易计算器等。
  • DOM操作:通过JavaScript操作DOM元素,制作动态网页效果。

学习资源:

  • MDN Web Docs:JavaScript入门教程
  • W3Schools:JavaScript教程
  • Codecademy:JavaScript课程
  • JavaScript30:30天30个JavaScript项目

但是前端学到这里是远远不够的,后面我会说,但是前提是这个要会啊

网络编程(JavaWeb)

网络编程说实话我都不知道咋说,因为很容易变成白学公主,但是总不能直接Spring,但其实没有什么问题,可是我觉得还是有必要给大家说说的,首先Servlet就是一个很重要的学习阶段,但是很显然后面都会被spring代替,所以我直接进入最重要的学习spring阶段

Spring(框架)

框架是什么???
这个问题我相信很多小白都会问,你可以把它理解为是一个可以加快开发的工具,Spring框架可以说是一个总称,到后面会学到SpringBoot,SpringSecurity,SpringMVC,等大量的框架,这个等我们后面下一篇文章会讲,先到这里吧,吃饭!!!