java学习——java学习进度一String类1(学习记录——供回溯)

news2024/10/2 12:18:07

String 分割字符串

  • split( )

在这里插入图片描述

String s = "1,2,3,4";
//未使用split分割前
System.out.println(s.length());

//使用split分割后
String[] ssplit = s.split(",");
System.out.println(ssplit.length);

在这里插入图片描述

  • split( , )
 //两个参数都有的时候,第一个为用来分割的符号,第二个为分割后的数组长度
//当设置分割后的数组长度比分割后的长度不同时以分割长度为准
String s  = "1,2,3,4";
System.out.println(s.split(",", 6).length);

在这里插入图片描述

String类构造方法的使用和理解

  • 1. String s="…";

直接赋值的方式获取一个字符串对象
其字符串会存在串池(StringTable)中,也可理解为字符串常量池(堆内存)(常量池(常量池==Class常量池,Java文件被编译成 Class文件,Class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项就是常量池,常量池是当Class文件被Java虚拟机加载进来后存放在方法区 各种字面量 (Literal)和 符号引用)

//以下代码将字符串"1,2,3,4"赋值给了s变量
String s = "1,2,3,4";
  • 2. public String()

使用new的方式来获取一个字符串对象,对象中不含任何内容的空字符(空参构造)

String a =new String();

在这里插入图片描述

  • 3. public String(String original)

传递一个字符串再创建一个字符串对象

//public String(String original) 构造方法,传递一个字符串再创建一个字符串对象
String b =new String("123");

在这里插入图片描述

  • 4. public String(Char[ ] chs)

传递一个字符数组再创建一个字符串对象

//public String(Char[ ] chs)构造方法 ,传递一个字符数组再创建一个字符串对象
char[] chs = {'1','2','3','4'};
String s =new String(chs);

在这里插入图片描述

  • String(字符数组名,数组元素开始位置,转换长度);

Char字节数组的一部分转换成字符串

//String(字符数组名,数组元素开始位置,转换长度);将Char字节数组的一部分转换成字符串
char[] chs = {'1','2','3','4'};
String a =new String(chs,0,2);

在这里插入图片描述

  • 5. public String(byte[] chs)

传递一个字节数组再创建字符串对象

//public String(byte[] chs) 构造方法,传递一个字节数组再创建字符串对象
byte[] bytes = {97,98,99};
String b = new String(bytes);//输出abc(ASCLL编码对照表)

在这里插入图片描述

  • String(字节数组名,数组元素开始位置,转换长度);

bytes字节数组的一部分转换成字符串

//将bytes字节数组的一部分转换成字符串,格式为String(数组名,数组元素开始位置,转换长度);
String c = new String(bytes,0,2);
System.out.println(c);

在这里插入图片描述

截取字符串

  • subString从一个较大的字符串中提取一个子串

subString(x,y): 该方法是截取下标x~y-1 的字符串

//subString(x,y) 该方法是截取下标x~y-1 的字符串
String s = "123456";
s = s.substring(0,3);

在这里插入图片描述##### subString(x) : 该方法是截去前x个字符串后的字符串。

String s = "123456";
s = s.substring(3);

在这里插入图片描述

字符串常量

部分内容来自该网站
Java 语言使用 final 关键字来定义一个常量,其语法如下所示:

final dataType variableName = value

其中,final 是定义常量的关键字,dataType 指明常量的数据类型,variableName 是变量的名称,value 是初始值。
final 关键字表示最终的,它可以修改很多元素,修饰变量就变成了常量。例如,以下语句使用 final 关键字声明常量。

public class HelloWorld {
    // 静态常量
    public static final double PI = 3.14;
    // 声明成员常量
    final int y = 10;

    public static void main(String[] args) {
        // 声明局部常量
        final double x = 3.3;
    }
}
  • 字符型和字符串常量值

Java 的字符型常量值是用单引号引起来的一个字符,如 ‘e’、E’。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 “11”、“d” 等都是表示单个字符的字符串。
在这里插入图片描述

字符串判等,判断字符串是否为null

  • 空字符串与null区别
    1、类型 null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ; "“表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = “” ;
    2、内存分配 String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间; String str = “”; 表示声明一个字符串类型的引用,其值为”"空字符串,这个str引用指向的是空字符串的内存空间;在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap)

== 和equals 最大的区别是
== 是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。
equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值。

String str = null;

//方法一:比较所指向的对象的地址值
System.out.println(str == null|| str.equals(""));

//方法二: 比较字符串长度
System.out.println((str == null || str.length() == 0));

//方法三:使用isEmpty() 方法来判断字符串是否为空
System.out.println(str == null || str.isEmpty());

//方法四
System.out.println((str == null || str == ""));

在这里插入图片描述

String类型转换

  • String类型转换为int类型
String str = "123456";
//String类型转换为int类型
int nstr = Integer.parseInt("123");
System.out.println(nstr);

在这里插入图片描述

  • 将int类型转换为String类型
String str = "123456";
//String类型转换为int类型
int nstr = Integer.parseInt("123");

//将int类型转换为String类型
String str1 = String.valueOf(nstr);
System.out.println(str1);

在这里插入图片描述

  • toCharArray()将当前字符拆分成为字符数组
String str = "123456";
//public char[] toCharArray()将当前字符拆分成为字符数组
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}

