1、判断字符串的开始与结尾

startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。

startsWith()方法

该方法用于判断当前字符串对象的前缀是否是参数指定的字符串。

语法:

str.startsWith(Stringprefix)

prefix:作为前缀的字符。

endsWith()方法

该方法用于判断当前字符串是否是以给定的子字符串结束。

语法:

str.endsWith(Stringsuffix)

suffix:作为后缀的字符串。

在项目中创建类StartOrEnd,在主方法中创建String型变量,并判断变量的前导和后置字符串。

public classStartOrEnd { // 创建类

publicstatic voidmain(String args[]) { // 主方法

String num1 = "22045612"; // 定义字符串num1

String num2 = "21304578"; // 定义字符串num2

booleanb = num1.startsWith("22"); // 判断字符串num1是否以’22’开头

booleanb2 = num1.endsWith("78"); // 判断字符串num1是否以’78’开头

booleanb3 = num2.startsWith("22"); // 判断字符串num2是否以’22’开头

booleanb4 = num2.endsWith("78"); // 判断字符串num2是否与’78’开头

// 输出信息

System.out.println("字符串num1是以'22'开始的吗?" + b);

System.out.println("字符串num1是以'78'结束的吗?" + b2);

System.out.println("字符串num2是以'22'开始的吗?" + b3);

System.out.println("字符串num2是以'78'结束的吗?" + b4);

}

}

运行的结果如图1所示。

图1 运行结果

2、判断字符串是否相等

字符串作为对象如对其进行比较不能简单的使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,但两个对象的内存地址是不同的。使用比较运算符仍然会返回false。

使用比较运算符比较两个字符串,实例代码如下:

String tom = new String("Iam a student");

String jerry = new String("Iam a student");

boolean b = (tom == jerry);

此时布尔型变量b的值为false,因为字符串是对象,tom、jerry是引用,内存示意图如图1所示。

图1 内存示意图

因此要比较两个字符串内容是否相等,应使用equals()方法和equalsIgnoreCase()方法。

equals()方法

如果两个字符串具有相同的字符和长度,则使用equals()方法进行比较时,则返回true。

语法:

str.equals(Stringotherstr)

str、otherstr:参加比较的两个字符串对象。

equalsIgnoreCase()方法

使用equals()方法对字符串进行比较时,是区分大小写的。而使用equalsIgnoreCase()方法是在忽略了大小写的情况下比较两个字符串是否相等。返回结果仍为boolean类型。

语法:

str.equalsIgnoreCase(Stringotherstr)

str、otherstr:参加比较的两个字符串对象。

通过下面的例子可以看出equals()方法和equalsIgnoreCase()方法的区别。

在项目中创建类Opinion,在主方法中创建String型变量,实现判断两个字符串是否相等,并将结果输出。

publicstatic voidmain(String args[]) { //主方法

String s1 = new String("abc"); //创建字符串对象s1

String s2 = new String("ABC"); //创建字符串对象s2

String s3 = new String("abc"); //创建字符串对象s3

booleanb = s1.equals(s2); //使用equals()方法比较s1与s2

booleanb2 = s1.equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比较s1与s2

System.out.println(s1+ " equals " + s2 + " :" + b); //输出信息

System.out.println(s1+ " equalsIgnoreCase " + s2 + " :" + b2);

}

}

运行结果如图2所示。

​图2 运行结果

3、按字典顺序比较两个字符串

compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值。按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为0。

语法:

str.compareTo(Stringotherstr)

str、otherstr:参加比较的两个字符串对象。

说明:compareTo()方法只有在equals(Object)方法返回true时才返回0。

在项目中创建类Wordbook,在主方法中创建String变量,使用compareTo()方法将字符变量进行比较。并将比较结果输出。

public classWordbook { //创建类

publicstatic voidmain(String args[]) { //主方法

String str = new String("b");

String str2 = new String("a"); //用于比较的3个字符串

String str3 = new String("c");

System.out.println(str+ " compareTo " + str2 + ":"

+ str.compareTo(str2)); //将str与str2比较的结果输出

System.out.println(str+ " compareTo " + str3 + ":"

+ str.compareTo(str3)); //将str与str3比较的结果输出

}

}

