java基础知识(常用类)

server/2024/11/29 3:16:37/

目录

一、包装类(Wrapper)

 (1)包装类与基本数据的转换

String%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2-toc" style="margin-left:80px;"> (2)包装类与String类型的转换

    (3)Integer类和Character类常用的方法

String%E7%B1%BB-toc" style="margin-left:40px;">二、String

String%E7%B1%BB%E4%BB%8B%E7%BB%8D-toc" style="margin-left:80px;">(1)String类介绍

String%20%E5%AF%B9%E8%B1%A1%E7%94%A8%E4%BA%8E%E4%BF%9D%E5%AD%98%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E4%B8%80%E7%BB%84%E5%AD%97%E7%AC%A6%E5%BA%8F%E5%88%97-toc" style="margin-left:120px;">1)String 对象用于保存字符串,也就是一组字符序列

2)字符串常量对象是用双引号括起的字符序列。例如:"你好"、"12.97"、"boy"等

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

String%E7%B1%BB%E8%BE%83%E5%B8%B8%E7%94%A8%E6%9E%84%E9%80%A0%E5%99%A8(%E5%85%B6%E5%AE%83%E7%9C%8B%E6%89%8B%E5%86%8C)%3A-toc" style="margin-left:120px;">4)String类较常用构造器(其它看手册):

String%E7%B1%BB%E6%98%AFfinal%E7%B1%BB%EF%BC%8C%E4%B8%8D%E8%83%BD%E8%A2%AB%E5%85%B6%E4%BB%96%E7%9A%84%E7%B1%BB%E7%BB%A7%E6%89%BF%EF%BC%8CString%E7%B1%BB%E6%9C%89%E5%B1%9E%E6%80%A7private%20final%20char%20value%5B%5D%3B%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%86%85%E5%AE%B9%EF%BC%8Cvalue%E4%B8%8D%E5%8F%AF%E4%BF%AE%E6%94%B9%EF%BC%8C%E6%98%AF%E6%8C%87value%E4%B8%8D%E8%83%BD%E6%8C%87%E5%90%91%E6%96%B0%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E4%BD%86%E6%98%AF%E5%8D%95%E4%B8%AA%E5%AD%97%E7%AC%A6%E7%9A%84%E5%86%85%E5%AE%B9%E5%8F%AF%E4%BB%A5%E5%8F%98%E5%8C%96-toc" style="margin-left:120px;">5)String类是final类,不能被其他的类继承,String类有属性private final char value[];用于存放字符串内容,value不可修改,是指value不能指向新的地址,但是单个字符的内容可以变化

String%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%88%9B%E5%BB%BA-toc" style="margin-left:80px;">(2)String对象的创建

String%E7%89%B9%E6%80%A7-toc" style="margin-left:80px;">(3)String特性

String%E7%B1%BB%E7%9A%84%E5%B8%B8%E8%A7%81%E6%96%B9%E6%B3%95-toc" style="margin-left:80px;">(4)String类的常见方法

StringBuffer%20%E7%B1%BB-toc" style="margin-left:40px;">三、StringBuffer 类

String%20%E5%92%8C%20StringBuffer%20%E7%9B%B8%E4%BA%92%E8%BD%AC%E6%8D%A2-toc" style="margin-left:80px;">(1)StringStringBuffer 相互转换

StringBuffer%20%E7%B1%BB%E5%B8%B8%E8%A7%81%E6%96%B9%E6%B3%95-toc" style="margin-left:80px;">(2)StringBuffer 类常见方法

a)增

 b)删

 c)改

 d)查

 e)插

String%E3%80%81StringBuffer%20%E5%92%8C%20StringBuilder%20%E7%9A%84%E6%AF%94%E8%BE%83-toc" style="margin-left:80px;">(3)StringStringBuffer 和 StringBuilder 的比较


一、包装类(Wrapper)

 

 (1)包装类与基本数据的转换

装箱:基本类型->包装类型

拆箱:包装类型->基本类型

java5以后是自动装箱和拆箱的方式,自动装箱底层调用的是valueOf方法,比如Integer.vaalueOf()

手动装箱

int n = 100;

Integer integer =  new Integer(n1);

Integer integer1 = Integer.valueOf(n1);

手动拆箱

int i = integer.intValue();

自动装箱

int n2 = 200;

Integer integer2 = n2;

自动拆箱

int n3 = integer2;

其他的包装类类似一样

测试用例:

java">	public static void main (String[] args) {Object obj1 = true? new Integer(1): new Double(2);System.out.println(obj1);}

打印的结果为1.0,因为三目运算符是一个整体,会自动提升类型所以是1.0不是1

String%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2"> (2)包装类与String类型的转换