在这里插入图片描述

  • getByes()将String转成byte类型的数字
String str = "abcd";

        //getBytes()将String转成byte类型的数字
        byte[] bytes = str.getBytes();
        for (int i = 0; i <bytes.length; i++) {
            System.out.println(bytes[i]);
        }

在这里插入图片描述
出现的数字是又ASCll码转换成数字的
在这里插入图片描述

  • String类型转换为double类型

使用Double.parseDouble(String)将字符串转换为双精度

String str ="123.45";
//使用Double.parseDouble(String)将字符串转换为双精度
double dstr = Double.parseDouble(str);

在这里插入图片描述
使用Double.valueOf(String)将字符串转换为双精度double

String str = "123.45";
//使用Double.valueOf(String)将字符串转换为双精度double
double dstr = Double.valueOf(str);
System.out.println(dstr);

在这里插入图片描述
使用Double类的构造函数字符串转换为双精度double

String str = "123.45";
//使用Double类的构造函数字符串转换为双精度double
double dstr = new Double(str);
System.out.println(dstr);

在这里插入图片描述

String类型转float类型

float的意思是“浮动”,是java中的浮点型数据类型,用于存储单精度浮点数,默认值是“0.0f”,内存分配4个字节,占32位,有效小数位6-7位。

String str = "123.45";
//使用Float.parseFloat(string)将String类型转换为float类型
float fstr =Float.parseFloat(str);
System.out.println(fstr);

在这里插入图片描述

String类型转short类型

short类型是一种基本数据类型,用于表示16位有符号整数,取值范围为-32768到32767
使用 Short.parseShort() 方法

String str = "123";
//使用Float.parseFloat(string)将String类型转换为float类型
Short str1 =Short.parseShort(str);
System.out.println(str1);

在这里插入图片描述
使用基本数据类型的对象包装器将String转换为short

String str = "123";
//使用基本数据类型的对象包装器将String转换为short
Short str1 =new Short(str);
System.out.println(str1);

在这里插入图片描述

字符串连接运算

使用连接运算符“+”

String swh = "武汉";
String shz = "杭州";
System.out.println(swh + "欢迎您!");
System.out.println(shz + "欢迎您!");

在这里插入图片描述

使用 concat() 方法

在 Java 中,String 类的 concat() 方法实现了将一个字符串连接到另一个字符串的后面,格式为“字符串1.concat (“字符串2”);”

String Chn = "中国";
System.out.println(Chn.concat("北京").concat("天安门"));

在这里插入图片描述

字符串同其他基本数据类型进行连接

实现将字符串与整型、浮点型变量相连并输出结果

