java最简单最全入门基础笔记(不简单,不全你打我)

表达式2:循环的条件,也就是循环到哪里结束,比如:num <100

表达式3:计数器,也就是每循环一次,初始值产生怎样的变化,比如:num++

每个表达式之间用分号隔开,每个表达式都可以不写,但是分号不能省略

for循环的执行顺序:

①先去执行表达式1,也就是先去找初始值

②第二步去执行表达式2,也就是去找循环条件

③第三步去执行循环操作

④最后才去执行表达式3,也就是最后才实现初始值变化的过程

表达式1和表达3中可以写多个,表达式2,条件只能有一个

9.跳转语句的使用:

break关键字:(通常和if选择结构一起使用)

在switch使用break表示结束switch选择结构去执行选择结构外的代码

在循环中使用break表示结束循环结构去执行循环结构外的代码

continue关键字:(通常和if选择结构一起使用)

continue只能够在循环结构中使用

在循环中使用continue表示结束当前这一次循环,然后开始下一次循环

使用场合:

break常用于switch结构和循环结构中

continue一般用于循环结构中

作用(循环结构中)

break语句终止某个循环,程序跳转到循环块外的下一条语句

continue跳出本次循环,进入下一次循环

10.循环结构四要素:

1、初始值,也就是循环要从哪里开始

2、循环条件,循环要到哪里结束

3、循环操作(循环体),就是需要重复做的某些操作

4、计数器(迭代部分),就是每次重复之后,初始值要产生的变化

11.while、do-while和for循环的区别:

1、执行顺序不同

while和for循环:先判断,再执行

do-while循环:先执行,再判断

2、适用场景(循环次数固定推荐使用for循环)

for循环只适用于循环次数固定的情况

while和do-while循环无论循环次数是否固定都可以使用

五、数组

====

1.数组的概念

在内存中开辟的一串连续的空间,用来存储相同数据类型的,比如:鞋柜只会放鞋子,衣

柜只会用来放衣服

2.数组的基本要素

1、标识符(数组名):数组的名称,用来区分不同的数组

2、数组元素:存放在数组空间中的数据

3、数组下标:对数组中的空间进行编号,区分每个空间,数组下标从0开始,可以通过数

组下标找到对应的空间

4、元素类型:数组的数据类型

3.数组的定义和使用

1、声明数组:告诉计算机数组是什么类型

语法:数据类型[] 数组名 或者 数据类型 数组名[]

比如:String[] args;int[] nums,数组名的命名方式和变量命名方式一样

2、分配空间:告诉计算机要开辟一串连续的多长的空间

语法:数组名 = new 数据类型[数组长度];

比如:scores = new int[30];

第一步和第二步可以一起写

数据类型[] 数组名 = new 数据类型[数组长度];

3、赋值:向开辟好空间里面去存放数据

语法:数组名[数组下标] = 数据;

比如:scores[0] = 60;//表示将数组第一个空间存放了60这个整数

scores[1] = 80;

直接声明数组时就进行赋值

语法:数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据n};

数据类型[] 数组名 = {数据1,数据2,数据n};

注意:如果在声明数组时就直接赋值,那么不要写数组长度

比如:int[] scores = new int[]{60,80,100,50,60,70};

通过循环的方式动态的录入数据

循环从初始0开始,到数组的最大长度结束,每次加1

for(int i = 0;i < 5;i++){

System.out.println(“请输入第”+(i+1)+“名学生的成绩:”);

scores[i] = input.nextInt();

}

4、数据的使用:将存放在数组空间中的元素拿出来使用

使用循环的方式将存放在每个空间中数据拿出来使用

for(int i = 0;i < 5;i++){

System.out.println(“第”+(i+1)+“名的学生成绩为”+scores[i]);

}

数组名.length表示数组的长度

比如:int[] scores = new int[10];

scores.length = 10;//数组长度为多少,该值就为多少

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在哪个循环中,结

束的就是哪个循环的整个循环。

六、类和对象

======

1.OO:Object Oriented表示面向对象的意思

2.世界由什么组成:水,陆地,草,人,动物,植物,楼房,汽车等等

由所有一切真实存在的东西组成,这些真实存在的东西就叫作对象

属性:就是对象所具有特征

方法:就是对象所执行的行为或操作

对象:用来描述真实存在事物的一个实体,由一组属性和方法组成