运行结果如图1所示:

​图1 运行结果

今天就写这么多,后边继续写吧,字符串这边比较重要,内容就写详细点吧!

bigdecimal比较是否相等_java基础教程之字符串的介绍,比较重要的一个知识点【四】...相关推荐

  1. java substring截取字符串_java基础教程之字符串的介绍,比较重要的一个知识点【下】...

    字符串操作 1.获取子字符串 通过String类的substring()方法可对字符串进行截取.这些方法的共同点就是都是利用字符串的下标进行截取.应明确字符串下标是从0开始的. substring() ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. c 语言 字符 r,R语言基础教程之字符串

    原标题:R语言基础教程之字符串 在R中的单引号或双引号中写入的任何值都将被视为字符串.在R内部将每个字符串存储在双引号内,即使您使用单引号创建它们. 适用于字符串构造的规则 字符串开头和结尾的引号应为 ...

  4. java拷贝文件目录结构_Java如何复制目录_Java基础教程系列

    Java如何复制目录,Java基础教程系列,如果要将目录及其包含的所有子文件夹和文件从一个位置复制到另一个位置,请使用下面的代码,该代码使用递归遍历目录结构,然后使用Files.copy()函数复制文 ...

  5. java 反射基础_Java基础教程:反射基础

    Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射.反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时的 ...

  6. idea java 单元测试_Java基础教程:IDEA单元测试

    Java基础教程:IDEA单元测试 环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件. 安装JUnit插件步骤 File-->settings-->Plguins ...

  7. python自定义函数详解_python基础教程之自定义函数介绍

    函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...

  8. 【MySQL基础教程】事务详细介绍

    前言 本文为 [MySQL基础教程]事务 相关知识,下边将对事务简介,事务操作(包括:未控制事务,控制事务),事务四大特性,并发事务问题,事务隔离级别等进行详尽介绍~

  9. C语言基础教程 之 字符串

    C语言基础教程目录:https://blog.csdn.net/SparkLee2013/article/details/85229406 1.'x'和"x" 'x'是字符常量,而 ...

最新文章

  1. 如何将CSDN文档输出PDF文件?
  2. windows 7下同时安装visual studio 2012和2010
  3. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-2.service)...
  4. 杭电2062java实现
  5. 移除单链表的倒数第N个节点
  6. python的datetime函数_Python连载8-datetime包函数介绍
  7. ubuntu rpm安装_为什么说Ubuntu是一个值得尊敬的Linux发行版
  8. Linux笔记-解决QtCreator中qDebug不打印的问题
  9. 烂泥:团购网站的购买流程
  10. 机器学习-代价函数(单变量线性回归)
  11. 洛谷——P1008 [NOIP1998 普及组] 三连击
  12. 安装win7的小插曲
  13. 宽度学习(BLS)实战——python复刻MNIST数据集的数据预处理及训练过程
  14. 国内 OA 办公自动化系统 现状
  15. 三十分钟理解:线性插值,双线性插值Bilinear Interpolation算法
  16. 中国超级城市的新变局
  17. 应用MySQL数据库的实现本地BLAST及BLAST2GO
  18. SHON WEBB:真正的自律,就是将这两件事做到极致
  19. 移动互联网技术(wifi)
  20. 量子理论学习:概率幅

热门文章

  1. matlab 数据降维和重构_核主成分分析(Kernel PCA, KPCA)的MATLAB 实现
  2. 计算机网络系统结构分析 pdf,计算机网络(实验三:数据包结构分析).pdf
  3. |9 其他(linux特定的), 用来存放内核例行程序的文档.,Linux下的帮助命令
  4. php丢包率测试,linux 网络延时、丢包与传输带宽关系测试
  5. java迷宫生成代码_通过深度优先搜索产生的迷宫的Java代码
  6. hp designiet 500_2020年HP学院壁纸
  7. python怎么导入本地文件_Pycharm中如何导入本地Python环境
  8. 电脑装机完没有efi_联想M910Q 黑苹果折腾系列③ Hackintosh opencore完善 EFI分享
  9. java 脚本引擎性能_Java SE 6 入门之脚本引擎加大程序性能
  10. python max和min函数的高级用法