//字符串同其他基本数据类型进行连接
String food ="饺子";// 字符串
int num =10;// 整型变量
float cash = 20.5f;// 浮点型变量
System.out.println("我吃了"+ num +"个" +food +"价格是"+ cash+"元");

在这里插入图片描述

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

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

相关文章

视频编辑软件:迅捷视频工具箱

这是一款功能强大、易于使用的视频编辑工具&#xff0c;支持视频剪辑、视频转换、音频转换、视频压缩、视频水印、字幕贴图等实用功能&#xff0c;可以帮助你制作出高质量的视频作品。&#xff08;传送门&#xff1a;https://www.xunjiepdf.com/xjspgjx&#xff09; 功能简介 …

Linux:CentOS:进程查看和控制

查看 ps 查看静态的进程统计信息top查看动态的进程排名信息pgrep根据特定条件查询进程 PID 信息pstree以树形结构列出进程信息 S ---休眠 R ---运行 Z ---僵死&#xff08;应予以手动终止&#xff09; < ---高优先级 N ---低优先级 …

FrameLayout+LinearLayout实现首页底部菜单

1.布局样式 2.main.xml代码 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_par…

Socket(二)

文章目录 1. Socket地址2. 代理服务器3. 获取Socket的信息4. 关闭还是连接5. toString() 1. Socket地址 SocketAddress类表示一个连接端点&#xff0c;这个一个空的抽象类&#xff0c;除了一个默认构造函数外&#xff0c;没有其他方法。当前只支持TCP/IP Socket&#xff0c;实…

在云服务器上部署简单的聊天机器人网站(源1.0接口版)

诸神缄默不语-个人CSDN博文目录 又不是不能用.jpg http://47.113.197.198:8000/chat 集成代码可参考&#xff1a;花月与剑/scholar_ease 之所以先用源1.0&#xff0c;一是因为我API都申请了&#xff0c;不用白不用&#xff1b;二是因为源1.0可以直接用国内网络连接&#xf…

终极AI工具包【第一章 如何学习ChatGPT(基础知识)】

第1章&#xff1a;如何学习ChatGPT&#xff08;基础知识&#xff09; 1、什么是ChatGPT ChatGPT是OpenAI开发的一种人工智能&#xff08;AI&#xff09;语言模型。它是在一个称为GPT&#xff08;生成预训练变压器&#xff09;的架构下构建的&#xff0c;目的是理解和生成人类语…

商城配置-shorp

商城配置 说明 商城配置主要分为三块&#xff0c;基础配置&#xff0c;平台配置&#xff0c;支付配置,所有配置请都检查配置一下&#xff0c;文档中只对部分配置进行说明 基础配置 基础配置说明 基础配置包括&#xff0c;商城信息&#xff0c;会员配置&#xff0c;分享配置&am…

考研算法复试刷题19天:Prim算法求最小生成树 【prim,最小生成树】

最小生成树 参考博客&#xff1a;图解&#xff1a;什么是最小生成树&#xff1f; - 知乎 (zhihu.com) 总结下来的过程就是&#xff0c;一张图&#xff0c;我们将他化为树的形式&#xff0c;也就是生成树。那么最小生成树有是啥呢&#xff1f;所谓一个 带权图 的最小生成树&a…

图片类主题TOB主题1.0_WordPress主题

WordPress tob主题是一款基于WordPress程序的专业图片类主题&#xff0c;在图片展示上做了很多工作&#xff0c;扁平化设计、自适应响应式布局、多设备支持、强大的主题功能配置&#xff0c;希望tob主题可以开启图片站新时代。 tob主题1.0版本更新内容&#xff1a; 新增首页置…

ProtoBuf的安装

ProtoBuf的安装 &#x1f50e;下载ProtoBuf编译器&#x1f50e;配置环境变量&#x1f50e;验证&#x1f50e;结尾 文章中安装的 ProtoBuf 版本为 v21.11 如果需要其他版本, 可根据自身需要选择相对应的版本进行下载 (步骤都是类似的) &#x1f50e;下载ProtoBuf编译器 点击链接…

