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

2024-06-16 06:04
文章标签 java 基础 22 顺平

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

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——第22的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We