Java基础知识总结(超详细整理),你会的还只有初级工程师的技术吗
- 变量的操作:放入打印语句进行输出或者进行运算
Java 中的注释有三种:
-
单行注释
-
多行注释
-
文档注释
基本数据类型(8个),也称原始数据类型:
引用数据类型(3种):数组、类、接口
类型转换:
-
自动类型转换,也叫隐式转换
-
强制类型转换,也叫显式转换
运算符:一种特殊符号,用以表示数据的运算、赋值和比较数与整数
运算符分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符
1.算术运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.三元运算符
条件表达式b?x:y;
,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
选择结构
if语句: if(条件表达式){ 一条或多条语句 };
if else语句: if(条件表达式) {语句块1} else {语句块2}
if多分支语句:
switch开关语句:
循环结构
在程序中当要重复性的做某项工作时可以使用循环语句,包括:for循环、while循环、do…while循环。
for循环语句:
while循环语句:
do…while循环语句:
流程跳转
流程跳转语句:break,continue
-
break:在switch中结束case条件判断,在循环体中结束循环
-
continue:作用在循环体中,结束循环体的本次循环,而进入下次循环
数组是数据的集合,一个容器,用来存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。
数组声明的三种方式:
-
数据类型[] 数组名 = new 数据类型[长度];
-
数据类型[] 数组名 = {数据,数据,…,数据};
-
数据类型[] 数组名 = new 数据类型长度[] {数据,数据,…,数据};
一维数组:
- 数组变量的声明:
语法:数据类型[] 数组名;
,如:int[] num;
、double[] d;
、String[] str;
- 数组对象的创建:
语法:数组名 = new 数据类型[长度];
,如:num = new int[4];
,数组声明其长度后不可改变
- 赋值:
语法:数组名[下标] = 数据;
,如:num[0] = 3;
- 数组元素的使用及遍历:
语法:数组名[下标]
,获取指定下标是数据。
二维数组:
- 数组变量的声明:
语法:数据类型[][] 数组名;
,如:int[][] num;
、double[][] d;
、String[][] str;
- 数组对象的创建:
语法:数组名 = new 数据类型[外长度][内长度];
,如:num = new int[4][3];
,数组声明其长度后不可改变
- 赋值:
语法:数组名[外下标][内下标] = 数据;
,如:num[0][0]= 3;
- 数组元素的使用及遍历:
语法:数组名[外下标][内下标]
,获取指定下标是数据。
对象:客观存在能够相互区分的个体,比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概括来说就是:万物皆对象。
类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成
类是对象的概括或者抽象,对象是类的实例化。
类的声明
[修饰符] class 类名{//类的声明部分
[成员变量]
[成员方法]
}
成员变量的声明: [修饰符] 数据类型 变量名 [= 初始值];
成员方法的声明:
[修饰符] 返回值类型 方法名([数据类型 参数名,……]){
//方法体,该方法完成的功能代码
}
构造器的声明:
[修饰符] 构造器名([数据类型 参数名,……]){
//构造器完成的功能代码
}
注意:
①构造器名必须和类名一致
②构造器没有返回值类型
③任何类都含有构造器。如果没有显式地定义类的构造器,
④则系统会为该类提供一个默认的无参的构造器。一旦在类中显式地定义了构造器,系统就不会再为这个类提供默认的构造器了。
类的使用
类变量的声明:类名 对象名;
类对象的创建,赋值给变量:对象名 = new 构造器([参数列表]);
对象属性的赋值:属性:对象名.属性名、对象名.属性名 = 数据;
属性和方法的调用:属性:System.out.println(对象名.属性名);方法:对象名.方法名();
成员变量与局部变量:
-
成员变量:声明在类中方法体之外、可以有缺省值、可以使用修饰符。作用域:整个类
-
局部变量:声明在方法体或代码块中、没有缺省值、只能使用final修饰。作用域:当前方法体
参数:参数的本质是特殊的局部变量,只能定义在方法的小括号中
重载
方法的重载OverLoading: 同一个类中定义了多个方法名相同而参数不同的方法
重载在同一个类中,方法名相同,参数不同(参数的个数、顺序、类型不同)
构造器的重载:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
我的面试宝典:一线互联网大厂Java核心面试题库
以下是我个人的一些做法,希望可以给各位提供一些帮助:
整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!
283页的Java进阶核心pdf文档
Java部分:Java基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
还有源码相关的阅读学习
、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!
[外链图片转存中…(img-OHP8asRo-1711557749478)]
283页的Java进阶核心pdf文档
Java部分:Java基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
[外链图片转存中…(img-Wclmlfn4-1711557749478)]
还有源码相关的阅读学习
[外链图片转存中…(img-hkYNawbr-1711557749479)]