字符串概述

news2024/11/14 2:40:03

字符串

    • 一、API
    • 二、字符串
    • 2.1字符串的构造方法
    • 2.2 字符串构造时的内存
      • 2.2.1 直接赋值时的内存模型
      • 2.2.2 由new创建时的内存模型
    • 2.3 字符串的比较
    • 三、StringBuilder

一、API

在这里插入图片描述
目前已学过的两个API:RandomScanner
对记不清的API可以去JDK-API帮助文档进行查找。

二、字符串

  1. String是Java定义好的一个类。定义在java.lang包中,所以使用的时候不需要导包。
  2. Java程序中的所有字符串文字(例如“abcdefg"),都被实为此类的对象。
  3. 3.字符串不可变,它们的值在创建后不能被更改。

2.1字符串的构造方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 字符串构造时的内存

2.2.1 直接赋值时的内存模型

在这里插入图片描述

在这里插入图片描述

2.2.2 由new创建时的内存模型

每new一次都要在堆内存创建一个新的小空间。
在这里插入图片描述

2.3 字符串的比较

在这里插入图片描述
但是当两个字符串,一个是直接赋值的,另一个是用new创建的,还是否能进行字符串比较?这时进行的比较则是对地址值的比较,得到false的结果。
如果想进行值的比较:
在这里插入图片描述

三、StringBuilder

StringBuilder可以看作一个创建后内容可变化的容器,其作用是提高字符串的效率。
在这里插入图片描述
在这里插入图片描述
因为StringBuilder是Java已经写好的类,java在底层对他做了一些特殊处理。因此创建完就打印,对象不是地址值而是属性值。

练习:

public class StringBuilderTest2 {
    //需求:定义一个方法
    //把int数组中的数据按照指定的格式拼接成一个字符串返回。
    //调用该方法,并在控制台输出结果。
    // 例如:数组为int[] arr = {1,2,3};
    //执行方法后的输出结果为:[1,2,3]
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        System.out.println(arrToString(arr));
    }

    public static String arrToString(int[] arr) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i != arr.length - 1) {
                sb.append(arr[i]).append(", ");
            } else {
                sb.append(arr[i]);
            }
        }
        return sb.append("]").toString();
    }
}

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

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

相关文章

基于matlab对现代相控阵系统中常用的子阵列进行建模分析

一、前言 本示例说明如何使用相控阵系统工具箱对现代相控阵系统中常用的子阵列进行建模并进行分析。 相控阵天线与传统碟形天线相比具有许多优势。相控阵天线的元件更容易制造;整个系统受组件故障的影响较小;最重要的是&#xff0c;可以向不同方向进行电子扫描。 但是&#xff…

分布式系统学习第一天 fastDFS框架学习

目录 1. 项目架构图 1.1 一些概念 1.2 项目架构图 2. 分布式文件系统 2.1 传统文件系统 3. FastDFS 3.1 fastDFS介绍 3.2 fastDFS安装 3.3 fastDFS配置文件 3.4 fastDFS的启动 3.5 对file_id的解释 4. 上传下载代码实现 5. 源码安装 - 回顾 1. 项目架构图 1.1 一…

JDK8-2-流(2)- 流操作

JDK8-2-流&#xff08;2&#xff09;- 流操作 上篇 JDK8-2-流&#xff08;1&#xff09;-简介 中简单介绍了什么是流以及使用流的好处&#xff0c;本篇主要介绍流的操作类型以及如何操作。 如何返回一个流 ① collection.stream 即调用集合 java.util.Collection 下的 stre…

大学生如何申请一台免费服务器?

大学生如何申请一台免费服务器&#xff1f;阿里云学生服务器免费申请&#xff1a;高效计划&#xff0c;可以免费领取一台阿里云服务器&#xff0c;如果你是一名高校学生&#xff0c;想搭建一个linux学习环境、git代码托管服务器&#xff0c;或者创建个人博客网站记录自己的学习…

【小米技术分享】MySQL:一条数据的存储之旅

大家好&#xff0c;我是你们的小米&#xff0c;一个热爱技术分享的活泼小伙伴&#xff01;今天&#xff0c;我来给大家揭开一个神秘的面纱&#xff0c;带你们深入了解一下MySQL数据库是如何保存一条数据的。 客户端 首先&#xff0c;让我们从客户端&#xff08;Client&#x…

【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【免费】【sci】考虑不同充电需求的电动汽车有序充电调度方法(含matlab代码)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现sci文献《A coordinated charging scheduling method for electric vehicles considering different charging demands》&#xff0c;主要实现电动汽车协调充电调度方法&#xff0c;该方法主要有以…

如何使用PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习(DQN)智能体

