精华内容
下载资源
问答
  • Java中两个字符串进行大小比较
    千次阅读
    2021-05-30 21:40:58

    一:大小比较:使用 String.compareTo 方法


    compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
    1、如果字符串相等返回值0
    2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)
    (负值前字符串的值小于后字符串,正值前字符串大于后字符串)
    3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,
    直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度
    .

    例: 
    String s1 = "abc"; 
    String s2 = "abcd"; 
    String s3 = "abcdfg"; 
    String s4 = "1bcdfg"; 
    String s5 = "cdfg"; 
    System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) 
    System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) 
    System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) 
    System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

    二:字符串是否相等比较

            只能使用equals()方法,不能使用“==”

    参考:https://www.cnblogs.com/jimmy-muyuan/p/5989115.html

    更多相关内容
  • 两个字符串比较

    万次阅读 2018-03-02 14:36:00
    两个字符串比较大小: 一、可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小写及 compareTo(object string)这些 方法返回值是int,以compareTo()方法为例: 1 .如果字符串相等返回值为0...

    两个字符串比较大小:
        一、可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小写及 compareTo(object string)这些 方法返回值是int, 以compareTo()方法为例:
         1 .如果字符串相等返回值为0,不等返回其他数值。
    比较方法是先比较对应字符的大小(Ascall吗顺序),从第一个字母开始比较。
         2.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)
                   (负值前字符串的值小于后字符串,正值前字符串大于后字符串)
         3.如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,

    以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度. 

    例如:

                            String s1 = "abc"; 
    			String s2 = "abcd"; 
    			String s3 = "abcdfg"; 
    			String s4 = "1bcdfg"; 
    			String s5 = "cdfg"; 
    			System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) 
    			System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) 
    			System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) 
    			System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

    二、还可以用“==”和.equals()方法判断大小:

    1.“==”是一个判断相等的运算符,如果两边是基本数据类型,它判断的是值;如果两边是复合型数据类型(类类型),它判断的是地址;地址相同,内容一定相同,地址不同,内容不一定相同。

    2..equals() 方法只能判断复合型数据类型,由于继承Object类,默认判断的是两边在内存的地址,判断结果和“==”一样,但在一些其他的类库中equals()被重写,例如String,Integer,Data等类中有其自身的实现,比较内容就不是地址了。

    例如:

    String str1 = new String("hello");
    String str2 = "hello";
     
    System.out.println("str1==str2: " + (str1==str2));  \\false
    System.out.println("str1.equals(str2): " + str1.equals(str2));  \\true

    当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。

    但equals() 在String中被重写过了,判断的是内容,不在是内存中的地址,所以是true。

    但是String比较特殊,因为我们都知道jvm把内存分为3个区,分别是方法区,堆区和栈区。而在方法区中维护者一个String常量池,池中用来存放运行时产生的各种字符串,并且池中的内容不重复。而一般对象不在这个池中,对象放在堆里。这就需要分析String的创建方式:

    1. 当使用任何方式来创建一个字符串对象str=“X”时,Java运行时(运行中JVM)会拿着这个X在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串str,否则,不在池中添加。

    2.Java中,只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。

    3 .使用直接指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就在池中创建一个,有则罢了!但绝不会在堆栈区再去创建该String对象。

    4 使用包含变量的表达式来创建String对象,则不仅会检查维护String池,而且还会在堆栈区创建一个String对象。

    例如:

    String str2 = "hello";
    String str3 = "hello";
    System.out.println("str3==str2: " + (str3==str2));  \\true
    System.out.println("str3.equals(str2): " + str3.equals(str2));  \\true

    true的原因是hello都是从常量池中取出来的,但你new出来的不管常量池中有没有都会新建一个,地址就不一样了。

    展开全文
  • c语言如何判断两个字符串相等

    千次阅读 2021-05-19 07:54:37
    该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。所以,要判断字符串相等,可以使用。扩展资料:关于上述strcmp()函数比较字符串的例子#...

    可以使用库函数strcmp判断,具体如下:

    strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);

    该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。

    所以,要判断字符串相等,可以使用。

    e1d0e0052946d94f4854985d6a987279.png

    扩展资料:

    关于上述strcmp()函数比较字符串的例子

    #include

    #include

    int main(void)

    {

    char str_1[] = "abc";

    char str_2[] = "abc";

    char str_3[] = "ABC";

    if (strcmp(str_1, str_2) == 0)

    printf("str_1 is equal to str_2. \n");

    else

    printf("str_1 is not equal to str_2. \n");

    if (strcmp(str_1, str_3) == 0)

    printf("str_1 is equal to str_3.\n");

    else

    printf("str_1 is not equal to str_3.\n");

    return 0;

    }

    展开全文
  • shell比较两个字符串是否相等

    千次阅读 2021-02-04 20:21:20
    比较两个字符串是否相等的办法是:if [ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为...

    比较两个字符串是否相等的办法是:

    if [ "$test"x = "test"x ]; then

    这里的关键有几点:

    1 使用单个等号

    2 注意到等号两边各有一个空格:这是unix shell的要求

    3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected

    二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.

    整数比较

    -eq 等于,如:if [ "$a" -eq "$b" ]

    -ne 不等于,如:if [ "$a" -ne "$b" ]

    -gt 大于,如:if [ "$a" -gt "$b" ]

    -ge 大于等于,如:if [ "$a" -ge "$b" ]

    -lt 小于,如:if [ "$a" -lt "$b" ]

    -le 小于等于,如:if [ "$a" -le "$b" ]

    大于(需要双括号),如:(("$a" > "$b"))

    >= 大于等于(需要双括号),如:(("$a" >= "$b"))

    小数据比较可使用AWK

    字符串比较

    = 等于,如:if [ "$a" = "$b" ]

    == 等于,如:if [ "$a" == "$b" ],与=等价

    注意:==的功能在[[]]和[]中的行为是不同的,如下:

    1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true

    2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true

    3

    4 [ $a == z* ] # File globbing 和word splitting将会发生

    5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true

    一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.

    但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.

    != 不等于,如:if [ "$a" != "$b" ]

    这个操作符将在[[]]结构中使用模式匹配.

    大于,在ASCII字母顺序下.如:

    if [[ "$a" > "$b" ]]

    if [ "$a" \> "$b" ]

    注意:在[]结构中">"需要被转义.

    具体参考Example 26-11来查看这个操作符应用的例子.

    -z 字符串为"null".就是长度为0.

    -n 字符串不为"null"

    注意:

    使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z

    或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可

    以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.

    展开全文
  • python怎样判断两个字符串是否相同

    万次阅读 2021-02-09 19:54:55
    原标题:python怎样判断两个字符串是否相同 python,判断两个字符串是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。示例 使用注意事项1.有时候两个字符串打印出来看着一样,但是判断却是...
  • 输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符 比如输入“They are students." 删除之后的第一个字符串变成"The r stdnts." 思路是利用每个字符都有其对应的ASCII码值,将需要删除的字符的ascii为...
  • 如何比较两个字符串的大小

    万次阅读 2020-06-11 22:18:45
    Java可以使用compareTo()方法来对两个字符串比较大小。 String类关于compareTo()方法的解释如下: If they have different characters at one or more index positions, let k be the smallest such index; then...
  • js怎么判断两个字符串相等的实例

    千次阅读 2019-05-19 17:12:06
    转载:https://www.jb51.net/article/154827.htm
  • JAVA比较两个字符串日期或者Date日期的大小 compareTo关键字的使用 compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。 该方法用于两个相同数据类型的比较,两个不同类型...
  • C++将两个字符串合并一起

    千次阅读 2019-05-08 17:03:24
    C++将两个字符串合并一起 ubuntu输入命令: g++ bbb.cpp -o bbb 运行结果: 代码如下: #include <iostream> using namespace std; char swap(const char *pch = "one world,one dream",const char *...
  • //strcmp (参数1类型为:char *,参数2类型为:char *),用于比较参数1,参数2两个字符串的值大小,返回一个int类型的数。如果第一个参数大于第二个参数返回1,相等返回0,小于返回-1,头文件为#include<string....
  • js判断两个字符串是否相等

    千次阅读 2019-03-12 22:26:01
    js判断两个字符串是否相等 java使用equals方法判断两个字符串是否相等,js中用equals方法会报错:equals不是方法, js使用== 号和===号来判断两个字符串是否一致 ...
  • 将字符串1中出现的字母删掉,用splite,【split("指定字符串"),用来切割字符串中指定的字符串的,返回的是字符串的数组】 // 3.把返回的数组变成字符串,用join【join用来对数组进行拼接】  var a = ...
  • 编一个程序,将两个字符串比较

    千次阅读 2020-03-25 10:39:44
    /*编一个程序,将两个字符串s1和s2比较,若s1 > s2,输出一个正数;若s1 = s2, 输出0;若s1 < s2, 输出一个负数。不要用strcmp函数。两个字符串用gets函数输入。输出的正数或负数的绝对值应是相比较的两 个...
  • python,判断两个字符串是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。示例 使用注意事项1.有时候两个字符串打印出来看着一样,但是判断却是False?如果两个字符串末尾有其他符号,比如...
  • C++比较两个字符串是否相等

    千次阅读 2020-07-14 12:02:14
    今天刷Leetcode的时候,遇到比较两个string是否相等的问题,这里总结一下C++里如果比较两个字符串是否相等(包含C风格字符串和string对象)。 一、C风格字符串 C风格字符串的比较使用的是strcmp()函数,原型...
  • C语言:比较两个字符串是否相等

    万次阅读 多人点赞 2018-09-24 13:02:23
    1) 使用strcmp进行比较 下面通过一例子进行演示: #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main(void) { char* str1 = "abc"; char* str2 = "abc"; ...
  • JS 比较两个字符串的相似度

    千次阅读 2019-09-05 17:14:37
    function similar(s, t, f) { if (!s || !t) { return 0 } var l = s.length > t.length ? s.length : t.length var n = s.length var m = t.length var d = [] f = f || 3...
  • String的compareTo源码解析:比较是基于字符串中各个字符的Unicode值,先是获取两个字符串的长度(String内部维护着char类型的value[]作为字符串的容器),取两者长度的最小值作为循环遍历的终点,不断地比较两个...
  • 【Java】如何比较两个字符串

    千次阅读 2019-09-11 08:08:34
    我们比较两个字符串时,通常会惯性的写成 Str1==Str2,这种写法,并不能比较两个字符串的值,它比较的是两个字符串的地址。 String name1 = "aaa" ; String name2 = "aaa" ; if(name1 == name2){ return true; }e...
  • Java中比较两个字符串

    千次阅读 2019-05-06 17:04:56
    方法:通过字符串函数ocmpareTo(String),compareTolgnoreCase(String)及compareTo(object string)来比较两个字符串,并返回字符串中的第一个字母ASC11的差值 public class StringCompareEmp { public static void ...
  • 最近为了暑期实习面试开始复习数据结构与算法,作为一大三的软件工程的学生,大三下学期才开始接触算法练习平台,真够不好意思的。 进入正题,题目如下: You’re given strings J representing the types of ...
  • #include&lt;... //比较两个字符串是否相等,(或者说前字符串比后字符串不同的地方大几) int My_strcmp( const char *str1,const char *str2) { int tmp=0; while((tmp=*str1-*st...
  • #include<stdio.h> int main() ... //输入两个字符串 scanf("%s",&a); printf(“请输入第二个字符串:”); scanf("%s",&b); i=0; while(a[i]!=’\0’) //计算第一个字符串多少位 { i++; } j
  • 如何后台判断两个字符串类型日期的大小 前段时间本人遇到了一个和活动时间有关的需求,需要判断该时间处于哪个时间段内。因为平时判断时间都是数据库里进行的,对于代码判断日期不太熟悉,所以查看了一些资料,...
  • 比较两个字符串的大小

    千次阅读 2020-05-02 13:31:56
    设计函数,比较两个字符串的大小。每个字符串长度不超过50。 输入要求 从键盘分别读入两个字符串,每个字符串以换行符结束。 输出要求 比较两个串的大小,输出相应的结果。 输入样例 Hello hi 输出样例 Hello < ...
  • 比较两个时间字符串的大小

    千次阅读 2019-02-28 17:35:19
    有两个日期字符串,“2019-01-21”和“2019-02-12”,现在需要比较两个字符串的大小。 比较简单的方法是可以使用String类的compareTo()方法比较,例如: public class Test { public static void main...
  • 注:转载请标明原文出处链接:... 1 如果要比较的对象是 char 字符串,则利用函数 strcmp(const char s1,const char s2) strcmp(const char s1,const char s2) 当 str1 < str2 时,返回为负数...
  • 问题描述:获取字符串中两个字符之间的数据。最近写SMTP代理,需要获取发送方与接收方的邮件名称。 字符串为 “MAIL FROM:<test1@163.com>\r\n” , 获取字符':'冒号和字符'\r'之间的值 <test1@163.com>...
  • C语言中字符串比较

    万次阅读 多人点赞 2020-11-02 13:18:19
    单片机串口实现字符串命令解析这...=、==”,那么要比较两个字符串是否相等是不是直接用“==”比较就行了。下面就来看看这种方法行不行? 先看一个例子 void main( void ) { char s1[] = "abc"; char s2[] ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,132,346
精华内容 1,252,938
关键字:

在两个字符串的比较中

友情链接: SCE.zip