JavaSE基础知识(7)—常用类

一、包装类

1、理解

java为八大基本数据类型一一对应提供了引用类型,方便使用里面的属性和方法

2、包装类型

byte——>Byte
short——>Short
int——>Integer
long——>Long
float——>Float
double——>Double
char——>Character
boolean——>Boolean

3、常用方法

(1)Integer/Byte/Short/Long/Float/Double/Boolean

以Integer为例:Integer i =127;
int a = i.intValue();//将Integer类型转换成int类型
Integer i2=Integer.valueOf(变量);//将其他类型转换成对应的包装类型
int b = Integer.parseInt(s);//将字符串转换成int
String s1 = Integer.toHexString(i);//将整数转换成对应的十六进制
String s2 = Integer.toOctolString(i);//将整数转换成对应的八进制

(2)Character类:

isLetter:判断是否为字母
isDigit:判断是否为数字
isUpperCase:判断是否为大写
isLowerCase:判断是否为小写
isWhiteSpace:判断是否为空格
toUpperCase:转换成大写
toLowerCase:转换成小写

4、注意事项

如果参数类型为基本类型,形参的改变不影响实参
如果参数类型为引用类型,形参如果改变的是地址,则不影响实参
形参如果改变的是成员(属性),则影响实参
对于八大包装类来讲,每次更改的只可能是地址,不可能是成员,(原因:里面维护的value成员是final修饰),所以,如果参数类型为包装类型,形参的改变不影响实参

二、String

1、String类的说明

String类是java.lang包中的一个用于保存字符串的类

2、创建对象★

方式一:
  String s = "hello";
方式二:
  String s = new String("hello");
区别:★
  方式一:先去常量池判断是否有"hello"对象,如果有则直接指向,如果没有则需要创建,然后再指向
  方式二:先去堆中创建String的对象,然后通过s引用指向该对象。该对象中维护了value的属性,接着判断常量池中是否有“hello”对象,如果有,则直接通过value指向,如果没有则创建好后,通过value指向

3、String类的不可变特性 ★

  String类保存的是字符串常量,里面的值不能更改,每次看到的更改,实则是更改地址。原因:String中维护的value属性是final修饰的

4、String类的常见方法 ★

substring:截取子串
indexOf:查找字符或字符串第一次出现的索引,如果找不到,返回-1
lastIndexOf:查找字符或字符串最后一次出现的索引,如果找不到,返回-1
toUpperCase:转换成大写
equalsIgnoreCase:忽略大小写的判断相等
toLowerCase:转换成小写
toCharArray:转换成字符数组
trim:去前后空格
format:格式字符串
concat:拼接字符串
length:获取字符的个数
intern:判断常量池中是否有该对象,如果有直接指向,否则创建后再指向
split:分割字符串
compareTo:判断两个字符串大小,如果前者大,返回正数,如果前者小,返回负数,如果相等返回0
charAt:获取指定索引处的字符
startsWith:判断是否以xx开始
endsWith:判断谁以xx结尾
valueOf:将其他类型转换成字符串
equals:判断两个字符串的内容是否相等
toString:重写了Object类的toString,可以返回字符串内容

三、StringBuffer和StringBuilder

1、说明

StringBuffer属于java.lang包中的一关用于保存字符串的类,相当于String的增强版

2、StringBuffer创建对象

形式一:构建了一个StringBuffer对象,里面维护了初始容量为16的char[] value
  StringBuffer s = new StringBuffer();
形式二:构建了一个StringBuffer对象,里面维护了初始容量为指定capacity的char[] value
  StringBuffer s = new StringBuffer(int capacity);
形式三:构建了一个StringBuffer对象,里面维护了初始容量为str.length()+16的char[] value
  StringBuffer s = new StringBuffer(str);

3、StringBuffer和String的转换

(1)String——>StringBuffer
    StringBuffer buffer = new StringBuffer(string);
(2)StringBuffer——>String
    String s = buffer.toString();
    或
    String s = new String(buffer);

4、StringBuffer的常见方法 ★

append:追加任意类型的元素到buffer对象,返回StringBuffer类型
delete:删除指定范围内的元素,返回StringBuffer类型
replace:替换指定范围内容内的元素,返回StringBuffer类型
indexOf:查找字符串的索引,如果找不到,返回-1
insert:在指定索引处插入任意类型的元素,,返回StringBuffer类型
reverse:反转
length:长度

5、String、StringBuffer、StringBuilder对比

(1)String和StringBuffer的对比

相同点:
  String和StringBuffer都是用于保存字符串的,都有对字符串处理和操作的方法,比如获取长度,查找、拼接等
不同点:
  String类保存的是字符串常量,里面的值一旦配置好,则不能更改,每次更改都是更改地址,需要重新指向,效率较低
  StringBuffer保存是字符串变量,里面的值哪怕配置好,也可以更改,不需要重新指向,增删改的效率较高

(2)StringBuffer和StringBuilder的对比

相同点:
  StringBuffer和StringBuilder保存的都是字符串变量,创建对象和常用方法均相同
不同点:
  StringBuffer版本为1.0,线程安全,效率较低
  StringBuilder版本为1.5,线程不安全,效率较高

四、Math

1、说明

Math类是java.lang包中的一个用于处理和操作数值型的类,里面提供了一系列静态方法

2、常见方法

