包装器类
-
Byte 、Short 、Integer 、Long 、Float 、Double 、 Character 、Boolean
-
包装器类的2种构造函数
-
包装器类名(基本类型值)
-
包装器类名(基本类型值的字符串)
-
Character类构造函数只能是字符参数;
-
Boolean包装器对ture/false不区分大小写
-
例子:
float f=(new Double(100.2)).floatValue();
int i=(new Double(“100.2”).intValue());//XXXvalue():包装器类-基本类型
float f=Float.parseFloat(“11.3f”);
int d=Integer.parseInt(“25”);
//字符串-基本类型
Double d=Double.valueof(“25.4”);//Character包装器类没有这个方法
//字符串-包装器
//基本类型、包装器类型-字符串
String s1=Double.toString(3.14);//toString有静态方法也有实例方法
String s2=new Double(3.14).toString()
- 注意传参数时候,不如果参数是包装器类不能直接传一个基本类型此时不支持自动装箱拆箱
- 要用构造函数自动装箱
- Double a=1.2;// Double a=new Double(1.2); 自动装箱
- double b= a ; //自动拆箱
枚举
- enum枚举类型名字{枚举常量列表}
public class Ch_5_5_2 {
enum Season { 春季, 夏季, 秋季, 冬季; }
public static void main (String[] args) {
Season [] s= Season.values();
for (int i=0; i<s.length; i++)
{ switch(s[i]) {
case 春季: //case Season. 春季 编译错
System.out.println(“ 春困”); break;
case 夏季:
System.out.println(“ 夏打盹”); break;
case 秋季:
System.out.println(“ 秋乏”); break;
case 冬季:
System.out.println(“ 睡不够的冬三月”); break; }
}
}
}
数组的高级应用
- 要导入
import java.util.Arrays;
- 排序方法和binarySearch前提是数组不能为降序可以是无序或者升序
int i=Arrays.binarySearch(a1,3);
返回3这个元素出现第一次的下标Arrays.fill(c,4);
将数组c填充满4
字符串的高级应用
-
StringBuilder:线程不同步不安全但执行效率更高
-
StringBuffer
正则表达式
-
正则匹配步骤:
Pattern p=Pattern.compile(reg1);//reg1为模式串正则表达式
Matcher m=p.matcher(str);//str是待匹配串
m.group();m.find;m.start()
String[ ] split(String regex)
regex 是分隔串,也可以是正则表达式 作用:分割字符串,生成数组
String s=“aa,bb,cc,dd”;
String[] sa=s.split(“,”); //以 , 作为s的分隔串,提取字符串
for(String s1:sa)
System.out.println(s1);
String replaceFirst(String regex, String rp)
作用:用rp 替换regex 的首次出现String replaceAll(String regex, String rp)
作用:用rp 替换regex
随机数类
//要导入java.util.Random
Random r=new Random();
int x,i;
for(i=1;i<=10;i++){
x=r.nextInt(10)+1;//默认从0开始,要获取从1-10的就要+1
System.out.println(x);
}
面向对象程序设计
对象和对象引用的内存管理
- 栈(自动管理机制)
- 栈空间中的数据被系统自动管理即在函数调用时自动创建数据空间,在函数运行结束时自动释放数据空间
- 函数中定义的所有变量无论是基本类型还是引用类型均存储于栈空间
- 堆(手动管理机制)
- 实现按需分配或释放
- 所有对象均存储于堆空间
- 构造函数
- 与类同名,不用定义返回值类型,也没有return 语句,即使无返回值,也不能用void 声明
- 使用new 实例化对象时,系统根据给出的 参数表调用对应的构造函数。这就是构造函数重载
- 构造代码块
- 作用:对所有对象进行统一初始化
- 特点:
对象一建立就执行并且优于构造函数执行
class Person {
private String name;
private int age;
{ age=15; }//构造代码块
Person() {
System.out.println(“A:name=”+name+“,age=”+age);}
Person(String n) {
name=n;
System.out.println(“B:name=”+name+“,age=”+age);
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
一线互联网大厂Java核心面试题库
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-yKzzBvDt-1712947040225)]