java">	public static void main (String[] args) {//Integer->StringInteger i = 100;//自动装箱//方式1String j = i + " ";//对于i的数据类型没有变化//方式2String str1 = i.toString();//方式 3String str3 = String.valueOf(i);//String -> 包装类(Integer)String str4 = "12345";
Integer i2 = Integer.parseInt(str4);//使用到自动装箱Integer i3 = new Integer(str4);//构造器System.out.println("ok~~");}

    (3)Integer类和Character类常用的方法

java">	public static void main (String[] args) {System.out.println(Integer.MIN_VALUE); //返回最小值
System.out.println(Integer.MAX_VALUE);//返回最大值
System.out.println(Character.isDigit('a'));//判断是不是数字
System.out.println(Character.isLetter('a'));//判断是不是字母
System.out.println(Character.isUpperCase('a'));//判断是不是大写
System.out.println(Character.isLowerCase('a'));//判断是不是小写
System.out.println(Character.isWhitespace('a'));//判断是不是空格
System.out.println(Character.toUpperCase('a'));//转成大写
System.out.println(Character.toLowerCase('A'));//转成小写
}}

Integer面试题

java">
public static void main(String[] args) {
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i == j); //False
//所以,这里主要是看范围 -128 ~ 127 就是直接返回
//这里创建了对象,两个对象返回false
//2. 如果不在 -128~127,就直接 new Integer(i)Integer m = 1; //底层 Integer.valueOf(1); -> 阅读源码
Integer n = 1;//底层 Integer.valueOf(1);
System.out.println(m == n); //T
//所以,这里主要是看范围 -128 ~ 127 就是直接返回
//,否则,就 new Integer(xx);
Integer x = 128;
Integer y = 128;
System.out.println(x == y);//False
Integer i11 = 127;
int i22 = 127;
System.out.println(i11 = i22); //true
//只要有基本数据类型,判断的是值相等,Integer自动拆箱
Integer i33 = 128;
int i44 = 128;
System.out.println(i33 = i44); //true
//只要有基本数据类型,判断的是值相等,Integer自动拆箱
}
}

String%E7%B1%BB">二、String

String%E7%B1%BB%E4%BB%8B%E7%BB%8D">(1)String类介绍


http://www.ppmy.cn/server/145799.html

相关文章

数据结构:链表进阶

链表进阶 1. ArrayList的缺陷2. 链表2.1 链表的概念及结构2.2 链表的实现 3.链表面试题4.LinkedList的使用5.1 什么是LinkedList4.2 LinkedList的使用 5. ArrayList和LinkedList的区别 1. ArrayList的缺陷 通过源码知道,ArrayList底层使用数组来存储元素&#xff1…

VsCode 插件推荐(个人常用)

VsCode 插件推荐(个人常用)

物联网实验室建设方案

一、物联网实验室建设 (1) 基础理论教学云平台 唯众基础理论教学云平台是一个专为物联网相关专业教学打造的综合性在线教学平台。该平台凭借先进的技术架构和丰富的教学资源,为师生提供了一个高效、便捷、互动的学习环境。以下是该平台的主要特点和功能描述&#…

C#里怎么样使用线程暂停?

C#里怎么样使用线程暂停? 如果一个线程没有任务在处理,并且又不进行暂停, 这时候,这个线程就会把当前这个CPU占满,即是所谓的死循环。 因此我们设计线程时,一定要知道线程在什么时候没有工作处理时, 就需要进入等待状态,不能再进行下去,否则会导致死循环, 只是耗费…

Vue3+Typescript+Axios+.NetCore实现导出Excel文件功能

前端代码 //导出Excel const exportMaintenanceOrderSettlementItemExcelClick async () > {let url ${VITE_APP_API_URL}/api/app/maintenance/settlement-service-item/${currentMaintenanceOrderId.value}/${currentMaintenanceOrderSettlementRow.value.id};let file…

【Mybatis】Mybatis集成Javaweb-smbms项目

项目结构如下 Mybatis 集成 Javaweb-smbms 项目需要修改哪些部分&#xff1f; 首先定义 Mybatis 全局配置文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""…

优化DevOps环境中的容器化交付流程:实践指南

在快节奏的软件开发和运维&#xff08;DevOps&#xff09;环境中&#xff0c;容器化已成为提升应用交付效率、增强系统可移植性和简化运维管理的关键手段。本文将深入探讨如何优化DevOps环境下的容器交付流程&#xff0c;提供一系列实践指南&#xff0c;旨在帮助企业加速产品上…

Flink——source数据来源分类

一、Source Data Sources 是什么呢&#xff1f;就字面意思其实就可以知道&#xff1a;数据来源。 Flink 做为一款流式计算框架&#xff0c;它可用来做批处理&#xff0c;也可以用来做流处理&#xff0c;这个 Data Sources 就是数据的来源地。 flink在批/流处理中常见的sourc…