封装:对象的属性和方法通常封装在一起,共同体现事物的特性,两者不可分割

类:将对象共同的属性和方法抽取出来就是类

类是模子,定义对象所具有的属性和方法

3.类和对象的关系:

类是抽象的,对象是具体的实体

对象是类的一个实体,类是对象的抽象概念

4.定义一个类的步骤:

1、新建一个class,给这个class取一个类名,名字和你想要定义的类型一致

类名的取名方式,使用帕斯卡命名法,所有单词的首字母大写

2、定义类的属性

3、定义类的方法

5.使用定义好的类:

1、新建一个对象,语法:类名 对象名 = new 类名();

比如:Car car1 = new Car();

2、通过“.”操作符来使用这个对象的属性和方法

六、类的无参方法

========

1.定义类的方法:

语法:返回修饰符 返回值类型 方法名(){

//具体实现方法的操作

}

比如:

public void sayHello(){

//具体实现方法的操作

System.out.println(“你好”);

}

1、访问修饰符(在哪些地方能够使用这个方法),public公共的,最高级别

2、返回值类型,执行完方法后能够得到什么数据

void,表示没有返回值,也就是没有任何数据返回

如果有数据返回,那么就需要使用return关键字返回一个数据,并且返回的数据类型

和返回值的数据类型一致

3、方法名(),方法名表示方法的名字

4、方法体:具体实现方法的操作

2.编写类的方法步骤:

1、先定义方法的访问修饰符,先写没有返回值类型,定义方法名,方法名的命名采用见

文识意的方式

2、定义方法体,也就是写具体实现方法的操作

3、判断方法是否有返回值,如果有,添加return关键字返回该数据,并修改返回值类型

方法是怎么去实现,方法是怎么实现的只需要在定义方法的关心,使用的时候只要知道是哪一个方

法是什么作用就可以了

3.方法的调用:

1、在同一个类调用同一类中的方法,只需要通过方法名()就可以指直接调用

2、在不同类中调用方法,需要先new一个需要调用方法的类的对象,然后通过对象名.方

法名的方式去调用方法

调用方法的时候,实际上就是去执行方法体中的代码

4.常见错误:

1、返回值数据类型必须和返回值类型一致

2、不可以返回多个值,也不能写多个返回值类型

3、定义方法不能够相互嵌套

4、程序逻辑代码(顺序、选择、循环结构)只能写在方法体中

5.面向对象的编程:

类的方法实现某个特定的功能,其他类不需要知道它如何实现,只需要知道它是用来干什

么的

6.全局变量:(成员变量)它是指定义在类中的变量,它在类中的任意位置都可以被识别

比如:类的属性

1、作用域:作用在类中任意位置

2、初始值不同:如果没有给它赋值,系统会默认给它一个初始值,int类型为0,double

为0.0,String为null

3、在同一个类中不允许同名存在

7.局部变量:它是指定义在方法体中变量,它只能在该方法中被识别

1、作用域:作用在定义该变量的方法体中

2、初始值不同:必须给它赋值后才能去使用,系统不会给它赋初始值

3、在同一个类中,不同的方法中可以存在相同的命名,同名的两个变量没有任何关系

在同一个类中,允许局部变量和成员变量命名相同,如果两个命名一样,在使用时,局部变量有

更高优先级

七、类的有参方法

========

1.带参数的方法

无参方法:在方法名()的括号中没有参数的方法

有参方法:在方法名()的括号中有参数的方法

2.定义有参方法的语法:

访问修饰符 返回值类型 方法名(参数1、参数2、参数3…参数n){

方法体(具体实现方法的过程)

}

3.参数:实际就是声明的一个变量,声明的变量使用“,”隔开

在定义方法的时候,方法中的参数只是进行了声明,并没有赋值,这个参数就叫做形式参

数,也就是形参;

在调用方法的时候,对方法中参数进行赋值,这个参数就叫作实际参数,也就是实参

4.调用带参数的方法:

同一类中调用同一类中的方法,直接方法名()调用

不同类中调用不同类中的方法,先new一个对象,再通过对象名.方法名()的方式调用

必须和定义方法的参数个数相同,并且数据类型必须一致,顺序也要和定义的位置一致

5.二次传递:在调用方法的时候,传递一个参数值给该方法,然后在该方法中去调用了另外的方法,

再将这个参数值传递给在该方法中调用的这个方法

