零基础入门到就业--JAVA篇
文章平均质量分 85
蟑螂恶霸不是恶霸
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
零基础入门到就业--JAVA篇
1.1 数据库简介1.2 学习环境准备1.1 前端知识介绍1.2 HBuilder下载安装教程1.3 VScode 下载安装教程1.4 学习在网页中调试前端代码1.1 spring相关基础概念1.2 Maven介绍与配置1.3 SpringMVC基础知识1.4 Spring基础知识1.5 Git分布式版本控制工具1.6 springboot基础知识1.7 spring中IOC容器及依赖注入1.8 spring中的自动装配1.9 spring中的代理模式1.10 spring中的AOP面向切面编程。原创 2023-11-10 00:07:54 · 591 阅读 · 2 评论 -
前言-发文初衷及学习建议
计算机的底层原理说简单很简单,说复杂,它也是个庞大的知识库构成的,前期纠结这些东西,会将你自己拖入深渊,根本没有精力和信心继续学习下去的,当你入门之后,对整体的组成有所了解了,找到自己感兴趣的方向再去继续深入就好,不要想着把所有的事情都搞懂,相信我,如果你有这个能力,那你绝对不会看到我写的这段话!最后,祝愿大家早日成为大牛!原创 2023-01-11 21:01:33 · 112 阅读 · 0 评论 -
1.1-了解什么是计算机
计算机全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理数据的现代化智能电子设备。常见的形式有台式计算机、笔记本计算机。按照规模分为微型机、小型机、大型机、巨型机(超级计算机)等;计算机发明者约翰•冯•诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。原创 2023-01-11 21:03:51 · 1148 阅读 · 0 评论 -
1.2 了解JAVA语言
JAVA是一种面向对象的编程语言,简单的讲,面向对象是一种程序设计技术,在JAVA的世界中,可以把所有事物都比作成一个对象,比如一只狗,可以看作JAVA中的dog对象,而这只狗的颜色,品种,大小,性格等都可以是这个dog对象的属性。J2ME-----------Java移动端技术,后期衍生出来了Android方向。Linux版的JVM-------------------运行在Linux系统上。Windows版的JVM--------------运行在Windows系统上。原创 2023-01-11 21:04:49 · 570 阅读 · 0 评论 -
1.3 认识程序开发
研究:所用技术人员、资金、时间、政策、风俗、法律风险等等;分析:功能性分析、非功能性分析分析各功能的性能(更好的使用)-----如登录和注册的安全性、并发量(单位时间内能处理的访问量)等;原创 2023-01-11 21:06:25 · 760 阅读 · 0 评论 -
1.4 java学习的环境准备
idea提倡的是智能编码,目的是减少程序员的工作,其特色功能有智能的选取、丰富的导航模式、历史记录功能等,其分为免费的社区版和收费的专业版,刚开始使用社区版即可,但后期还是建议大家更换为专业版,如果大家囊肿羞涩,可以在免费使用期30天结束后,卸载重新安装,即可重新获得专业版30天的免费试用,或者可以自行百度如果不花钱使用专业版,这里因为知识产权保护,不得发表相关内容,所以抱歉各位。此时,JDK就安装成功了,如果出现问题的话,重复以上步骤检查是哪里出了问题,着重注意路径是否正确,是否是到bin文件的目录;原创 2023-01-11 21:06:55 · 615 阅读 · 0 评论 -
2.1 第一个JAVA程序
接下来,让我们来编写第一个JAVA程序–hello world。原创 2023-01-24 18:53:57 · 105 阅读 · 0 评论 -
2.2 标识符与关键字
我们在编写第一个JAVA程序时可以发现,工程名和包名全部由小写字母组成,类名中单词的第一个字母全部为大写,今后,我们的类中还会有很多方法,方法名应为第一个单词全部小写,其余的单词首字母全部大写,例如:firstProject(){};如果你不按照建议的方法去使用大小写也是可以的,但是JAVA是一种约定大于规定的语言,在很多时候都会有一些通俗约定在日常开发中,按照约定去使用JAVA语言会让代码之间的通用性更加友好,同时也更容易区别哪些是类,哪些是方法。标识符可以简单的理解成一个名字。原创 2023-01-24 18:56:37 · 1154 阅读 · 0 评论 -
2.3 注释
文档注释可以在包,类,方法,甚至是字段中使用,但是要注意,都要放到其前边,当然,因为其不会对程序运行产生任何影响,所以其不会报错,但是这是一种大家默认的约定的事情,看到注释的第一时间,就默认这个注释是写给接下来的下方的代码的。作用:当行注释无法满足你的记录需求时,你可以选择块注释来进行记录,使用“ /* ”作为开头,中间作为你要记录的内容,以 “ * / ” 结束,中间的内容全部都为注释的内容。在JAVA中,有3种标记注释的方式,分别为 行注释,块注释和文档注释。格式: 以 “/** ” 开头。原创 2023-01-24 18:57:52 · 1230 阅读 · 0 评论 -
2.4 基本数据类型
JAVA是一种强类型语言(相对于JAVA8来说,目前JAVA19已经在解决这种局面),这就意味着必须为每一个变量声明一种类型。JAVA中的基本数据类型分为4种整数型,2种浮点型,1种字符型,1种表示真假的boolean型。在JAVA中,分为基本数据类型,引用数据类型以及泛型,本小节主要介绍8大基本数据类型。原创 2023-01-24 18:58:42 · 102 阅读 · 0 评论 -
2.4.1 整数型
整型用于表示没有小数部分的数字,比如1,2,3等,其允许是负数,JAVA共提供了4种整型数据类型,分别是byte,short,int,long.类型字节长度取值范围byte4字节short2字节int8字节long1字节-128 ~ 127大多数情况下我们只要使用int类型即可,但是平时还是要注意数据越界的问题,其每个类型都有自己可得取值范围,如果传入的数超过其取值范围就会产生越界的问题,这个我们后边还会再详细介绍。原创 2023-01-24 18:59:36 · 570 阅读 · 0 评论 -
2.4.2 浮点型
浮点类型用于表示有小数部分的数值。在JAVA种有俩种浮点类型,分别是float和double.double表示这种类型的数值精度是float类型的俩倍,在大多数时候,float类型的精度(6~7位有效数字)并不能满足需求,所以大多时候在开发种都是使用double类型,只有需要单精度或者需要存储大量数据时才会考虑float。原创 2023-01-24 18:59:57 · 462 阅读 · 0 评论 -
2.4.3 char类型与boolean型
char类型用于表示单个字符,其值要用单引号括起来,在计算机世界中,‘A’ 是编码值为65的字符常量,但"A"是包含一个字符A的字符串,大家要注意区分,所以本质上char类型是一个整数(0-65535)。在char类型赋值操作时,有两种不同的写法:- 字符赋值形式---->将字符内容写在一对单引号中;- 整数赋值形式---->范围在0-65535之间的整数;原创 2023-01-24 19:00:48 · 406 阅读 · 0 评论 -
2.4.4 数值类型的转换
自转与强转适用于除布尔型之外的所有基本数据类型,但是因为有的数据类型表示的数位多,有的数据类型数位少,所以数位多的数据类型强转为数位少的数据类型时,会出现精度丢失问题。自转只能发生在小的类型转换为大的类型,基本数据类型中,除去布尔值,其他基本数据类型都遵循此规则,布尔值因为其特殊性,无法与其他数据类型进行强转或自转。需要注意的是,char类型与int类型是看作同包含同等位数的俩个类型。基本数据类型中,除去布尔值,其他基本数据类型都遵循此规则,布尔值因为其特殊性,无法与其他数据类型进行强转或自转。原创 2023-01-24 19:01:57 · 1208 阅读 · 0 评论 -
2.5 变量与常量
JAVA通过变量来存储相关的值,可以改变的值,称为变量。在Java语言中,所有的变量在使用前必须声明其具体的类型,一般通过“变量类型 变量名 = 变量值;”这三部分来描述一个变量。如:int a = 3。变量的使用遵循就近原则,即尽量控制变量的使用范围到保持可能的最小范围。常量就是固定不变的变量,可以理解为一种特殊的变量。原创 2023-01-29 23:42:48 · 275 阅读 · 2 评论 -
2.6 JAVA运算符
运算符用于连接表达式的操作数,并对操作数执行运算。例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”。算术运算符赋值运算符关系运算符逻辑运算符位运算符单目运算符双目运算符三目运算符单目运算符只有一个操作数,双目运算符有两个操作数,三目运算符则有三个操作数。位运算符涉及到二进制位的运算,在java 程序中运用不是很多。原创 2023-01-25 20:06:32 · 999 阅读 · 0 评论 -
2.7 分支结构
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构的语句来实现。原创 2023-01-28 23:10:46 · 115 阅读 · 0 评论 -
2.7.1 switch分支结构
语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束。switch-case语句是根据一个整数的不同取值,去判断执行不同的代码。简单来说,该语句是一个只能判断是否相等的分支语句。原创 2023-01-28 23:02:58 · 597 阅读 · 0 评论 -
2.7.2 for循环结构
for循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。原创 2023-01-28 23:15:42 · 358 阅读 · 2 评论 -
2.7.3 break和continue的实际应用
break: 直接结束当前循环,跳出循环体,简单粗暴,其作为中断流程控制语句使用,用于退出循环语句。break以后的循环体中的语句不会继续执行,循环体外的会执行注意如果是嵌套for循环,在内层循环遇到了break,只会跳出当前这一层内循环哦continue: 跳出本轮循环,继续下一轮循环continue后本轮循环体中的语句不会继续执行,但是会继续执行下轮循环,循环体外的也会执行。原创 2023-01-28 23:16:50 · 180 阅读 · 0 评论 -
2.7.4 while循环结构
while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。原创 2023-01-28 23:20:22 · 382 阅读 · 2 评论 -
2.8 方法的创建、调用与重载
被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性;比如main方法,println方法等。方法只是一个功能, 将其方法代码编写好后,之后每次使用只需调用其方法就可以了。原创 2023-01-29 23:44:41 · 95 阅读 · 2 评论 -
2.9 数组
数组Array,标志是[ ],用于存储多个相同类型数据的集合;想要获取数组中的元素值,可以通过脚标(下标)来获取;数组下标是从0开始的,下标的最大值是数组的长度减1;原创 2023-01-29 23:46:25 · 99 阅读 · 2 评论 -
2.9.1 数组的创建与常用方法
注意数组一旦创建,长度不可改变,其在创建时,已经规定好了长度,如果想要增加或者删除数组中的元素,只能先创建一个新长度的数组,再将原数组的数据复制过去;char类型的数组底层中做了处理,可以直接打印数组中的具体元素,除了char类型以外的数组想要查看数组中的具体元素,需要使用数组的工具类Arrays;使用Arrays.copyOf(数组,新的长度)方法对数组进行扩容;数组的扩容:给数组扩大容量,新数组的长度>原数组的长度。数组的缩容:缩小数组的容量,新数组的长度原创 2023-01-29 23:46:50 · 383 阅读 · 2 评论 -
2.9.2 数组的遍历与排序
同时,JAVA有一种功能很强的循环结构——增强for循环,其可以依次处理数组(或者其他元素集合)中的每个元素,而不用考虑下标的影响。Arrays.sort(数组)可对数组进行排序,对于基本类型的数组使用的是优化后的快速排序算法,效率高。for(数据类型 用来接收数据的变量名 :原始数据的变量名){};month[month.lenght-1]表示数组的结束,对引用类型数组,使用的是优化后的合并排序算法;month[0]代表数组的开始,原创 2023-01-29 23:46:54 · 476 阅读 · 2 评论 -
2.9.3 二维数组的创建与遍历
除了二维数组外,甚至还有多维数组,但是在实际开发中,并不会使用这么复杂的数据结构来进行数据的操作与保存,所以相关概念了解即可。j++) {//遍历内部数组。//依次打印二维数组中每个元素的值。i++) {//遍历外部数组。简单来说,存放数组的数组就是二维数组,也就是说数组里存的还是数组的数据形式;–给每个外部数组的位置创建内部数组,每个内部数组的长度是2。–二维数组生成唯一的地址值。原创 2023-01-29 23:47:27 · 285 阅读 · 2 评论 -
2.9.4 冒泡排序
(4)在上面一趟比较完成后,最后一个数一定是数组中最大的一个数,所以在比较第二趟的时候,最后一个数是不参加比较的。(5)在第二趟比较完成后,倒数第二个数也一定是数组中倒数第二大数,所以在第三趟的比较中,最后两个数是不参与比较的。(3)如此继续,知道比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。反之,只要数据没有交换的变化,那么表示数据已经排序完成,不需要继续执行后续的循环。依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。冒泡排序的核心就在于执行轮次的优化。原创 2023-01-29 23:48:06 · 282 阅读 · 2 评论 -
3.1 面向对象
面向对象的方法主要是把事物给对象化,包括其属性和行为。面向对象编程更贴近实际生活的思想。总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象,(万物皆对象)。面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。原创 2023-01-30 21:34:11 · 554 阅读 · 0 评论 -
3.1.1 类和对象
计算机语言通过属性 + 行为来描述现实世界中的事物,在java语言中,我们可以通过类来描述一类事物,用成员变量描述事物的属性,用方法描述事物的行为。对象:除此之外,我们还可以创建对象,就相当于是照着图纸制造出来的一个个的手机,比如1号手机对象,包含特有的成员变量和方法。打开idea,在之前的工程下创建新的包partTwo,并在包下创建类TestPhone.java。每个对象有三个特点,对象的状态,对象的行为和对象的标识。手机的功能功能:打电话,发短信,听音乐。手机的属性:颜色,尺寸,品牌,价格。原创 2023-01-30 21:37:46 · 214 阅读 · 0 评论 -
3.1.2 访问控制符及修饰符
如在后续的多线程问题案例中,多个售票窗口同时售卖同一类型的票,在创建对个窗口对象时,如果使用普通常量创建,会导致同时创建多个静态的票,原本一共只有100张票,创建对象后则会变成多个100张,此时我们便可以使用静态常量来创建,避免这个问题。例如上方的代码,这个类的所有实例将共享一个nextId字段,但创建的每一个YuanGong对象都有一个自己的id字段,如果有100个YuanGong对象,那么就有100个id字段会被创建,分别对应每一个对象。在日常开发中,静态变量使用是比较少的,我们更多的是使用静态常量。原创 2023-01-30 21:40:18 · 453 阅读 · 0 评论 -
3.1.3 封装
封装是隐藏对象的属性和实现细节,仅仅对外提供公共的访问方式,比如类和方法提高安全性提高重用性。原创 2023-01-30 21:40:47 · 399 阅读 · 0 评论 -
3.1.4 构造函数及构造代码块
特点:方法名与类名相同,且没有返回值类型执行时机:创建对象时立即执行默认会创建无参构造,但是,如果自定义了含参构造,默认的无参构造会被覆盖,注意要手动添加构造方法可以重载,根据其参数的不同分为无参构造,含参构造及全参构造。原创 2023-01-30 21:41:57 · 429 阅读 · 0 评论 -
3.1.5 this关键字与supper关键字
如果不明确出来,按照子类优先的原则,相当于还是再调用重写的getName()方法,此时就形成了死循环,执行后会报java.lang.StackOverflowError异常。在子类B中,我们重写了父类的getName方法,如果在重写的getName方法中我们去调用了父类的相同方法,必须要通过super关键字显示的指明出来。其实在继承关系中,子类会默认调用父类的无参构造,其就是靠super关键字实现的。==注意,this不能同时出现在俩个互相调用的方法语句中,会死循环。this代表本类对象的一个引用对象。原创 2023-01-30 21:43:00 · 227 阅读 · 0 评论 -
3.1.6 重载
重载使我们的代码更灵活,传入不同的参数,都可以有对应的方法被调用;指在同一个类中,存在多个同名方法,但参数列表不同的现象;原创 2023-01-30 21:43:17 · 185 阅读 · 0 评论 -
3.1.7 继承
新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类)继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力.如果父类的成员变量与子类的成员变量同名时,使用super变量名指定父类的成员变量。这种继承使得复用以前的代码非常容易,能够大大的缩短开发的周期,降低开发费用.- 提高了代码的复用性(多个类相同的成员可以放在同一个类中)Java继承是会用已存在的类的定义作为基础建立新类的技术。- 继承让类与类建立了关系,类的耦合性增强。原创 2023-01-30 21:44:11 · 367 阅读 · 0 评论 -
3.1.8 多态
再比如,小猫、小狗、小猪我们可以把他们都归纳成小动物,每种小动物都需要吃东西,所以我们可以统一设置他们都必须吃,但是每种小动物的习性不一样,那这个就可以设置成小动物自己特有的功能,多态对象只能调用父类中定义子类中重写的功能,并不能调用子类的特有功能,这样就实现了代码的统一。在JAVA中,继承是一个重要的特征,通过extends关键字,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。其实,相当于创建了一个子类对象一样,可以用父类的,也可以用自己的。原创 2023-01-30 21:44:21 · 441 阅读 · 0 评论 -
3.2 抽象类
Java中可以定义被abstract关键字修饰的方法,这种方法只有声明,没有方法体,叫做抽象方法.Java中可以定义被abstract关键字修饰的类,被abstract关键字修饰的类叫做抽象类注意:3.特点abstract 可以修饰方法或者类被abstarct修饰的类叫做抽象类,被abstract修饰的方法叫做抽象方法抽象类中可以没有抽象方法如果类中有抽象方法,那么该类必须定义为一个抽象类子类继承了抽象类以后,要么还是一个抽象类,要么就把父类的所有抽象方法都重写多用于多态中抽象类不可以被原创 2023-02-03 16:57:10 · 465 阅读 · 0 评论 -
3.3 接口
继承关系,只支持单继承比如,A是子类 B是父类,A具备B所有的功能(除了父类的私有资源和构造方法)子类如果要修改原有功能,需要重写(方法签名与父类一致 + 权限修饰符>=父类修饰符)原创 2023-02-03 16:57:51 · 372 阅读 · 0 评论 -
3.4 内部类
如果一个类存在的意义就是为指定的另一个类,可以把这个类放入另一个类的内部。就是把类定义在类的内部的情况就可以形成内部类的形式。原创 2023-02-03 16:58:45 · 583 阅读 · 0 评论 -
3.5 异常
异常是一些用来封装错误信息的对象它由异常的类型、提示信息、报错的行号提示三部分组成。原创 2023-02-03 16:59:13 · 771 阅读 · 0 评论
分享