JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

第6天|Java入门有野,String字符串(超详细)

wys521 2024-11-18 17:58:15 精选教程 24 ℃ 0 评论

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

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

6.1 字符串

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

String content = "一个当了10年技术总监的老家伙,分享多年的编程经验。\n" +
        "想学编程的朋友,可关注今日头条:老陈说编程。\n" +
        "我在分享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("说到哪了?\n");
        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);
    }
}

输出结果

-1
0
3

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);
    }
}

输出结果

LOVE
like

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);
    }
}

输出结果

true
0

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##项目实战#

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表