0

0

重拾java基础(十二):java最常用类型String总结

黄舟

黄舟

发布时间:2017-01-16 10:03:18

|

1598人浏览过

|

来源于php中文网

原创

重拾java基础(十二):java最常用类型string总结

一、String类概述

  1.  字符char  一个字符    ''      字符串 String  一个或多个    ""

    2. String是引用数据类型,属于java.lang包

    3. 编码表     ascii   unicode

    立即学习Java免费学习笔记(深入)”;

     4. Java语言支持unicode

二、构造方法

 空构造 public String()           
 String s1=new String();            
 System.out.println(s1);           
 输出结果为空。    
 参数为字符串   
 public  String(String  s)           
 String s2=new String("hello");  //String  s2="hello";            
 System.out.println(s2);           
 输出结果为  hello    
 参数为字节数组  
 public String( byte[]  bytes )  转换            
 byte[] t={97,98,99,'d'};   //byte b='d';            
 String s3=new String(t);            
 System.out.println(s3);           
 输出结果为   abcd   它是将byte数组类型转化为ASCII                       
 表对应的字符    
 参数为字符数组  public String( char[]  value )  转换           
 char[] c={'a','b','c',100};  //char d=100;            
 String s4=new String(c);            
 System.out.println(s4);            
 输出结果为   abcd   它是将char数组类型转化为ASCII                       
 表对应的字符。

三、String是一个特殊的引用类型

1. 它支持两种写法:   
String s="hello";   //s也是对象   
String s=new String("hello");            
注意:
String s1="hello";String s2="hello";这时有三个对象  
s1、s2、hello2. 画内存分配图
  • new String的内存分配图

18.jpg

  • new和不new两种方式的内存分配

    19.jpg

  • 空 

20.jpg

  • 3.一个字符串常量可以直接当成一个对象去使用 

    魔匠AI论文
    魔匠AI论文

    专业原创的AI论文写作工具,一站式解决论文选题、写作、文献综述、答辩PPT全流程,支持毕业论文、课程论文等多种类型,轻松助力高质量论文写作。

    下载

    21.jpg

四、+

  1. 拼接字符串    只能拼接字符串  

2. 如果一个字符串跟一个非字符串的进行拼接,那么Java会自动把非字符串的转 换成字符串,然后再进行拼接

3. 注意的是:使用+拼接字符串时的内存分配图(String对象是不可变的)

22.jpg

4. 即使String对象不是new出来的,那么在进行字符串拼接时也是每次都在堆    中新开辟内存空间

5. 字符串常量在拼接时,不会在堆中新开辟内存空间(重点)

五、判断功能相关的方法

boolean equals(Object obj)       
String s1="hello";        
String s2=new String("HellO");        
System.out.println(s1==s2);        
System.out.println(s1.equals(s2));        
输出结果为  false  false  ; 
equals比较的是内容区分大小写boolean equalsIgnoreCase(String str)String s3="hello";
String s4="Hello";System.out.println(s3==s4);
System.out.println(s3.equalsIgnoreCase(s4));
輸出結果為 false   true  ;
equalsIgnoreCase比较的是内容不区分大小写boolean contains(String str)String s1="hello";
System.out.println(s1.contains("ho"));输出结果为  false   这个方法是看“hello”中是否包含ho            
记得不能分开,如果是he的话结果就是 trueboolean startsWith(String str)System.out.println(s1.startsWith("he"));
输出结果是:true   
这个方法是求输入的这个字符串是否                    
以你定义的这个字符串开头的!                      
这里就是看  “hello”是否以he开头                    
如果换成e   结果就为false了。
boolean endsWith(String str)        
System.out.println(s1.endsWith("llo"));
输出结果为:true   这个方法是求输入的这个字符串是否                    
以你定义的这个字符串结尾的!                      
这里就是看  “hello”是否以lo结尾                    
如果换位ll  结果就为false了。boolean isEmpty()     ""  null        
s1="";System.out.println(s1.isEmpty());
输出结果为:true   这个方法是看 s1这个字符串是否为""                     
如果是就为true
注意:null1.null在Java中是作为常量存在的2.它表示对象不存在3.一个是可以作为初始值来用,一个是可以加快垃圾回收的速度

六、获取功能相关的方法

int length()        
String s1="heloool";System.out.println(s1.length());    
输出结果为:7     
这个方法是来求一个字符串的长度的。            
char charAt(int index)            
System.out.println(s1.charAt(0));    
输出结果为 h   这个方法是用来输入字符串的某个字符的地址坐标来                   
输出这个坐标所对应的值;如果输入2的话输出应该为l。      
int indexOf(int ch) 和int indexOf(String str);    
System.out.println(s1.indexOf("he"));    
输出结果为  0   这个方法是用来寻找输入的字符串(例如he)在当前字                           
符串(heloool)中首次出现的,首个字符的位置。                           
注意he要连写,并且不能为ho这种形式  他们都会                           
输出  -1    
int indexOf(int ch,int fromIndex)和int indexOf(String str,int fromIndex)    
System.out.println(s1.indexOf("l",4));    
输出结果为  6   这个方法是用来寻找输入的字符串(例如l)在当前字                           
符串(heloool)中你定义的从哪个地址坐标(4)开始                           
出现的,首个字符的位置。    
String substring(int start)和    
String substring(int start,int end)            
////        
String substring(int start)             
System.out.println(s1.substring(3));      
输出结果为:oool    这个方法是为了求出  s1这个字符串中 从3开始                 
包括(3)这个坐标,开始输出字符串,一直到结尾。                     
//      
String substring(int start,int end)            
System.out.println(s1.substring(2,5));     
输出结果为  loo    这个方法是为了求出  s1这个字符串中 从2开始                 
包括(2)这个坐标,开始输出字符串,一直到5(不包括5                                      
这个坐标)。       
注意:java有两个原则     一、就近原则;二、顾前不顾后原则。

