下标 获取字符_第6天|Java入门有道,String字符串(超详细)

在Java中,数据类型有两种,一种就是昨天学过的基本数据类型(也叫值类型),另外一种是引用类型。值类型变量声明后,不管是否已经赋值,编译器为其分配内存,直接存储值;引用类型由类型的实际值引用(类似于指针)表示的数据类型,包括类、接口、委托和装箱值类型。

基本数据类型(也叫值类型)就是现金,要用直接用;引用类型是存折,要用还得先去银行取现。在大多数编程语言中,字符串是值类型,在Java中,字符串是引用类型。

6.1 字符串

在编程中,字符串的应用可以说是无处不在,在Java中字符串属于对象,操作方法挺丰富的。创建字符串最简单的方式,你之前就见过。

String content = "一个当了10年技术总监的老家伙,分享多年的编程经验。" +        "想学编程的朋友,可关注今日头条:老陈说编程。" +        "我在分享Python,前端、Java和App方面的干货。关注我,没错的。";

也可以用创建对象的方式,Java创建对象用new。

String content = new String("老陈说编程");

6.2 操作方法

字符串的操作方法,大多数编程语言都会提供好多常用的,如查找字符串中是否存在某个字符,如截取字符串的部分内容,如获取字符串长度等。

1. 获取长度

获得字符串长度,在开发中,经常会用到,用length()方法即可。

/* * 获取字符串长度 */public class StringIntro {    public static void main(String[] args) {        String title = "老陈说编程";        int len = title.length();        System.out.println("字符长度:" + len);    }}

2. 连接字符串

在Java中,连接字符串有两个方法,一个是你见过好多次的,用"+"号连接的方式,还有一个是用concat()方法。

/* * 字符串连接 */public class StringIntro {    public static void main(String[] args) {        String title = "老陈" + "说编程";        title = title.concat(",").concat("说到哪了?");        title = title.concat("Java入门有道。");        System.out.println(title);    }

输出结果

老陈说编程,说到哪了?Java入门有道。

3. 查找位置

可用int indexOf(String str)方法,从左到右查找指定的字符串是否存在,如果存在返回索引(从0开始),否则返回-1。这个方法,还支持指定从哪个索引开始。通过返回值,你可以判断要查找的字符串是否存在,也可以用于截取子字符串。

/* * 字符串查找 */public class StringIntro {    public static void main(String[] args) {        String title = "老陈说编程";        int i = title.indexOf("不老");        System.out.println(""不老"二字的位置:" + i);        //指定开始下标        i = title.indexOf("老", 1);        System.out.println(""老"字的位置:" + i);        i = title.indexOf("编程");        System.out.println(""编程"二字的位置:" + i);    }}

输出结果

"不老"二字的位置:-1"老"字的位置:-1"编程"二字的位置:3

如果你想从右边往左边查找指定字符串的位置,你可以int lastIndexOf(String str)方法,用法和indexOf方法是一模一样的,只是查找方向不同而已。

/* * 字符串查找 */public class StringIntro {    public static void main(String[] args) {        String title = "老陈说编程";        int i = title.lastIndexOf("不老");        System.out.println(i);        //指定开始下标        i = title.lastIndexOf("老", 1);        System.out.println(i);        i = title.lastIndexOf("编程");        System.out.println(i);    }}

输出结果

-103
cfbdb6ec7eb0608205f4252a223021de.png

4. 是否存在

如果要判断指定的子字符串是否存在,你可以用contains(String str)方法。如果判断的字符串存在,结果返回true,否则返回false。

/* * 判断字符串是否存在 */public class StringIntro {    public static void main(String[] args) {        String lang = "Java、Python、App、前端、Vue3.0";        boolean result = lang.contains("Java");        System.out.println("老陈是否说Java:" + result);    }}

输出结果

老陈是否说Java:true

5. 开头结尾

判断一个字符串是否以指定的子字符串开头,用boolean startsWith(String prefix)方;判断是否以指定的字符串结束,用boolean endsWith(String suffix)方法。如果是,返回true,否则返回false。它们都可以指定从哪个下标开始查找。

/* * 判断开始和结束 */public class StringIntro {    public static void main(String[] args) {        String sign = "心态决定人生高度";        boolean start = sign.startsWith("人生");        System.out.println("人生是开头:"+start);        boolean end = sign.endsWith("高度");        System.out.println("高度是结尾:"+end);    }}

输出结果

人生是开头:false高度是结尾:true

6. 大小写转换

将此字符串中的所有字符都转换为大写,用toUpperCase()方法;将字符串中的所有字符都转换为小写,用toLowerCase()方法。

/* * 大小写转换 */public class StringIntro {    public static void main(String[] args) {        //字符全部转为大写        String upper = "love".toUpperCase();        System.out.println(upper);        //字符全部转为小写        String lower = "LIKE".toLowerCase();        System.out.println(lower);    }}

输出结果

LOVElike

7. 是否为空

你可以用isEmpty()方法,判断字符串的内容是否为空,如果是返回 true,否则返回false。另外,你还可以用length()判断长度是否为0,如果是的话,表示字符串为空,否则不是。

/* * 字符串是否为空 */public class StringIntro {    public static void main(String[] args) {        String content = "";        //判断是否为空        boolean kongMe = content.isEmpty();        System.out.println(kongMe);        //获取长度        int len = content.length();        System.out.println(len);    }}

输出结果

true0

8. 去掉空格

去掉字符串前后空格,你可以用trim()方法。如果要去掉全部(包含中间)的空格,你可以用后面接下来要讲解的replace()方法。

/* * 去掉左右空格 */public class StringIntro {    public static void main(String[] args) {        String content = " 牛逼 ";        content = content.trim();        System.out.println("==" + content + "==");    }}

输出结果

==牛逼==

9. 字符替换

替换指定字符串内容,你可以用replace(char oldChar, char newChar)方法。它将返回一个通过newChar替换此字符串中出现的所有oldChar得到的新的字符串。如果要按指定规则替换,可以用replaceAll(String regex, String replacement)方法,其中regex为正则表达式。

/* * 字符替换 */public class StringIntro {    public static void main(String[] args) {        String content = " 牛 逼 ";        content = content.replace(  " ","");        System.out.println("==" + content + "==");        content = "左拥.帅哥.右抱";        content=content.replaceAll("(.*)帅哥(.*)", "老陈");        System.out.println("==" + content + "==");    }}

输出结果

==牛逼====老陈==

10. 字符串截取

截取字符串的部分内容(子字符串),用substring(int beginIndex, int endIndex)方法,beginIndex为指定开始下标,endIndex为结束下标(默认为最后一个字符的下标),结果返回子字符串。

/* * 子字符串 */public class StringIntro {    public static void main(String[] args) {        String str = "Java入门有道";        System.out.println(str.substring(4));        System.out.println(str.substring(4, 6));    }}

输出结果

入门有道入门

11. 字符串拆分

你可以用split(String regex)方法,对指定字符串进行拆分,结果返回字符串数组。regex正则表达式分隔符。常见分隔符有-.:等。

/* * 字符串分割 */public class StringIntro {    public static void main(String[] args) {        String str = "Welcome-to-老陈-学编程";        String[] result = str.split("-");        System.out.println(result[0]);    }}

输出结果

Welcome

好了,以上是Java常用的操作方法,不常用的我就不展开讲解了。如果觉得本文对你有所帮助,希望你能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。

#Java##APP##程序员##Web##项目实战#

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页