JAVA进阶教学之(String类的常用方法)

接下来我们进入的学习章程,就是可以通过查阅帮助文档进行实际的应有

1.

charcharAt(int index)

返回指定索引的 char价值。

代码示例:

public class StringTest04 {public static void main(String[] args) {//String中常用的方法//“中国人”是一个字符串String对象,只要是对象就能点.调用char c="中国人".charAt(1);System.out.println(c);//国}}

 

 

2.

intcompareTo(String anotherString)

比较两个字符串的字典。

 代码示例:

public class StringTest04 {public static void main(String[] args) {//int compareTo(String anotherString)int result="abc".compareTo("abc");System.out.println(result);//0(前后相等) 例子:10-10=0int result2="abc".compareTo("abcd");System.out.println(result2);//-1int result3="abcd".compareTo("abce");System.out.println(result3);//-1 8-9=-1int result4="abce".compareTo("abcd");System.out.println(result4);//1(前大后小)  9-8=1//原理:是在字典数字中逐个进行比较,并不是累加起来再进行比较System.out.println("xyz".compareTo("yxz"));//-1}}

 

 

3.

booleancontains(CharSequence s)

如果并且只有当此字符串包含指定的字符序列的字符串值,则返回真值。

代码实例:

public class StringTest04 {public static void main(String[] args) {//判断前面的字符串中是否包含后面的子字符串System.out.println("helloworld.java".contains(".java"));System.out.println("www.baidu.com".contains("baidu"));}}

 

 

4.

 

booleanstartsWith(String prefix)

测试这个字符串是否以指定的前缀开始。

代码演示:

public class StringTest04 {public static void main(String[] args) {Boolean b="fdafadfdsgdsgdcdcdcd".startsWith("f");System.out.println(b);Boolean b2="fdafadfdsgdsgdcdcdcd".startsWith("d");System.out.println(b2);}}

 

 

 

5.

booleanendsWith(String suffix)

测试如果这个字符串以指定的后缀结束。

代码实例:

public class StringTest04 {public static void main(String[] args) {//判断当前字符串是否是以某个字符串结尾System.out.println("test.txt".endsWith("txt"));System.out.println("test.txt".endsWith("aaa"));}}

 

老杜的教学的436集第3分钟的时候有讲解源码

思考一个问题:equals方法和compareTo这两个方法的功能一样,有什么区别呢?

答案:功能很类似,但是equals只能看出是否相等;但是compareTo不仅可以看出是否相等,还可  以       比较大小

 

 

6.

booleanequals(Object anObject)

将此字符串与指定的对象比较。 

实例演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("abc".equals("abc"));}}

 

 

7.

 

booleanequalsIgnoreCase(String anotherString)

比较这 String到另一个 String,忽略大小写的考虑。

代码演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("Abc".equalsIgnoreCase("abc"));}}

 

 

8.

 

byte[]getBytes()

String编码成一个序列使用平台的默认字符集字节,结果存放到一个新的字节数组。

实例演示:(疑问:abcdef是字符串,字符串转成字节数组后,为什么会从a变成97)

public class StringTest04 {public static void main(String[] args) {byte[] bytes= "abcdef".getBytes();for (int i = 0; i <bytes.length; i++) {System.out.println(bytes[i]);}}}

 

 

9.

intlastIndexOf(String str, int fromIndex)

返回此字符串的指定子字符串中最后出现在索引,搜索后从指定索引处开始。

代码演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("dakhfkajsfasfasfasfasfa".lastIndexOf("sfa"));System.out.println("asdakjhfajks".lastIndexOf("s"));}}

 

 

 

 

​​​​​​​10.

intindexOf(String str)

返回指数在这个字符串指定的子字符串中第一个出现的下标。

代码演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("abcsdhkahfkashfjashf".indexOf("h"));}}

 

 

 

​​​​​​​11.

booleanisEmpty()

返回 true如果,如果, length()0,底层代码调用的是length()方法

代码演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("a".isEmpty());System.out.println("".isEmpty());}}

 

​​​​​​​

 

12.

intlength()

返回此字符串的长度。

注意:

判断数组长度和判断字符串长度不一样

原因:

判断数组长度是length属性 arr.length

判断字符串长度是length()方法 "aaa".length()

代码演示:

public class StringTest04 {public static void main(String[] args) {int[] arr={1,2,3,4,5};System.out.println(arr.length);System.out.println("aaa".length());}}

 

 

​​​​​​​​​​​​​​

13.

Stringreplace(CharSequence target, CharSequence replacement)

每个子串替换该字符串指定的文本替换序列靶序列匹配的文字。

代码演示:

public class StringTest04 {public static void main(String[] args) {String s="http://www/baidu.com".replace("http" ,"https");System.out.println(s);}}

 

 

 

​​​​​​​14.

String[]split(String regex)

将此字符串在给定的 regular expression拆分。

代码演示:

public class StringTest04 {public static void main(String[] args) {String[] s="2021/3/9".split("/");for (int i = 0; i <s.length; i++) {System.out.println(s[i]);}}}

 

 

​​​​​​​15.

Stringsubstring(int beginIndex)

返回一个字符串,这个字符串的子串,截取字符串内容。

代码演示:

public class StringTest04 {public static void main(String[] args) {String s="www.baidu.com".substring(4);System.out.println(s);}}

 

 

​​​​​​​

 

16.

Stringsubstring(int beginIndex, int endIndex)

返回一个字符串,这个字符串的子串。

代码演示:

public class StringTest04 {public static void main(String[] args) {String s="www.baidu.com".substring(4,9);System.out.println(s);}}

注意:beginIndex起始位置(包括此位置)

           endIndex结束位置(不包括此位置)

 

 

 

​​​​​​​17.

char[]toCharArray()

将此字符串转换为一个新的字符数组。

代码演示:

public class StringTest04 {public static void main(String[] args) {char[] chars="我是人".toCharArray();for (int i = 0; i < chars.length; i++) {System.out.println(chars[i]);}}}

 

 

​​​​​​​

 

18.

StringtoLowerCase()

转小写

StringtoUpperCase()

转大写

代码演示:

public class StringTest04 {public static void main(String[] args) {System.out.println("FHAJKSFHAzxcmnz".toLowerCase());System.out.println("FHAJKSFHAzxcmnz".toUpperCase());}}

 

 

 

​​​​​​​19.

Stringtrim()

返回一个字符串,它的值是字符串,任何前导和尾随空格删除,删除字符串前后留白。

代码演示:

public class StringTest04 {public static void main(String[] args) {String s="     fakjsfhakjsf    ".trim();String s2="     fakjsfhakjsf    ";String s3="     fakjsfh      akjsf    ";System.out.println(s);System.out.println(s2);System.out.println(s3);}}

 

 

 

20.

这几个方法是静态方法,说明是经常使用的方法,直接用类名进行调用即可

作用:将 非字符串 转换成 “字符串”

 

代码演示:

public class StringTest04 {public static void main(String[] args) {String s=String.valueOf(100);String s2=String.valueOf(3.14);String s3=String.valueOf(true);String s4=String.valueOf(new Customer2());System.out.println(s);System.out.println(s2);System.out.println(s3);System.out.println(s4);}}
class Customer2{@Overridepublic String toString() {return "我是VIP顾客";}
}

结果:

 

 

提问:以前一直强调System.out.println(引用.toStirng);

.toString可以省略不写,自动调用toString 方法

 

分析:(此段是伪代码)

System.out.println(100);
System.out.println(3.14);
System.out.println(true);Object obj=new Object();
System.out.println(obj)

顺着println按住ctrl点进去,进入println的源码

再按住ctrl点击valueOf的源码

发现,底层调用的确实的toString方法,因此我们可以直接省略不写toString方法在System.out.println();方法中可以省略

 

结论:

本质上System.out.println() 这个方法在输出任何数据的时候都是先转换成字符串,再输出

 

 

 

 

 

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

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

相关文章

sql having是什么意思_图解sql面试题:如何查找重复数据?