七、转换功能相关的方法

byte[] getBytes()        
String s1="abcde";        
byte[] b=s1.getBytes();        
for (int i = 0; i < b.length; i++) {            
System.out.println(b[i]);}输出结果为:97 98 99 100 101(竖着写)            
这个方法表示将一个String 类型的字符串转化为:byte            
类型的数组;对应的值为ASCII表值。
char[] toCharArray()        
char[] c=s1.toCharArray();        
for (int i = 0; i < c.length; i++) {            
System.out.println(c[i]);}输出结果为:a b c d e (竖着写)这个方法表示将一个字符转变为数组 。
注意   数组类型为charstatic String valueOf(char[] chs)  //相当于  new  String(char[] c)        
String s2=String.valueOf(c);        
System.out.println(s2);输出结果为:abcde                 
这个方法是将c这个数组转化为字符串  
static String valueOf(基本数据类型 i)          
int j=100;        
s2=String.valueOf(j);   //s2=j+"";        
System.out.println(s2+100); 输出结果为:100100            这个方法是将基本数据类型转化为字符串。  
注意   :  我们一般将基本数据类型转化为字符串类型一般用              
s2=j+"";String toLowerCase()        
String s3="hElLo";        
System.out.println(s3.toLowerCase());输出结果为:hello            
这个方法是将字符串统一为小写形式。
String toUpperCase()System.out.println(s3.toUpperCase());输出结果为:HELLO                  
这个方法是将字符串统一为大写形式。
String concat(String str)        “+”        
String s4=s3.concat(",world");        
System.out.println(s4);       
输出结果为:hElLo,world            
这个方法是将字符串进行拼接。

八、String类的其他功能

替换String replace(String old,String new)        
String s1="helloe";        
s1=s1.replace("l", "123");        
System.out.println(s1);输出结果为:he123123oe            
这个方法是将字符串中的l全部用123来替换。分割  
String[] split(String regex)        
String s2="abcdeffcdtt";        
String[] ss=s2.split("cd");        
for (int i = 0; i < ss.length; i++) {            
System.out.println(ss[i]);        
}输出结果为:ab  eff  tt(竖着写)            
这个方法是从cd分割,且不要cd  其前与后都            
分别存入数组。              
去除字符串两端的空格  
String trim()        
String s3="   he   llo  world   ";        
s3=s3.trim();        
System.out.println(s3);输出结果为:he   llo  world            
这个方法是将s3字符串两端的空格去掉!        
s3=s3.replace(" ", "");        
System.out.println(s3);        输出结果为:helloworld           
注意:     用""来替换" "  这样就起到了删除效果补充:  
int lastIndexOf(int ch)int lastIndexOf(int ch,int fromIndex)int lastIndexOf(String s)        
String s4="hello";        
System.out.println(s4.indexOf("l"));          //输出为2    这个是从前向后找        
System.out.println(s4.lastIndexOf("l"));          //输出为3    这个是从后向前找!
int lastIndexOf(String s,int fromIndex)

以上就是重拾java基础(十二):java最常用类型String总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
全国统一发票查询平台入口合集
全国统一发票查询平台入口合集

本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

19

2026.02.03

短剧入口地址汇总
短剧入口地址汇总

本专题整合了短剧app推荐平台,阅读专题下面的文章了解更多详细入口。

27

2026.02.03

植物大战僵尸版本入口地址汇总
植物大战僵尸版本入口地址汇总

本专题整合了植物大战僵尸版本入口地址汇总,前往文章中寻找想要的答案。

15

2026.02.03

c语言中/相关合集
c语言中/相关合集

本专题整合了c语言中/的用法、含义解释。阅读专题下面的文章了解更多详细内容。

3

2026.02.03

漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题
漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题

本专题围绕漫蛙漫画(Manwa / Manwa2)官网网页版入口进行整理,涵盖漫蛙漫画官方主页访问方式、网页版在线阅读入口、台版正版漫画浏览说明及基础使用指引,帮助用户快速进入漫蛙漫画官网,稳定在线阅读正版漫画内容,避免误入非官方页面。

13

2026.02.03

Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口
Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口

本专题汇总了俄罗斯知名搜索引擎 Yandex 的官网入口、免登录访问地址、中文登录方法与网页版使用指南,帮助用户稳定访问 Yandex 官网,并提供一站式入口汇总。无论是登录入口还是在线搜索,用户都能快速获取最新稳定的访问链接与使用指南。

114

2026.02.03

Java 设计模式与重构实践
Java 设计模式与重构实践

本专题专注讲解 Java 中常用的设计模式,包括单例模式、工厂模式、观察者模式、策略模式等,并结合代码重构实践,帮助学习者掌握 如何运用设计模式优化代码结构,提高代码的可读性、可维护性和扩展性。通过具体示例,展示设计模式如何解决实际开发中的复杂问题。

3

2026.02.03

C# 并发与异步编程
C# 并发与异步编程

本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。

2

2026.02.03

Python 强化学习与深度Q网络(DQN)
Python 强化学习与深度Q网络(DQN)

本专题深入讲解 Python 在强化学习(Reinforcement Learning)中的应用,重点介绍 深度Q网络(DQN) 及其实现方法,涵盖 Q-learning 算法、深度学习与神经网络的结合、环境模拟与奖励机制设计、探索与利用的平衡等。通过构建一个简单的游戏AI,帮助学习者掌握 如何使用 Python 训练智能体在动态环境中作出决策。

3

2026.02.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3.2万人学习

C# 教程
C# 教程

共94课时 | 8.4万人学习

Java 教程
Java 教程

共578课时 | 56.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号