Java常用类(String相关类)-8

news2024/11/16 13:22:27

目录

包装类

装箱和拆箱

包装类型和String的转换,包装类的常用方法

Java_String

两种创建方式解析

测试

常用方法

Java_StringBuffer 

String和StringBuffer的转换

常用方法

 Java_StringBuilder


包装类

装箱和拆箱

package com.edu.wrapper;

public class Interger01 {
    //演示int<-->Integer的装箱和拆箱
    //手动装箱
    int n1=100;
    Integer integer = new Integer(n1);
    Integer integer01 = Integer.valueOf(n1);

    //手动拆箱
    int i = integer.intValue();

    //jdk5后自动拆装
    int n2 = 200;
    Integer integer3 = n2;//底层仍然是Integer.valueOf()
    int n3 = integer3;//底层仍然是integer.intValue();

}

包装类型和String的转换,包装类的常用方法

package com.edu.wrapper;

public class Wrapper02 {
    public static void main(String[] args) {
        //包装类-->String
        Integer i =100; //自动装箱
        //方式1
        String str = i+"";
        //方式2
        String str1 = Integer.toString(i);
        //方式3
        String str3 = String.valueOf(i);

        //String-->包装类
        String str4 ="123";
        Integer integer = Integer.parseInt(str4);//自动转箱
        char str5 = 'a';
        System.out.println((char)((int)str5-32));
        System.out.println(Integer.MAX_VALUE);
    }
}

Java_String

两种创建方式解析

测试

常用方法

package com.edu.string;

import javax.swing.plaf.synth.SynthOptionPaneUI;

public class demo01 {
    public static void main(String[] args) {
        /*
        String的常用方法
        1.equals:比较字符串,区分大小写
        2.equalsIgnorecase:比较字符串,忽略大小写
        3.length:获取字符的个数,字符串长度
        4.indexOf 获取字符在字符串对象中第一次出现的索引(也可以是字符串,字符串返回的是子串第一个字符的索引)
        5.lastIndexof 获取字符在字符串对象中最后一次出现的索引(也可以是字符串)
        6.subString 截取指定范围的子串
         */
        String name = "hello,张三";
        System.out.println(name.substring(6));//获取从索引为6个字符后的字符(包括索引6)
        System.out.println(name.substring(2,5));//获取索引2-(5-1)的字符
        /*
        7.toUpperCase:转化为大写
        8.toLowerCase:转化为小写
        9.concat:字符串拼接
        10.replace:将字符串中的内容替换
         */
        String s1 = "宝玉 and 薛宝钗 薛宝钗 薛宝钗";
        //10将所有的薛宝钗替换为林黛玉
        String s2 = s1.replace("薛宝钗","林黛玉");//本身对s1没有影响
        //11 split:字符串切割
        String poem = "1,2,3,4";
        String[] split = poem.split(","); //以逗号为标准进行分割
        //12 toCharArray :转换为字符数组
        //13 compareTo :比较字符串大小 先长度再内容比较相减
        //14 trim 去除前后空格
        //15 charAt 获取索引字符 charAt[0]
        //16 format 格式化字符串
        String name_John = "John";
        int age = 10;
        double score = 98.3/3;
        char gender = '男';
        //%.2f会四舍五入
        String info = String.format("我的名字是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我",name_John,age,score,gender);
        System.out.println(info);
        /*
        复用
        String formatString = "我的名字是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我"
        String info = String.format(formatString,name_John,age,score,gender);
         */




    }
}

Java_StringBuffer 

StringBuffer是一个容器,可以对字符串进行增加删除的,是可变长度的

String和StringBuffer的转换

package com.edu.string;

public class demo02 {
    public static void main(String[] args) {
        /*
        StringBuffer构造器的使用
         */
        //1、创建一个大小为16的char[];
        StringBuffer stringBuffer = new StringBuffer();
        //2、通过构造器指定char[]大小
        StringBuffer stringBuffer1 =  new StringBuffer(100);
        //3、通过给一个String创建StringBuffer,char[] 大小就是str.length+16
        StringBuffer stringBuffer2 = new StringBuffer("hello");

        //String 和 StringBuffer的相互转换
        String str = "hello tom";
        //方式1 使用构造器
        StringBuffer stringBuffer3 = new StringBuffer(str);
        //方式2
        StringBuffer stringBuffer4 = new StringBuffer();
        StringBuffer append = stringBuffer4.append(str);
        //StringBuffer-->String
        //1 使用toString()方法
        String str1 = stringBuffer3.toString();
        //2 使用构造器直接new
        String s2 =new String(stringBuffer4);
    }
}

