穿衣打扮》起床》洗漱》出宿舍》》吃早餐》到教室
按照特定的顺序去完成某一件事的过程我们叫做生活中的程序
2.计算机中的程序:
一组有序指令的集合,需要和计算机交流就要使用计算机语言,java就是计算机语言的一种
3.java能做什么:
1、开发桌面应用程序,比如:QQ、酷狗
2、开发internet应用程序,比如:淘宝、天猫
4.java技术平台:
1、Java SE:标准版,java的技术与核心,开发桌面应用程序
2、Java EE:提供企业级项目的解决方案,开发网页应用
5.安装jdk:
jdk:java的一个核心工具包
jre:java的一个运行环境(表示java除了可以在windows系统运行,还可以在苹果系统运行)
环境变量:告诉计算机可以执行.java的运行程序在哪里
6.开发java程序的步骤:
1、编写一个java源程序
新建记事本,将后缀名改为.java
2、编译java源程序,语法:javac 源文件名.java
编译后会生成一个.class的字节码文件
3、运行java程序,运行的是.class的文件,语法:java 源文件名
注意:java严格区分大小写
System.out.println () 打印之后换一行,先打印再换行
System.out.print () 打印之后不换行
7.转义字符:
使用"\n"进行换行
使用"\t"空格一个制表符的位置,也就是一个tab的位置,8个英文字母的长度
8.java中的注释:
//注释内容 单 行注释:表示对下一条语句进行一个解释
/* 注释内容 */ 多行注释:表示对下面一段语句进行一个解释
/**注释内容 */ 文档注释:表示对一段文本注释
注释的语句是不会进行编译的
9.java的编码规范:
1、遇到大括号 { 就进行一次缩进,缩进距离一个tab键的长度
2、每一个大括号 } 单独占一行,表示一段语句的结束
3、 ; 表示每行语句的结束,每一行只写一句代码
10.使用开发工具开发java程序的步骤:
1、新建一个java工程
2、选中新建的工程,选中src文件夹,点击右键new,新建一个class,新建时选中
public static void main这一项,会自动生成java源程序的框架
3、去编写java源程序
4、编译java源程序,开发工具会自动编译
5、运行java程序
二、变量、数据类型和运算符
=============
1.每个程序都只有一个入口,也就是只有一个main方法,只有一个程序可以打开QQ,其他的地方都打
开不了
2.程序没有运行是存储磁盘上,运行在内存中
3.酒店中入住:
1、开房间(根据不同人数开不同类型的房间)
2、入住
4.变量的概念:内存根据数据不同类型开辟的这个空间叫做变量
酒店 相当于 内存
房间 相当于 变量
入住的人 相当于 数据(变量值)
房间类型 相当于 数据类型(数字还是文字)
房间号 相当于 变量名
5.变量名:用于快速找到内存中变量空间位置取得名字
6.数据类型:
数值型:
1、整型(int):用于存储整数,整数的类型123,999,666
byte字节型,short短整型,long长整型
long》int》short》byte
2、非整型:用于存储小数,小数的类型1234.5,3.14
双精度浮点型(double):小数的长度比较长
单精度浮点型(float):小数的长度短一些
非数值型:
1、字符型(char):用于存储单个字符,都需要使用英文状态的单引号括起来
比如:‘男’、‘女’、‘开’、‘关’
2、字符串型(String):用于存储一串字符,存储0~n个字符,都需要用英文状
态下的双引号括起来
比如:“我的名字是张三”,“我的爱好是打游戏”
7.变量名的命名规则:
1、只能够使用_和$这两个符号;
2、只能使用英文字母、_ 、$三个开头,后面的可以使用数字、字母和_ 、美元符号 ;
3、使用java语言中的关键字
4、采用见文识意的方式命名,采用驼峰命名法ageOfStudent,多个字母命名时,
第一个字母的首字母小写,后面字母首字母大写
8.变量的使用:
1、声明变量,就是在内存开一个空间
语法:数据类型 变量名;(空格和分号不能少),比如:int qian;
2、变量赋值,就是将数据放到开辟的这个空间
语法:变量名 = 变量值;比如:qian = 1000;
3、使用变量
比如:System.out.println(qian);
9.运算符的使用:
1、赋值运算符(=),将等号右边的值赋给左边
2、拼接运算符(+),将+左右两边的连起来
表达式:就是符号(如加号、减号)与操作数(如b,3等)的组合,比如:b-1
算术运算符:
四则运算:+、-、*、/
%(取模运算):除以一个数得到余数,就是求余数的运算的运算
10.从键盘扫描输入的值:
1、找到有扫描仪的商店,语法:import java.util.Scanner;写在public class的前面
2、购买一台新的扫描仪,给它取一个名字
语法:Scanner input = new Scanner(System.in);
3、使用扫描仪的扫描功能
如果扫描整数:使用input.nextInt();
如果扫描小数:使用input.nextDouble();
如果扫描字符串:使用input.next();
11.类型转换:
自动类型转换:
1、必须两种类型互相兼容,比如:都是数值类型int和double,double和float
2、转换成的类型一定要比被转换的类型要大,比如:int转换成double
float转换成double
12.强制类型转换:
语法:数据类型 变量名 = (数据类型)变量名;
比如:double b = 3.14
int a = (int)b;
1、同类型的强制类型转换,比如:int a = (int)10.9;
2、不同类型的强制类型转换,只有char和int可以,通过ASCII码表去转换
比如:int b = (int)‘a’;
13.运算符:
1、赋值运算符 =,将右边的值赋给左边
2、算术运算符+、-、、/、%,数学运算一样,先、/、%,后+、-
3、关系运算符(比较运算符):>、<、>=、<=、==、!=
4、逻辑运算符
boolean类型(布尔类型):用于比较运算,只有两个值(true和false)默认false
14.运算符的优先级:
1、最高优先级,英文状态下的小括号()
2、最低优先级,赋值运算符=
3、算术运算符>关系运算符>逻辑运算符>赋值运算符
三、选择结构
======
1.if选择结构
if基本选择结构
语法:if(要满足的条件){
如果条件为true的时候,进入大括号中
满足条件之后得到的结果,不满足条件不会去执行
}
如果条件为false的时候,绕过大括号执行外面的
条件只能是boolean类型的数据
1
2.逻辑运算符:
&&(shift+7):and符号,并且的意思,同时满足连接前后条件才为true,有一个不满足为
false
||(shirt+):或者的意思,只要前后两个条件一个为true,整个表达式就为true,同时为
false才为false
!(shirt+1):非的意思,就是取反,如果表达式为true,使用非就为false
3.if-else选择结构:
适用于基本选择条件的情况
语法:if(要满足的条件){
满足条件得到的结果
}else{
不满足条件的得到的结果
}
4.产生一个随机数:
1、找到一个有随机数产生器的商店,语法:import java.util.Random;
2、购买一台随机数产生器并取一个名字,语法:Random ran = new Random();
3、使用这台随机数产生器的功能区产生随机数,语法:ran.nextInt(数字);
ran.nextInt(10) 表示产生一个0~9之间的随机数
ran.nextInt(10) +1表示产生一个1~10之间的随机数
5.多重if选择结构:
适用于很多条件分支的情况
语法:if(要满足的条件1){
满足条件1得到的结果
}else if(要满足的条件2){ //默认不满足条件1
满足条件1得到的结果
}else if(要满足的条件n){ //默认不满足条件2
满足条件n得到的结果
}else{ //默认不满足条件n
不满足所有条件得到的结果
}
只要找到一个满足的条件,执行完之后,结束选择结构
6.嵌套if选择结构
适用于在一个判断的基础再做一次判断的情况
语法:if(要满足的条件1){
满足条件1得到的结果
if(要满足的条件2){
满足条件2得到的结果
}
}else{
不满足条件1得到的结果
}
==只能够比较数值类型,比较字符串是否相等,使用.equals(“要等于哪个字符串”);
比如:sex.equals(“男”);10 == 10
四、循环结构
======
1.循环结构:
打印50份试卷,是从第1份开始打印,打印到第50份结束,重复打印试卷的过程
绕操场跑10圈,从第1圈开始,到第10圈结束,重复跑步的过程
做100道编程题,从第1题开始,到第100道结束,重复做题的过程
2.循环的概念:重复完成某一件事情或者某一个操作,有一个开始位置和结束位置就叫做
循环
3.循环的特点:
1、循环条件:也就是满足某个条件下才做重复的操作
2、循环操作:也就是重复所做的事情或者操作
4.while循环的语法:
while(循环条件){
满足条件的时候所做的循环操作
}
特点:先判断,再执行
使用while循环的步骤:
1、确定是否存在重复操作
2、分析出循环条件和循环操作分别是什么
3、套用while循环语法写出循环结构
4、检查循环是否能正确退出
5.do-while循环结构的语法:
do{
循环操作
}while(循环条件);
特点:先执行循环操作,再进行循环条件判断(先执行,再判断)
6.while循环和do-while循环的差别:
1、循环的次序不同,while循环是先判断,再执行,do-while是先执行,再判断;
2、while循环在初始值不满足循环条件的时候一次都不会执行,do-while循环在初始值不
满足循环条件的时候至少执行一次
7.程序调试:
断点调试的步骤:(每次调试后取消掉断点)
1、设置断点:在左侧边栏的位置点击鼠标左键两次,可以生成一个断点
2、进入调试模式:点击右键,选择debug as进入debug调试模式,程序会在设置断点的地
方停下来
3、单步执行,也就是一行一行的执行代码,按F6单步跳过执行代码
4、观察变量值的变化
5、找出错误的位置
6、改正错误
7、运行看结果是否正确**
8.for循环结构
语法:for(表达式1;表达式2;表达式3){
循环操作
}
表达式1:循环从哪里开始,也就是循环的初始值,比如:int num = 1
表达式2:循环的条件,也就是循环到哪里结束,比如:num <100
表达式3:计数器,也就是每循环一次,初始值产生怎样的变化,比如:num++
每个表达式之间用分号隔开,每个表达式都可以不写,但是分号不能省略
9.跳转语句的使用:
break关键字:(通常和if选择结构一起使用)
在switch使用break表示结束switch选择结构去执行选择结构外的代码
在循环中使用break表示结束循环结构去执行循环结构外的代码
break常用于switch结构和循环结构中
continue一般用于循环结构中
break语句终止某个循环,程序跳转到循环块外的下一条语句
10.循环结构四要素:
1、初始值,也就是循环要从哪里开始
2、循环条件,循环要到哪里结束
3、循环操作(循环体),就是需要重复做的某些操作
4、计数器(迭代部分),就是每次重复之后,初始值要产生的变化
11.while、do-while和for循环的区别:
1、执行顺序不同
while和for循环:先判断,再执行
do-while循环:先执行,再判断
五、数组
====
1.数组的概念
在内存中开辟的一串连续的空间,用来存储相同数据类型的,比如:鞋柜只会放鞋子,衣
柜只会用来放衣服
2.数组的基本要素
1、标识符(数组名):数组的名称,用来区分不同的数组
2、数组元素:存放在数组空间中的数据
3、数组下标:对数组中的空间进行编号,区分每个空间,数组下标从0开始,可以通过数
组下标找到对应的空间
4、元素类型:数组的数据类型
3.数组的定义和使用
1、声明数组:告诉计算机数组是什么类型
语法:数据类型[] 数组名 或者 数据类型 数组名[]
比如:String[] args;int[] nums,数组名的命名方式和变量命名方式一样
4.数组的排序
使用Arrays类,使用Arrays的步骤
1、找到有Arrays的商店,语法:import java.util.Arrays;
2、Arrays是一个公用的工具,不需要够买,只要去使用就可以,
语法:Arrays.sort(数组名);
它会将该数组进行一个升序的排列
二重循环:在一个循环中再使用一个循环结构
循环特点:外层循环循环一次,内层循环循环一遍(也就是从开始到结束循环完)
while循环,do-while循环和for循环之间可以相互嵌套,也就是说while循环可以放while,
do-while和for循环,其他两种一样
5.二重循环中跳转语句的使用
continue:如果continue在内层循环中,表示结束内层循环的本次循环,开始内层循环的
下一次循环,如果在外层循环表示结束外层循环的本次循环,开始外层循环的
下一次循环,也就是说,continue在哪一个循环的{}中,就结束哪一个循环的
本次循环,开始该循环的下一次循环。
break:如果break在内层循环中,表示结束内层循环的整个循环,开始执行内层循环外面
语句,如果在外层循环中表示结束整个循环,也就是说,break在哪个循环中,结
束的就是哪个循环的整个循环。
6、类和对象
1.OO:Object Oriented表示面向对象的意思
2.世界由什么组成:水,陆地,草,人,动物,植物,楼房,汽车等等
由所有一切真实存在的东西组成,这些真实存在的东西就叫作对象
属性:就是对象所具有特征
方法:就是对象所执行的行为或操作
对象:用来描述真实存在事物的一个实体,由一组属性和方法组成
封装:对象的属性和方法通常封装在一起,共同体现事物的特性,两者不可分割
类:将对象共同的属性和方法抽取出来就是类
类是模子,定义对象所具有的属性和方法
3.类和对象的关系:
类是抽象的,对象是具体的实体
对象是类的一个实体,类是对象的抽象概念
4.定义一个类的步骤:
1、新建一个class,给这个class取一个类名,名字和你想要定义的类型一致
类名的取名方式,使用帕斯卡命名法,所有单词的首字母大写
2、定义类的属性
3、定义类的方法
5.使用定义好的类:
1、新建一个对象,语法:类名 对象名 = new 类名();
比如:Car car1 = new Car();
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/466568cbb9c16edf0768e5ca8ac62c7f.jpeg)
Spring全套教学资料
Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。
目录:
部分内容:
Spring源码
- 第一部分 Spring 概述
- 第二部分 核心思想
- 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
- 第四部分 Spring IOC 高级应用
基础特性
高级特性 - 第五部分 Spring IOC源码深度剖析
设计优雅
设计模式
注意:原则、方法和技巧 - 第六部分 Spring AOP 应用
声明事务控制 - 第七部分 Spring AOP源码深度剖析
必要的笔记、必要的图、通俗易懂的语言化解知识难点
脚手框架:SpringBoot技术
它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。
- SpringBoot入门
- 配置文件
- 日志
- Web开发
- Docker
- SpringBoot与数据访问
- 启动配置原理
- 自定义starter
微服务架构:Spring Cloud Alibaba
同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
- 微服务架构介绍
- Spring Cloud Alibaba介绍
- 微服务环境搭建
- 服务治理
- 服务容错
- 服务网关
- 链路追踪
- ZipKin集成及数据持久化
- 消息驱动
- 短信服务
- Nacos Confifig—服务配置
- Seata—分布式事务
- Dubbo—rpc通信
Spring MVC
目录:
部分内容:
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
难点
[外链图片转存中…(img-xEbUDIN0-1713500985062)]
[外链图片转存中…(img-aY9uttFV-1713500985062)]
脚手框架:SpringBoot技术
它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。
- SpringBoot入门
- 配置文件
- 日志
- Web开发
- Docker
- SpringBoot与数据访问
- 启动配置原理
- 自定义starter
[外链图片转存中…(img-dQ2Tfym2-1713500985062)]
[外链图片转存中…(img-zRf0yJRp-1713500985063)]
微服务架构:Spring Cloud Alibaba
同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
- 微服务架构介绍
- Spring Cloud Alibaba介绍
- 微服务环境搭建
- 服务治理
- 服务容错
- 服务网关
- 链路追踪
- ZipKin集成及数据持久化
- 消息驱动
- 短信服务
- Nacos Confifig—服务配置
- Seata—分布式事务
- Dubbo—rpc通信
[外链图片转存中…(img-bownCSRG-1713500985063)]
[外链图片转存中…(img-M3tfJwgI-1713500985063)]
Spring MVC
目录:
[外链图片转存中…(img-ABH1xPXM-1713500985063)]
[外链图片转存中…(img-X120kutP-1713500985063)]
[外链图片转存中…(img-rTlQXhoR-1713500985064)]
部分内容:
[外链图片转存中…(img-R5LyIvt7-1713500985064)]
[外链图片转存中…(img-Qc6BfX0L-1713500985064)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!