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;生成了一个如…

php soecket服务器搭建_PHP socket 服务器框架集

1.Swoole&#xff1a;重新定义PHPPHP语言的高性能网络通信框架&#xff0c;提供了PHP语言的异步多线程服务器&#xff0c;异步TCP/UDP网络客户端&#xff0c;异步MySQL&#xff0c;数据库连接池&#xff0c;AsyncTask&#xff0c;消息队列&#xff0c;毫秒定时器&#xff0c;异…

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

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

python网站框架下载_web.py首页、文档和下载 - Python框架 - OSCHINA - 中文开源技术交流社区...

web.py是一个小巧灵活的Python框架&#xff0c;它简单而且功能强大。 webpy的设计理念力求精简&#xff08;Keep it simple and powerful&#xff09;&#xff0c;源码很简短&#xff0c;只提供一个框架所必须的东西&#xff0c;不依赖大量的第三方模块&#xff0c;它没有URL路…

拼装机器人感想_学习制作机器人的感想作文500字15篇

第1篇&#xff1a;我的理想-NS-5机器人在科学历史上&#xff0c;有许多的科学家。他们为人类创造了永远的精神财富和物质财富。我的理想&#xff0c;就是当一个科学家&#xff0c;发明一个机器人。它的名字叫NS-5它高度180公分&#xff0c;耐久钛金属外壳&#xff0c;具456个活…

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…

ubuntu 设置开机执行脚本_Ubuntu 16.04设置rc.local开机启动命令/脚本的方法

注意&#xff1a;rc.local脚本里面启动的用户默认为root权限。一、rc.local脚本rc.local脚本是一个Ubuntu开机后会自动执行的脚本&#xff0c;我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下&#xff0c;需要root权限才能修改。该脚本具体格式如下&#xff1a;#!/bi…

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

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

JAVA进阶教学之(Date日期的处理)

两个类&#xff1a; Date类&#xff1a;获取系统当前日期&#xff0c;属于java.util.Date包内 SimpleDateFormat类&#xff1a;将当前日期进行格式化处理&#xff0c;yyy-MM-dd HH:mm:ss SSS 代码演示&#xff1a; Date转String package com.lbj.javase.date;import java.tex…

检测到磁盘可能为uefi引导_在本地硬盘安装WinPE系统,实现UEFI引导,摆脱U盘

之前装系统一直用U盘装PE后再装系统&#xff0c;这次直接想把PE系统直接装在本地某个分区中&#xff0c;普通的PE制作工具只能直接装在一个硬盘里没法装在某个分区&#xff0c;百度发现没有一篇类似的文章&#xff0c;只能自己想办法了。目前的PE都支持UEFI引导了&#xff0c;所…

JAVA进阶教学之(数字格式化和高精度数字)

数字的格式化方便我们对于统计数字的时候便于区分 代码演示&#xff1a; new DecimalFormat("###,###.##"); package com.lbj.javase.number;import java.text.DecimalFormat;public class DecimalFormatTest01 {public static void main(String[] args) {//java.t…

mouted vue 操作dom_vue中关于dom的操作

mounted个人理解为DOM结构准备就绪了&#xff0c;可以开始加载vue数据了&#xff0c;挂载点&#xff0c;配合使用mounted:function(){this.$nextTick(function(){ //this.$nextTick是在下次DOM更新循环结束时调用延迟回调函数。异步函数this.loadData();          //…

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…

submlime text写java_在Sublime Text 3中配置编译和运行Java程序

1.设置java的PATH环境变量2.创建批处理或Shell脚本文件要想编译运行Java程序&#xff0c;需要创建一个批处理或者Shell脚本Windows&#xff1a;runJava.bat:echo offcd %~dp1echo Compiling %~nx1......if exist %~n1.class (del %~n1.class)javac %~nx1if exist %~n1.class (e…

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

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

Python入门教学之(转义字符与原字符)

转义字符&#xff1a; \想要转义功能的首小写字母 例如&#xff1a; 换行 \n print("hello\nworld") 占位符 \t&#xff08;占用4个字符&#xff09; print("hello\tworld") # 由于前面字符占位是5个字符位&#xff0c;后面占位符就占3个字符位 print(…