[Java教程]10.String字符串类基本学习使用

Java教程专栏:https://blog.csdn.net/qq_41806966/category_9929686.html

这篇讲String,会让大家了解一下什么是字符串,以及常用操作,和了解对象以及char


目录

String

String是一个类

创建一个String

判断字符串相等

判断字符串里是否有指定内容

获取字符串的指定字符(char)

获取指定字符的下标

练习


String

String 是Java中的一个类( class )

是一种引用类型,比如我们使用 "" 就可以定义一个字符串

关于String 牵涉到很多东西,比如字符串池,常量等...这一章了解如何使用,后面会了解到底层.


String是一个类

通过 class 定义的,我们称为类

这是 String 源码定义部分

public final class String extends Object implements Serializable, Comparable<String>, CharSequence

提取我们认识的部分就是 public class String


创建一个String

创建字符串有两种方式

  • 第一种
    • String str = "我是一个字符串";
  • 第二种 new 对象(通过new来进行赋值的变量称之为对象)
    • String str = new String("我是一个字符串");

判断字符串相等

判断字符串是否相同需要使用字符串的 equals() 方法

如果字符串是对象(通过new出来的) 就不能使用 == 来判断是否相等,但是可以使用 equals 方法

简单使用

在之前的文件夹下新建一个文件夹,并新建Java文件,我的如下

我们测试一下字符串使用equals的几种结果

代码如下

编译运行,结果如下(可以直接使用 java java文件 来直接执行此java文件(编译 运行一起执行,但是不会有class文件))

从上面例子可以得出,没有通过new的String可以直接使用双等于来判断是否相等,不然就要使用equals方法来使用

使用方法

boolean b = 字符串1.equals(字符串2);//判断字符串1与字符串2是否相同


判断字符串里是否有指定内容

有时候我们会需要判断我们的字符串里是否有需要的内容.可以通过字符串的 contains 方法

使用方法

boolean b = 字符串.contains("字符串里包含我就为true,不包含为false");

测试(输入数字提示通过,否则提示不通过 数字有0-9)

新建一个类

代码内容如下

结果如下


获取字符串的指定字符(char)

在之前学习基础类型的时候我们学到了 char(字符)

一个char只能为一个字符 并且char使用 '' 来定义

例如 char c = 'a';

如果超过一个字符则会出错 例如 char c = 'aa';

字符串 是很多字符组成(也可以就一个字符)

所以我们可以从字符串中取出任意一个字符,使用字符串的 charAt() 方法

使用方法

char c = 字符串.charAt(数字,取哪一个字符);

简单使用

新建一个类(不放在一个文件里是为了避免代码过多,看着费力)

代码内容如下

运行结果,我们输入0就取字符串的第一个字符(也就是 0),输入1取第二个字符...以此类推


获取指定字符的下标

在学会上面的 charAt 后,我们怎么获取需要的字符的下标呢?

String里提供了 indexOf 方法 可以让我们获取第一个出现的字符的下标(是第一个,不是第二个第三个)

有几种方法,第一个 indexOf(int ch) 就是获取指定字符第一次出现的位置

第三个是判断指定字符串第一次出现的位置(取的此字符串第一个字符位置)

第二个和第四个方法是让我们查找不是从0开始,而是自己设置

(比如我们要的字符在1的位置有一个,在3也有一个,我们取的话就是1,这时就可以用到这个方法,设置为2,就是从2开始查找...)

如果找不到 则为 -1

使用方法

int index = 字符串.indexOf('字符');

简单使用

继续创建一个类

代码如下

结果为


练习

将上述步骤自己照着做一遍,可以通过之前所学来做一个字符串判断小游戏

例如: 给你一个字符串,让你判断其中是否出现了指定字符.

多敲,多练.

字符串简单使用就到这里,下一节我们将学习随机数的使用.(学会就可以做一些人机游戏了!!!)

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/106130201