常用方法

package com.edu.string;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //增
        StringBuffer stringBuffer = new StringBuffer("hello");
        stringBuffer.append("1");
        stringBuffer.append("11").append("12");
        //System.out.println(stringBuffer);
        //删 删除索引下标11到13的字符[1,3);
        stringBuffer.delete(1,3);
        //改 修改索引为[0,2)的字符,替换为周芷若
        stringBuffer.replace(0,2,"周芷若");
        //查找
        int index = stringBuffer.indexOf("hello");
        //插入 指定索引插入字符串,原来索引为9的位置自动后移
        stringBuffer.insert(9,"周志强");

        //123564,59-->123,564,59 小数点前每3位用,隔开
        StringBuffer stringBuffer1 = new StringBuffer("13564,59");
        System.out.println(stringBuffer1.indexOf(","));
        for (int i=stringBuffer1.indexOf(",")-3;i>0;i-=3){
            stringBuffer1.insert(i,",");
        }
        System.out.println(stringBuffer1);

        /*
        老师的步骤
        1、定义一个Scanner对象,接收用户的输入(String)
        2、转换为StringBuffer对象
        3、处理
         */
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        StringBuffer stringBuffer2 = new StringBuffer(str);
        for (int i=stringBuffer2.indexOf(".")-3;i>0;i-=3){
            stringBuffer2.insert(i,".");
        }
        System.out.println(stringBuffer2);
        scanner.close();
    }
}

 Java_StringBuilder

线程不安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1272077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ELK+filebeat+kafka

无需创建logstash的端口&#xff0c;直接创建topic 远程收集mysql和httpd的日志 &#xff08;一&#xff09;安装nginx和mysql服务 1、打开mysql的日志功能 2、创建日志&#xff08;创库、创表、添加数据&#xff09; &#xff08;1&#xff09;mysql服务器上安装http system…

软件开发流程:基础源代码与实战详解

一、引言 在当今的信息时代&#xff0c;软件开发已成为推动社会进步和发展的重要力量&#xff0c;从智能手机应用程序到复杂的企业级系统&#xff0c;软件开发在我们的日常生活和工作中发挥着越来越重要的作用。 然而&#xff0c;对于初学者来说&#xff0c;了解软件开发流程…

Python链式调用技巧:代码流畅无缝连接

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 链式调用是一种编程风格&#xff0c;它允许将多个方法调用连接在一起&#xff0c;形成一个连贯的操作链。在Python中&#xff0c;链式调用常常用于使代码更简洁、易读&#xff0c;尤其在处理数据处理和函数式编程…

深入了解Java8新特性-日期时间API之ChronoUnit、ChronoField

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概3000多字&#xff0c;预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&#x…

【人工智能Ⅰ】实验6:回归预测实验

实验6 回归预测实验 一、实验目的 1&#xff1a;了解机器学习中数据集的常用划分方法以及划分比例&#xff0c;并学习数据集划分后训练集、验证集及测试集的作用。 2&#xff1a;了解降维方法和回归模型的应用。 二、实验要求 数据集&#xff08;LUCAS.SOIL_corr-实验6数据…

Python list列表添加元素的3种方法及删除元素的3种方法

Python list列表添加元素的3种方法 Python list 列表增加元素可调用列表的 append() 方法&#xff0c;该方法会把传入的参数追加到列表的最后面。 append() 方法既可接收单个值&#xff0c;也可接收元组、列表等&#xff0c;但该方法只是把元组、列表当成单个元素&#xff0c;这…

LeetCode(45)最长连续序列【哈希表】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 最长连续序列 1.题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&a…

目标检测——SPPNet算法解读

论文&#xff1a;Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 作者&#xff1a;Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun 链接&#xff1a;https://arxiv.org/abs/1406.4729 目录 1、算法概述2、Deep Networks with Spatia…

vue3使用动态component

使用场景&#xff1a; 多个组件通过component标签挂载在同一个组件中&#xff0c;通过触发时间进行动态切换。vue3与vue2用法不一样&#xff0c;这里有坑&#xff01; 使用方法&#xff1a; 1.通过vue的defineAsyncComponent实现挂载组件 2.component中的is属性 父组件&am…