websocket在分布式场景的应用方案

websocket简介 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它可以在客户端和服务器之间建立持久连接&#xff0c;使得服务器可以主动向客户端推送数据&#xff0c;而不需要客户端不断地向服务器发送请求。 WebSocket 协议的优点包括&#xff1a; 实时性&#x…

matlab将图像转成单列(可还原)

在MATLAB中&#xff0c;通过使用 image(:) 将二维图像转换为一列时&#xff0c;元素的顺序是按列主序&#xff08;column-major order&#xff09;进行排列。 具体而言&#xff0c;对于一个 M 行 N 列的二维图像&#xff0c;image(:) 将按照列的顺序将图像的元素存储到一列向量…

凸缺陷 convexityDefects

获取凸包&#xff0c;可以参考我的这篇文章&#xff1a; 凸包&#xff08;Convex Hull&#xff09;代码实现案例 获取了凸包之后&#xff0c;可以干什么呢&#xff1f; 凸缺陷凸包与轮廓之间的部分称为凸缺陷。凸缺陷可用来处理手势识别等问题。 通常情况下&#xff0c;使用如…

单位公派|消化内科医生赴美国藤校耶鲁大学访学

N医生依据单位公派要求及本人专业特点&#xff0c;希望申请到美国排名靠前的名校或医疗机构从事一年的访问交流。我们申请到了数个世界知名高校&#xff0c;最终其选择了专业高度匹配的常春藤高校-耶鲁大学。 N医生背景&#xff1a; 申请类型&#xff1a;单位公派 工作背景&a…

RFID软件在现代智能制造中的应用

随着机器人、传感器等新兴技术的普及&#xff0c;智能制造正在成为制造业发展的新趋势。而RFID软件作为智能制造技术中的重要应用&#xff0c;具有广泛的应用前景和优势。 一、RFID软件的应用原理 RFID即无线射频识别&#xff0c;它是一种利用无线电波自动识别物体的技术。RF…

上四休三听起来很爽?现实可能没有那么美好

就在各位996人还在羡慕朝九晚五周末双休时&#xff0c;有些企业则走得更远&#xff0c;上四休三都出来了&#xff01;据媒体报道&#xff0c;近期&#xff0c;浙江温州的一家创意公司火了&#xff0c;该公司的招聘信息表示&#xff0c;在保证薪资和社保的前提下&#xff0c;员工…

交叉导轨在光学测试仪和光学工作台中的应用

交叉导轨主要是安装在高精密加工的工作台与基座之间的一种装置&#xff0c;它的安装需要主要是适合了高精密、小型和一些高性能的平台工作的需要。 交叉导轨在应用的过程中也是起到了很多方面的作用的。像精密检测仪器&#xff0c;自动化设备&#xff0c;还有一些检查设备中等等…

基于Springboot + Vue3的云盘系统

目录 一. &#x1f981; 前言二. &#x1f981; 主要技术栈三. &#x1f981; 架构搭建1. 项目搭建效果2. 各部分作用 四. &#x1f981; 主要功能1.功能图2. 主要功能2.1 分片上传文件2.2 存储分享记录 五. &#x1f981; 效果显示 一. &#x1f981; 前言 源码获取地址&#…

Python常用遥感模块Rasterio与Rioxarray的安装与使用

1. Rasterio与Rioxarray安装 Rasterio 是一个很多模块是基于 GDAL 的 Python 包&#xff0c;可用于处理地理空间栅格数据&#xff0c;例如 GeoTIFF 文件。为此&#xff0c;可以使用许多模块和函数&#xff0c;例如&#xff0c;处理来自卫星的原始数据、读取栅格数据、检索地理…

什么是API接口,API接口类型有哪些?

随着互联网技术的不断发展&#xff0c;全球网络数据呈现爆炸式增长&#xff0c;如何从这些数据中挖掘出有价值的信息变得愈发重要。API接口作为一种重要的数据获取方式&#xff0c;逐渐引起了人们的关注。 API&#xff08;Application Programming Interface&#xff09;是软件…