工作中需要用到的Java知识(一)

工作中需要用到的Java知识(一)

马上年末了,公司也没有多少需求了,所以就拿出一点时间来复习一下Java。
先介绍一下,本人大学学习的是金融专业,因为觉得做销售压力太大了,就想转行做程序员,自学了半年,现在在一家互联网的公司工作,已经转正了。
对于Java我并没有很深刻的理解,只是觉得在工作中Java只是一个工具,我们需要的是将逻辑与业务结合起来的能力,如果有小伙伴也想要转行做程序员,就要稍微注意一下哦。我会把我复习的,觉得有用的东西记录下来,跟小伙伴做个分享,同时也希望哪里理解的不对有人能指点一下。

1.基本数据类型

这个问题可能很小的一个问题,但是这个问题是我在第一次面试时难到我的问题,如果有人问你基本数据类型有哪些,其中长度最长的是哪个,第二长的是哪个呢?在心里想一个答案,然后跟我继续往下看↓

基本数据类型又称为内置数据类型,有8种,从小到大分别为
boolean,byte, char, short, int, long, float, double

以后不要再说String是基本数据类型啦,虽然用的最多,但是它可不是基本数据类型哦,String可是引用数据类型。

说到了String,就来了解一下String类型把。

2.引用数据类型

String源码
上面是String类型的源码类名,我们可以发现,String类型是由final修饰的类,所以我们就能知道,String类型是不可变的,每一次创建都是一个新的对象,但是我们要知道的是创建String类型的不同,他所占的位置也不同

String str = "Hello World" 这种方式是在常量池种创建的,当我们再次创建 String str1 = "Hello World"后其实两个变量指向的是常量池种同一个内容。
创建方法1

String str = new String("Hello World")当我们使用这种方式创建字符串时,他会在堆上开辟一块空间,存放内容,当我们使用String str1 = new String("Hello World")又创建一个字符串的时候,又另外开辟了一个空间存放内容。
创建方法2
String类型在工作中常用的方法:
我们先创建一个字符串
字符串创建
contains("")是否包含指定的若干字符,如果是则返回true
contains方法
substring(index,index)可以截取指定索引处的若干字符,当我们需要以字符来分割的时候,我们可以用indexOf("")方法,返回指定字符的索引,如果有多个相同字符,则返回第一个
substring方法
replace(old str, new str)可以将字符串中所有的指定字符替换成新字符
replace方法
split("", limit)可以分割字符串返回字符串数组,第一个参数为分割字符,注意分割字符不会出现在子数组中 , limit为分割的子数组的长度,如果为2 则只会分割成两个数组,同样分割字符不会出现。
split方法

由于String类型不可变,我们如果在工作中需要拼接字符串时,一般会采用StringBuffer与StringBuilder这两种可变字符串来进行字符串的拼接等功能,接下来我们就开始介绍这两种数据类型

3.StringBuffer与StringBuilder

StringBuffer与StringBuilder都是可变字符串,当我们需要对字符串进行任意更改,拼接时,就需要用到它。那么为什么会有两种类型呢?这时候我们就要重点的查看一下StringBuffer与StringBuilder的区别了。
这两者的区别在于StringBuffer线程安全,但是效率低;
StringBuilder线程不安全,但是效率高。这就是两者的区别。

常用方法
append("")在原有字符串结尾拼接其他内容
insert(index, “”)在指定索引处添加内容,索引以后的内容全部向后移动。
delete(index, index)删除指定区间的若干字符
常用的还是append()方法,熟练掌握这个就可以

看到这里大家一定就有一些问题,StringBuffer与StringBuilder的区别是线程安全性与效率。那什么是线程安全?什么是线程不安全?为什么线程不安全的就一定效率高呢?这些问题暂时我也不太明白,嘿嘿,等我弄明白了我再跟大家分享一下。

查看下一篇请戳这里↓
工作中需要用到的Java知识(二)

猜你喜欢

转载自blog.csdn.net/weixin_49290171/article/details/113751864