强化学习&#xff08;DQN&#xff09;教程 本教程说明如何使用 PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习&#xff08;DQN&#xff09;智能体。 任务 智能体必须在两个动作之间做出决定-向左或向右移动推车-以便使与之相连的杆子保持直立。 您可以在 G…

存储笔记7 NAS

NAS  Describe NAS, its benefits and components  Discuss different NAS implementations  Describe NAS file-sharing protocols  Discuss NAS management options File Sharing Environment 文件系统&#xff1a;存储组织数据文件的结构化方式文件共享 网络存储…

python3GUI--图片浏览器By:PyQt5(附源码)

文章目录 一&#xff0e;前言二&#xff0e;展示1.主界面2.添加图片3.多级目录4.查看文件信息5.调整UI布局 三&#xff0e;源代码1.image_god_main_v.py2.image_god_GUI.py 四&#xff0e;总结 一&#xff0e;前言 本次使用PyQt5开发一款图片浏览器&#xff0c;本篇主要练习QD…

AIGC新时代,注意政策走向,产业方向,拥抱可信AI。需要了解基本理论,基础模型,前沿进展,产品应用,以及小小的项目复现

AIGC&#xff08;AI-Generated Content&#xff0c;AI生成内容&#xff09;是指基于生成对抗网络&#xff08;GAN&#xff09;、大型预训练模型等人工智能技术的方法&#xff0c;通过对已有数据进行学习和模式识别&#xff0c;以适当的泛化能力生成相关内容的技术。类似的概念还…

免费、不用部署SD:AI二维码制作教程

大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、读书和自媒体。 最近&#xff0c;风格化的AI二维码&#xff0c;应该没少见吧。生成的原理大家大概也知道&#xff0c;主要通过stable diffusion和一些插件来完成&#xff0c;但对…

【Linux】HTTPS协议

目录 &#x1f37a;前言&#x1f37b;HTTPS协议原理&#x1f380;1、概念&#x1f381;2、加密和解密&#x1f382;3、常见加密方式&#x1f341;3.1、对称加密&#x1f342;3.2、非对称加密 &#x1f383;4、数据摘要和数据指纹&#x1f364;5、HTTPS工作原理&#x1f338;5.1…

学生速看!免费领取一台阿里云服务器全流程

阿里云学生服务器优惠活动&#xff1a;高效计划&#xff0c;可以免费领取一台阿里云服务器&#xff0c;如果你是一名高校学生&#xff0c;想搭建一个linux学习环境、git代码托管服务器&#xff0c;或者创建个人博客网站记录自己的学习成长历程&#xff0c;拥有一台云服务器是很…

零基础速成simulink代码生成——简单滤波器实现2

simulink setting 找到model settings solver求解器配置 Code Generation 代码生成配置 生成代码报告 添加stateflow注释 可以将变量保存在定义的文件(选) 实践 简单一阶滤波器

鼠标键盘实验

文章目录 USB参考资料USB设备STM32F407USB 硬件连接软件移植官方HIDSTM32F4USB通信库 USB参考资料 ①《STM32F4xx中文参考手册》-第30章 全速USB on-the-go(OTG_FS) ②光盘&#xff1a;STM32参考资料:STM32 USB 学习资料-CD00289278.pdf(UM1021) ③光盘&#xff1a;STM32参考资…

Android 14 新特性:语法性别 Grammatical Gender

背景 如同汉语里的他、她、它&#xff0c;英语里的 He、She、it&#xff0c;很多语言都存在依据性别、对象不同而造成的语法差异&#xff0c;甚至不仅限于名词&#xff0c;还涉及到形容词、动词等&#xff0c;复杂得多。 而这部分语言所涉及到的人群多达 30 亿之众&#xff0…

【树形DP+可重集排列】至至子的公司排队

好屌的题 F-至至子的公司排队_牛客小白月赛55 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 其实题目问的就是&#xff0c;森林的拓扑序有几种 那么我们先去考虑一棵树的拓扑序有几种 这个可以用树形DP来解决 设dp[u]为&#xff0c;以u为根的子树的拓扑序的种类数&…

【Java】项目中大批量数据查询导致OOM

文章目录 背景内存溢出的具体原因错误模拟问题复现解决办法流式查询和分页查询的使用场景查询数据的建议 背景 项目中有时候一次性将大批量数据都查出来到内存中导致内存占用过多很可能会导致内存溢出 内存溢出的具体原因 在JVM内存结构中分为以下几个模块 程序计数器虚拟机…

SSL协议,一文带你了解

SSL简介 SSL&#xff08;Secure Sockets Layer&#xff09;是一种安全协议&#xff0c;用于保护互联网上的数据传输安全。SSL协议最初由网景公司开发&#xff0c;现在已经被TLS&#xff08;Transport Layer Security&#xff09;协议所取代。SSL协议和TLS协议都是为了保护数据传…