【题目】编写一个SQL查询&#xff0c;查找学生表中所有重复的学生名。【解题思路】1.看到“找重复”的关键字眼&#xff0c;首先要用分组函数&#xff08;group by&#xff09;&#xff0c;再用聚合函数中的计数函数count()给姓名列计数。2. 分组汇总后&#xff0c;生成了一个如…

JAVA进阶教学之(StrngBuffer进行字符串拼接)

使用StringBuffer字符串拼接目的就是为了让字符串占用的内存空间减少&#xff0c;提高效率 思考&#xff1a;我们在实际的开发中&#xff0c;如果需要进行字符串的频繁拼接&#xff0c;会有什么问题&#xff1f; 答案&#xff1a; 因为java中的字符串是不可变的&#xff0c;每一…

JAVA进阶教学之(StringBuider进行字符串拼接)

这一章节我们学习到的是StringBuider进行字符串拼接&#xff0c;有同学们问&#xff0c;为什么学了StringBuffer字符串拼接后还要看这个&#xff0c;下面我们来说道说道 代码演示&#xff1a; public class StringTest06 {public static void main(String[] args) {StringBui…

javamail 解码 base64 html格式邮件_python使用QQ邮箱实现自动发送邮件

最近用到Python自动发送邮件&#xff0c;主要就是三步&#xff0c;登录邮件、写邮件内容、发送&#xff0c;用到的库是 smtplib 和 email&#xff0c;直接使用pip安装即可我使用的是QQ邮箱&#xff0c;首先需要设置QQ邮箱POP3/SMTP服务记住这个授权码&#xff0c;这个授权码就是…

JAVA进阶教学之(8种包装类)

代码演示&#xff1a; public class IntegerTest01 {public static void main(String[] args) {//把100这个数字经过构造方法包装成对象MyInt myInt new MyInt(100);//doSome()方法虽然不能直接传100,但是可以传一个100对应的包装类型IntegerTest01.doSome(myInt);}public sta…

java 线程状态_面试官问:为什么Java线程没有Running状态?我懵了

点击上方“占小狼的博客”&#xff0c;选择“设为星标“本文阅读时间大约4分钟。来源&#xff1a;https://dwz.cn/dLRLBZabJava虚拟机层面所暴露给我们的状态&#xff0c;与操作系统底层的线程状态是两个不同层面的事。具体而言&#xff0c;这里说的 Java 线程状态均来自于 Thr…

viewpager 自定义翻页效果_Android RecyclerView自定义LayoutManager

在第一篇中已经讲过&#xff0c;LayoutManager主要用于布局其中的Item&#xff0c;在LayoutManager中能够对每个Item的大小&#xff0c;位置进行更改&#xff0c;将它放在我们想要的位置&#xff0c;在很多优秀的效果中&#xff0c;都是通过自定义LayoutManager来实现的&#x…

delphi gui编辑工具源码_Python 快速构建一个简单的 GUI 应用

点击上方“AirPython”&#xff0c;选择“加为星标”第一时间关注 Python 技术干货&#xff01;1. 介绍Python GUI 常用的 3 种框架是&#xff1a;Tkinter、wxpython、PyQt5PyQt5 基于 Qt&#xff0c;是 Python 和 Qt 的结合体&#xff0c;可以用 Python 语言编写跨平台的 GUI …

Python入门级教学之(Python中的输出函数)

print()函数 括号内容可以是数字、字符串、含有运算符的表达式 输出的目的地是显示器、文件 输出的形式是换行、不换行 代码演示&#xff1a; # 项目负责人: LBJ # 开发日期&#xff1a;2021/3/16 20:36# 输出数字、字符串、运算表达式 print(123) print("123") pri…

processing创意图形代码_2020年外贸B2C店铺的黑色星期五创意营销想法(下)

10.外贸B2C店铺黑色星期五创意营销理念——创建促销内容日历随着黑色星期五的临近&#xff0c;您将希望巩固自己的整体策略。伟大的第一步是创建一个内容日历&#xff0c;其中要共享什么资产和内容以及何时共享。计划提前一个月计划&#xff0c;并在黑色星期五的一周开始促销活…

python 识别图形验证码_Python验证码识别