abs 绝对值
min 较小值
floor 向下取整
random 随机数
ceil 向上取整
max 较大值
round四舍五入:对于负数,先加0.5,然后向下取整
sqrt 求开方
pow 求幂

五、Arrays

1、说明

Arrays类是java.util包下的一个用于管理数组的类,里面提供了一系列的静态方法

2、常见方法

sort(数组名) :自然排序。根据数组元素本身的比较规则进行排序。
  要求:数组元素必须实现Comparable接口,并实现里面的抽象方法compareTo
sort(数组名,comparator):定制排序。根据提供的comparator的比较规则进行排序
binarySearch(数组名,待查找的元素):通过二分搜索法进行查找。如果找到返回元素的下标,否则返回负数
  要求:该数组已经排好序
binarySearch(数组名,带查找的元素,comparator)::通过二分搜索法进行查找。如果找到返回元素的下标,否则返回负数
  要求:该数组已经排好序
copyOf(旧数组,新数组的长度):复制数组,返回一个指定长度的新数组
fill(数组名,待填充的元素):将指定的元素填充到数组中
equals(数组1,数组2):比较两个数组元素是否相等
toString(数组):将数组的各元素进行拼接,最终返回字符串

六、System

1、说明

System类是java.lang包中的一个和系统信息相关的类,保存了一系列静态的字段和方法

2、常见方法

gc:运行垃圾回收机制,jvm做了最大努力,但不一定立刻回收
arrayCopy:复制数组
exit:退出
currentTimeMillis:获取当前时间距离1970-1-1的毫秒数
getProperties:获取当前系统的属性列表

七、日期

1、第一代

Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh小时mm分钟ss秒");
String dateString = sdf.format(d);

2、第二代

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calenar.SECOND);
String dateString = String.format("%d-%d-%d %d小时%d分钟%d秒",year,month,day,hour,minute,second);

3、第三代

LocalDateTime ldt = LocalDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd hh小时mm分钟ss秒");
String dateString = dtf.format(ldt);

八、BigInteger和BigDecimal

1、BigInteger类

(1)说明

BigInteger属于java.math包下的一个用于保存较大整型的类,比Long保存的整型范围更大。

(2)常见方法

add 加
substract 减
multiply乘
divide除
max 较大值
min 较小值

2、BigDecimal

(1)说明

BigDecimal属于java.math包下的一个用于保存精度更高浮点型的类,比Double保存的浮点型精度更高,比较适合处理精度要求更高的货币运算

(2)常见方法

add 加
substract 减
multiply乘
divide除
max 较大值
min 较小值

原文地址:https://www.cnblogs.com/truthseeking/p/9538558.html

时间: 2024-08-03 00:01:17

JavaSE基础知识(7)—常用类的相关文章

【夯实PHP基础】PHP常用类和函数总结

本文地址 代码提纲: 1. 字符串处理类及函数 2. 数组处理类及函数 3 .web处理类及函数 将常用的PHP的类和函数总结到这里,主要是 自己用过的,比较有感觉. 1. [字符串处理] 1)[utf8字符转gbk]   1 function TransUTF8ToGBK($str) 2 { 3 4 $encode = mb_detect_encoding($str, array('UTF-8', 'GBK')); 5 if ($encode == 'UTF-8') 6 { 7 $str =

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

J2SE基础:8.系统常用类二

1:基础数据与封装类型之间的转型 A:基础数据类型--->封装类型(对象类型) Boolean boolean_1 = new Boolean(true); byte ---->Byte short---->Short char---->Character int--->Integer long-->Long float-->Float double-->Double B:封装类型--->基础类型 Integer.intValue--->int

JavaSe基础知识总结

Java基础知识总结 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. -------------------------------------------------------------------------

JavaSE基础知识(5)—面向对象(5.1类和对象概念、创建及内存分配)

一.类和对象的相关概念 1.面向对象和面向过程的理解 面向对象和面向过程都属于解决问题的思考方式.面向过程:以执行者的角度思考问题,侧重于"怎么做",比较适合解决小型项目面向对象:以指挥者的角度思考问题,侧重于"谁来做",比较适合解决中大型项目面向对象和面向过程不能分割开来,二者相辅相成,缺一不可!宏观上通过面向对象思考,微观上通过面向过程思考! 2.类和对象的概念.关系.区别 (1)概念 对象:客观世界中所有可以被描述的事物都称为对象(万物皆对象).类:具有相同属

JAVA基础知识整理 常用框架

JAVA反射---相关资料: 1.Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息 2.反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值. 参考框架:Butterfly Persistence 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种

java基础知识-对象和类

前言: 因为要准备Java面试,所有将java基础知识点重新复习一遍,主要笔记来源于菜鸟教程和java核心技术的书籍中,也有一些博客上的资料(这些只供我个人学习使用) Java 对象和类 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: 1.Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象

Linux基础知识及常用命令

基础知识点:1.描述计算机的组成及其功能.2.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.3.描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.4.说明Linux系统上命令的使用格式:详细介绍ifconfig.echo.tty.startx.export.pwd.history.shutdown.poweroff.reboot.hwclock.date命令的使用,并配合相应的示例来阐述.5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章

C++基础知识总结-类的基本知识

还是本着那个原则:在简单的代码中,细细体味C++语法与奥妙. 本文总结了有关C++类的基本知识. 类的声明与定义 成员函数 对象成员的引用 类的封装性和隐蔽性