企业数字化转型应对传统网络挑战的关键策略

数字化变革正在以前所未有的速度和规模改变着我们的生活和工作方式&#xff0c;使得传统网络架构面临着巨大的挑战。其中包括带宽需求增加、多云应用增加、安全威胁增加以及传统网络设备无法满足需求等问题。 数字化时代需要更高速、更可靠、更安全的网络支持&#xff0c;传统网…

Python基础语法之学习字符串格式化

Python基础语法之学习字符串格式化 一、代码二、效果 一、代码 # 通过m.n控制 a 123 b 123.444 c 123.555 print("限制为5:%5d" % a) print("限制为2:%2d" % a) print("限制为5.2:%5.2f" % b) print("限制为5.2:%5.2f" % c)二、效…

商家门店小程序怎么做?门店小程序的优势和好处

生活服务类商家在当前数字化时代&#xff0c;越来越认识到门店小程序的重要性。门店小程序不仅为商家提供了一个在线展示的窗口&#xff0c;更为其打造了一个与消费者直接互动的平台。有了门店小程序&#xff0c;商家可以更加便捷地管理商品信息、订单流程&#xff0c;同时还能…

LRU缓存淘汰策略的实现——LinkedHashMap哈希链表

LRU&#xff08;最近最少使用&#xff09;缓存淘汰策略可以通过使用哈希链表实现。LinkedHashMap 是 Java 中提供的一种数据结构&#xff0c;它综合了哈希表和双向链表的特点&#xff0c;非常适合用来实现 LRU 缓存。 LinkedHashMap 内部维护了一个哈希表和一个双向链表。哈希…

WSL中安装的Pycharm如何在Windows的开始菜单中新建图标?或WSL中的Pycharm经常花屏

WSL中安装的Pycharm如何在Windows的开始菜单中新建图标&#xff1f;或WSL中的Pycharm经常花屏 ⚙️1.软件环境⚙️&#x1f50d;2.问题描述&#x1f50d;&#x1f421;3.解决方法&#x1f421;&#x1f914;4.结果预览&#x1f914; ⚙️1.软件环境⚙️ Windows10 教育版64位 W…

建设银行新余市分行积极开展国债下乡宣传活动

近日&#xff0c;为了普及国债知识&#xff0c;提高农村居民对国债的认知度和投资意识&#xff0c;建设银行新余市分行组织员工前往下村开展了一场国债下乡宣传活动。 活动当天&#xff0c;工作人员早早地来到了下乡地点&#xff0c;悬挂起了国债宣传横幅&#xff0c;并摆放了…

学习k8s的介绍(一)

一、kubernetes及Docker相关介绍 1、kubernetes是什么 1-1、简称为k8s或kube&#xff0c;是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 声明式配置语法&#xff1a; kubectl create/apply/delete -f xx…

VS Code C++可视化调试配置Natvis,查看Qt、STL变量内容

VS Code C可视化调试配置Natvis 使用GlobalVisualizersDirectory Windows下 C:\Users\YourName\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAdapters\vsdbg\bin\Visualizers\Linux下 ~\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAd…

CANDENCE: PCB 如何高亮网络、器件

PCB 如何高亮网络、器件 开始前先学习一个单词&#xff1a;assign CANDECE 高亮网络 step1: 选择一个颜色&#xff1a;红色 step2: 筛选要高亮什么&#xff1a;网络 or 器件&#xff0c;这里选择网络。 step3&#xff1a;鼠标点击要高亮的网络&#xff1a; 这里是GND 这里…

帮亲戚个忙,闲来有事用php写个58商铺出租转让信息抓取

最近亲戚想做点小超市生意&#xff0c;但是又不懂互联网&#xff0c;信息获取有点闭塞。知道我身在互联网大潮中&#xff0c;想让我帮忙看看网上有没有商铺转让的。心想&#xff0c;这不是小菜一碟&#xff0c;大显身手的时候来了&#xff0c;大概去58瞅了瞅&#xff0c;这玩意…

切水果小游戏

欢迎来到程序小院 切水果 玩法&#xff1a;点击鼠标左键划过水果&#xff0c;快去切水果&#xff0c;看你能够获划出多少水果哦^^。开始游戏https://www.ormcc.com/play/gameStart/205 html <div id"game" class"game" style"text-align: center;…