韩顺平0基础学java——第23

2024-06-16 16:20
文章标签 java 基础 23 顺平

本文主要是介绍韩顺平0基础学java——第23,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

p460-483

常用类

包装类Wrapper

针对8种几种数据类型相应的引用类型——包装类

包装类和基本数据类型的转换

jdk5之前的手动装箱和拆箱:

jdk5之后的自动装箱和拆箱:

三元运算符是一个整体

这个三元运算符里,精度最高的是double,所以是1.0!!

包装类方法 

String和包装类互转:

包装类常用方法:

包装类经典面试题

1.False:两个都是new出来的,不是同一个对象

2.底层都是用的Integer.valueOf:在这个范围内,直接返回值而不是new

范围是-128到127!所以这里是true

3.根据上一题,就是False,因为这个是128,超出了范围。

小结:如果new了那是两个对象,“==”判断的是否为同一个对象!

如果底层都是valueOf,看范围“是否在-128到127之间”,在范围内是比较值,超出后会new

如果比较的一方有基本数据类型,那么就是比值是否相等!!

String类

1.String对象用于保存字符串,也就是一组字符序列

2.字符串常量对象是用双引号括起来的字符序列

3.字符串用的Unicode字符编码,一个字符占两个字节(不管是字母还是汉字)

4.常用构造器

//常用

//其他构造器

String的类图:

实现串行化的意思是可以进行网络传输!

String是final类,不能被继承、。有属性private final char value【】;用于存放字符串内容。

一定要注意,value是一个final类型,一旦赋值后不可修改地址(value是一个引用,不能指向新的内容),但是值是可以修改的。

String赋值

方式一:直接赋值 

String s1 = “mdk”;

这种方式在常量池里寻找mdk数据,如果有那就让s1指向它,如果没有那就创建(创建就获得了地址)。

方式二:调用构造器

String s2 = new String(“mdk”);

这种方式在堆里先开辟空间,开辟后在常量池里寻找,如果有那就从堆里指向常量池(如果没有就创建)。

 intern方法

intern返回的是常量池的地址


创建了一个对象:编译器会优化它,等价于String a = “helloabc”


麻了,c实际上是new出来的...

一共有3个对象。

老韩小结:底层是StringBuilder sb = new StringBuilder(); sb.append(a);sb.append(b); sb是在堆中,并且append是在原来字符串的基础上追加的.

重要规则:String c1 = "ab" + "cd";常量相加,看的是池。String c1 =a+b;变量相加,是在堆中


一到很逆天的题:

0470_韩顺平Java_String对象特性2_哔哩哔哩_bilibili


String常用方法

略,用到了再查吧

String相关的类

1.StringBuffer

1.StringBuffer的直接父类是AbstrctStringBuilder,

2.StringBuffer实现了Serializable,即StringBuffer的对象可以串行化

3、在父类中,AbstractStringBuilder有属性char【】value不是final,该value数组存放字符串内容,引出存放在堆中。

4.StringBuffer是个final类。不能被继承

StringBuffer和String在使用中经常会相互转换,

2.StringBuider

单线程时优先使用StringBuilder

String、StringBuffer和StringBuilder的比较:

结论

这章真的太困了,感觉没学明白。

Math类

Math类是静态类,常用方法:

1.abs绝对值

2.pow求幂:Math.pow(2,4);//2的4次方

3.ceil向上取整:返回该参数的最小整数:3.9返回4.0

4.floor向下取整

5.round四舍五入

6.sqrt开平方

7.random求随机数

        random返回的是0-1之间的一个随机小数(0-1】

8.max、min

Arrays类

排序有点懵逼:0481_韩顺平Java_Arrays排序源码解读_哔哩哔哩_bilibili

今晚争取把这两p看懂就下班

sort方法的使用

默认排序:Arrays.sort[ 传入数组]

定制排序:实现了Comparator接口的匿名内部类,要求实现compare方法!

Arrays.sort(arr,new Comparator(){

//匿名内部类,这里体现了接口编程的一种方式~

        public int compare(Object o1,Object o2){

                Integer i1 = (Integer)o1; 

                Integer i1 = (Integer)o1; 

return n1-n2;}

})

追到sort的源码,发现是二叉树排序。(这是什么?)

这篇关于韩顺平0基础学java——第23的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066940

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.