大致介绍在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题&#xff0c;现在的验证码大多分为四类&#xff1a;1、计算验证码2、滑块验证码3、识图验证码4、语音验证码这篇博客主要写的就是识图验证码&#xff0c;识别的是简单的验证码&#xff0c;要想让识别…

pep8 python 编码规范_实用的python编码规范

编码规范在程序开发中是一项很重要要求&#xff0c;良好的编码规范对程序的可读性、代码的可维护性都有很大的提高&#xff0c;从而提高开发效率。下面总结了python中一些实用的开发规范&#xff0c;供大家借鉴和参考。1.每行不超过80个字符每行代码太长既不美观也影响可读性&a…

python txt转json_实战篇 | 用Python来找你喜欢的妹子(二)

用Python做有趣的事情最近整理一个爬虫系列方面的文章&#xff0c;不管大家的基础如何&#xff0c;我从头开始整一个爬虫系列方面的文章&#xff0c;让大家循序渐进的学习爬虫&#xff0c;小白也没有学习障碍.爬虫篇&#xff1a;使用Python动态爬取某大V微博&#xff0c;再用词…

linux 切换root账号_Linux 服务器的安全保障,看看这些

作为一种开放源代码的操作系统&#xff0c;Linux 服务器以其安全&#xff0c;高效和稳定的显著优势而得以广泛应用&#xff0c;但是&#xff0c;若不加以控制&#xff0c;也不见得安全到哪里&#xff0c;这篇博文主要从账号安全控制、系统引导和登录控制的角度&#xff0c;来进…

JAVA进阶开发之(异常类)

保姆级别的异常类教学&#xff08;附代码&#xff09; 目录 1、什么是异常&#xff1a; 2、 java语言中异常以什么形式存在的呢&#xff1f; 3、异常对应的现实生活中是怎样的&#xff1f; 4、异常处理机制 5、异常处理的具体方式 6、运行时异常编写程序时可以不处理 7…

bat文件打开一闪就没了_window文件夹目录树的创建

问题描述当我们的项目文件夹逐渐丰满&#xff0c;各类文件种类繁多&#xff0c;为了增强项目资料的自明性&#xff0c;便于资料管理和交接&#xff0c;有必要对项目文件进行汇总说明。要进行文件汇总&#xff0c;首先要提取文件的目录树。什么是目录树呢&#xff1f;在cmd黑窗口…

JAVA进阶开发之(异常练习题)

编写程序模拟用户注册&#xff1a; 1、程序开始执行的时候&#xff0c;提示用户输入“用户名”和“密码”信息 2、输入信息之后&#xff0c;后台JAVA程序模拟用户注册 3、注册时用户名要求长度在【6-14】之间&#xff0c;小于或者大于都表示异常 注意&#xff1a; 完成注册的…

boolean 默认_MySQL数据类型测试:BOOLEAN、TINYINT测试数据总结(第八节)

前面几节Amy给大家分享了STE集合类型和枚举类型ENUM的测试数据&#xff0c;还没来得及看到的读者可以点击这里查看往期文章。之前看到一些平台上很多人咨询mysql是否提供布尔类型的问题。MySQL数据库确实提供布尔类型&#xff0c;此数据类型的关键字可以写成&#xff1a;布尔类…

netty cpu 占用率 高_Netty 是如何支撑高性能网络通信的?

作为一个高性能的 NIO 通信框架&#xff0c;Netty 被广泛应用于大数据处理、互联网消息中间件、游戏和金融行业等。大多数应用场景对底层的通信框架都有很高的性能要求&#xff0c;作为综合性能最高的 NIO 框架 之一&#xff0c;Netty 可以完全满足不同领域对高性能通信的需求。…

JAVA进阶教学之(单链表数据结构)

什么是链表&#xff1a; 内存地址不连续&#xff0c;基本单元是节点对象Node&#xff0c;单链表尾结点默认是null 什么是链表中的节点&#xff1a; 节点是单链表中的基本单元&#xff0c;每一个节点都有两个属性 属性一&#xff1a;存储的数据 属性二&#xff1a;下一个节点的内…