F5:单步跳入,遇到方法的时候回进入方法体中,逐方法体的代码一行一行的执行

F6:单步跳过,遇到方法的时候直接执行完方法,获得结果,不进入方法体

6.对象数组:就是自己定义的类型的数组

自己定义类型,如果没有new一个对象,那么它的初始就为null

7.包:在windows中以文件夹的方式存在

1)将类分为几个类似于文件夹的单元

2)防止命名冲突,在同一个包不允许重复命名,不同包可以重复

3)可以对类中数据中进行一个保护作用

声明包,语法:package 包名;必须为java源文件中第一条非注释语句

包名:1、通常由小写的英文字母组成,不能以圆点开头或结尾

2、开头一般是一个顶级域名cn,com,org,net

3、后续部分一般由公司名称、部门名称、小组名称、项目名称

导入包:语法:import 包名;

导入包,可以将在这个包中的所有类导入到我们这个类中,导入后才能使用该包中的类

通过ctrl+鼠标左键点击进入定义方法的位置

八、字符串

=====

1.字符串:就是一个或多个字符组成

2.声明字符串

1、直接声明,比如:String name = “张三”;

2、使用对象的方式,new一个String类的对象,

比如:String name = new String(“张三”);

3.栈:用来存储较小的数据,离访问位置比较近,比如:int,double,short。。

堆:用来存储较大的数据,离访问位置比较远,比如:String,数组,自己定义的类型

4.引用数据类型:通过在栈中的地址去引用存储在堆中数据的数据类型

只要使用了new关键字,就表示在堆中新开了一个空间,然后在栈中留下一个地址

String类型中的值是不可变的

5.比较字符串:

使用比较的是存储的地址,引用类型地址不相同,不能使用比较

.equals比较的是存储的数据,将数据一一比较,字符串使用.equals比较是否相等

.equals()比较字符串是否相等

.equalsIgnoreCase()忽略大小写比较字符串是否相等

.toLowerCase()将字符串中所有字符转化为小写

.toUpperCase()将字符串中所有字符转化为大写

6.获得字符串长度:

字符串名.length,获得字符串长度,每个字符就是一个长度

7.字符串的拼接:

1、使用拼接符+进行拼接

2、使用.concat()方法进行拼接

8.字符串的查询和提取

indexOf(“@qq”)、indexOf(’@’),查询第一个字符出现的位置

.lastIndexOf(‘7’)、.lastIndexOf(“77”),查询最后一个字符出现的位置

查询:字符串名.indexOf(需要查找字符串名),返回一个int类型的数据,第一个数从0

开始,返回字符串第一个字符所在位置,找不到指定的字符串返回-1

9.提取:

.substring(8)提取第9个字符串后面的所有字符串

.substring(8,12)提取从第8个字符到第11个字符,开始的位置从0开始数起,结束的位置

从1开始数起

忽略字符串前后的空格

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

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

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。

这些面试题相对应的技术点:

  • JVM
  • MySQL
  • Mybatis
  • MongoDB
  • Redis
  • Spring
  • Spring boot
  • Spring cloud
  • Kafka
  • RabbitMQ
  • Nginx

大类就是:

  • Java基础
  • 数据结构与算法
  • 并发编程
  • 数据库
  • 设计模式
  • 微服务
  • 消息中间件

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。

这些面试题相对应的技术点:

  • JVM
  • MySQL
  • Mybatis
  • MongoDB
  • Redis
  • Spring
  • Spring boot
  • Spring cloud
  • Kafka
  • RabbitMQ
  • Nginx

大类就是:

  • Java基础
  • 数据结构与算法
  • 并发编程
  • 数据库
  • 设计模式
  • 微服务
  • 消息中间件

[外链图片转存中…(img-rNldJabQ-1712627963072)]

[外链图片转存中…(img-SY9r1Z6Q-1712627963072)]

[外链图片转存中…(img-ZFTRQkEv-1712627963072)]

[外链图片转存中…(img-Oh1tkhIk-1712627963073)]

[外链图片转存中…(img-wsOXy0zh-1712627963073)]

[外链图片转存中…(img-MZclsSwq-1712627963073)]

[外链图片转存中…(img-yMB9erwN-1712627963073)]

[外链图片转存中…(img-b5NDfFkS-1712627963073)]

[外链图片转存中…(img-4vpYIwk7-1712627963073)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值