当前位置: 首页 > ai >正文

Java基础知识总结(超详细整理),你会的还只有初级工程师的技术吗

  • 变量的操作:放入打印语句进行输出或者进行运算

Java 中的注释有三种:

  • 单行注释

  • 多行注释

  • 文档注释


数据类型


在这里插入图片描述

基本数据类型(8个),也称原始数据类型:

在这里插入图片描述

引用数据类型(3种):数组、类、接口

类型转换:

  • 自动类型转换,也叫隐式转换

  • 强制类型转换,也叫显式转换

在这里插入图片描述


运算符


运算符:一种特殊符号,用以表示数据的运算、赋值和比较数与整数

运算符分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符

1.算术运算符

在这里插入图片描述

2.赋值运算符

在这里插入图片描述

3.比较运算符

在这里插入图片描述

4.逻辑运算符

在这里插入图片描述

5.三元运算符

条件表达式b?x:y;,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

在这里插入图片描述


Java流程控制语句


选择结构

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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
img

我的面试宝典:一线互联网大厂Java核心面试题库

以下是我个人的一些做法,希望可以给各位提供一些帮助:

整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

image

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

image

还有源码相关的阅读学习

image

、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)]

http://www.xdnf.cn/news/11277.html

相关文章:

  • 基于CMOS技术,CMOS工艺等,CMOS到底是个啥?
  • Intel IPP图像库手册函数概述
  • 【Qt】界面定制艺术:光标(cursor)、字体(font)、提示(toolTip)、焦点(focusPolicy)与样式表(styleSheet)的深度探索
  • MCU最强科普总结~
  • RecyclerView完全解读
  • 100个linux系统的常用命令【建议收藏】
  • Java学习之JavaWeb篇
  • 利用python进行数据分析——使用groupby机制对pandas对象类的数据进行聚合与分组操作
  • “权限”用英语该用哪个?
  • 学了那么久的java你还不明白HelloWorld的原理吗?速看!
  • 强!推荐一款自动化神器Autolt:不再重复工作
  • linux基础(超级详细小白入门篇)
  • 2024年最新source insight教程:常用设置、快捷键、附带source insight3,Golang面试知识点
  • fseek 、fwrite 、fread
  • 检测UDP端口是否畅通方法
  • IOU、GIOU、DIOU、CIOU的学习及代码实现
  • 灰度图的理解(主要在作图像的方面遇到了问题)
  • 如何选择美国高速VPS?实用选购指南
  • SPL - 写着简单跑得又快的数据库语言
  • 数据结构与算法入门
  • node.js详细安装教程
  • 常见中文乱码问题
  • DB2备份和还原数据库+代码详解
  • HTTP/HTTPS(超细精讲)
  • 彻底理解面向对象,看完这一篇就够了
  • 谈谈Parser --王垠
  • 拓扑排序(Topological Sorting)
  • Wireshark TS | Ping Google DNS 8.8.8.8 特殊结果解析
  • centos 7 RAID0磁盘阵列步骤_如何重做raid但是不格式化磁盘
  • strtok函数