Java语言:字符型的详解、字符串的比较

这篇具有很好参考价值的文章主要介绍了Java语言:字符型的详解、字符串的比较。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一.字符型的知识

二.字符型比较大小

三.字符串比较

equals()方法

equalslgnoreCase()方法

compareTo() 方法


🎁博主介绍:博客名为tq02,已学C语言、JavaSE,目前学了MySQL和JavaWeb

🎥学习专栏:  C语言         JavaSE       MySQL基础

🎄博主链接:tq02的博客_CSDN博客-C语言,Java,MySQL领域博主

Java语言基础的讲解链接: http://t.csdn.cn/rzvwJ

前言

        在Java数据类型中,我们学到了整形、字符型、字符串型,而整形我们知道如何判断比较大小,但是字符型(char)该如何比较呢?还有字符串型(String)比较呢?

一.字符型的知识

  1. 字符变量使用char,是单引用号(  ' '  )括起来的单个字符,例如:char c1 = 'a'
  2. java中还允许使用转义字符  ' \ ' 来将其后面的字符转变为特殊字符常量。例如:char c3 = '\n';   '\n'表示换行符。

  3. 字符型(char)其实本质是一个整数,而根据的是unicode码

  4. char类型可以赋值一个整数,然后输出时会有对照unicode码,将其字符输出

  5. 由于char本质是整数,因此可以直接进行运算,得出的结果,也会有对应的Unicode码。

注:字符和码值的对应关系是通过字符编码表决定的,不同的语言遵守不同的编码表,例如:C语言遵守ASCll表,Java语言遵守Unicode表。

char类型存储数字

  public static void main(String[] args) {
        char b=61;        //在Unicode码中61位是 =
     System.out.println(b);
   }

变量b虽然存储的是61,但是b是字符型,所以在输出的时候,会自动转换为对应的Unicode码:=

字符型输出整数

  public static void main(String[] args) {
        char b='a';       
        System.out.println((int)b); //'a'进行类型转换变成97
   }

如果想知道该字符对应的Unicode码的位置,则使用强制类型转换。

字符型的运算

  public static void main(String[] args) {
       char a='a';
       char b='a'+1;   
     System.out.println(a+1); //输出98
     System.out.println(b);   //输出b

       char c=97;
       char d=97+1;     
     System.out.println(c+1);  //输出98
     System.out.println(d);    //输出b
   }

b变量在定义时进行了运算,会先把'a'转换成数字,然后进行运算,最后再转化成字符存储

a变量在输出时,进行运算,则是将'a'转换为数字,然后直接输出相加之后的数值结果

c变量虽然存储的是整数,但是会自动转换为字符存储,输出时,将字符转换为数字再进行运算

d变量存储的是97+1的值,存储时会自动转换为字符。

二.字符型比较大小

        在字符型知识中,我们学习到了char类型本质是整数,而对应的整数由Unicode码决定,所以在比较大小时,表面是比较字符,实际是比较两个字符在Unicode码中的顺序。

  public static void main(String[] args) {
        char a='a';    //对应的Unicode码是97
        char b='b';    //对应的Unicode码是98
     System.out.println(a<b);    //true
     System.out.println(a>b);    //false
     System.out.println(a==b);    //false
}

三.字符串比较

        字符串是什么?多个字符组合,那么如何比较呢?是使用<、>、=等运算符嘛?,不是的,而是使用方法,而常用的方法有三种:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。

比较是否相等:equals() 方法、equalsIgnoreCase() 方法

比较大小: compareTo() 方法


equals()方法

   逐一对比两个字符串的每一个字符是否相同,如果两个字符串长度相同并且拥有相同的字符,便返回true,若不是,返回false;

语法格式:字符串1.equals(字符串2);

public static void main(String[] args) {
        String str1="abcdefg";
        String str2="abcdefg";
        String str3="abcd";
    System.out.println(str1.equals(str2));    //输出true
    System.out.println(str1.equals(str3));   //输出false
}

equalslgnoreCase()方法

        equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是 equalsIgnoreCase() 比较时不区分大小写,也就是说,此方法会认为A与a是一样的。

String str1 ="abc";
String str2 ="ABC";
System.out.println(str1.equalsIgnoreCase(str2));// 输出 true

compareTo() 方法

语法格式:str1.compareTo(str2);       

        前两个方法都是比较字符串是否相等,而这个方法是比较字符串大小,而所谓的比较大小是指:从第一个字符开始比较,而比较的就是对应的码值,如果不等,则比较结束,如果相等,则比较下一位,直到比较的字符有一方全比较完,这时就比较字符的长度.

  1. 字符不同,返回str1的字符-str2的字符
  2. 字符相同,返回0
  3. 某个字符串比较完,返回str1长度 - str2长度值的差
        String str1="abcdefg";
        String str2="abcdefg";
        String str3="abcd";
        String str4="abca";

//字符不同,返回两个字符对应的码值之差
   System.out.println(str3.compareTo(str4)); //返回 'd'-'a'的差:3 
//字符相同,返回0
    System.out.println(str1.compareTo(str2)); //返回 0;
//某个字符串比较完,返回返回前面字符串长度-后面字符串长度值。   
    System.out.println(str1.compareTo(str3));  //返回 3

    制作不易,哥哥姐姐们点个赞吧!!!

                                                                                                        --------懒惰的tq02
 文章来源地址https://www.toymoban.com/news/detail-545087.html

到了这里,关于Java语言:字符型的详解、字符串的比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 问题:以下选项中,( )是不正确的C语言字符型常量. #学习方法#媒体

    问题:以下选项中,( )是不正确的C语言字符型常量. A、\\\"a\\\" B、\\\'101\\\' C、\\\'x4l\\\' D、\\\'a\\\' 参考答案如图所示

    2024年02月20日
    浏览(40)
  • C语言的数据类型(整型、字符型,浮点型等详细介绍、ASCLL表以及常量、变量的详细介绍)

    C语言的数据类型基本介绍         在C语言中,数据类型可以分为:基本数据类型(整型、浮点型/实型、字符型)、构造数据类型(数组、指针、结构体、共用体、枚举)以及空类型(万能类型void)。常用的有:整形(int)、字符型(char)、短整型(short)、长整型(

    2024年02月07日
    浏览(49)
  • C++入门学习(十一)字符型

    C++中的字符型可以表示ASCII码中的所有字符,包括字母、数字、标点符号等。 ASCII码是一种用于编码字符的编码系统,它使用不同的数值来表示不同的字符。ASCII码使用7位或8位二进制数来表示每个字符,因此可以表示128或256个不同的字符。 在ASCII码中, 数字0-9的码值为30-39

    2024年01月22日
    浏览(43)
  • 【SQL注入】数字型注入 & 字符型注入

    目录 一、简介 概述 示例: 数据库中区别 二、数字型注入 简介: 判断: 三、字符型注入(需闭合) 简介: 判断: 一般会对数据的类型会有一个限制,不管怎么去区分,常用的数据类型有数值和字符型 通常SQL 注入漏洞分类: 按照数据类型:数值型、字符型、搜索型注入

    2024年02月01日
    浏览(52)
  • 基于SQLI的SQL字符型报错注入

    理解数字型报错SQL注入漏洞点的定位方法,掌握利用手工方式完成一次完整SQL注入的过程,熟悉常见SQL注入命令的操作。 渗透主机:KALI平台 用户名: college 密码: 360College 目标网站:SQLI平台的Less-1科目 用户名: xxx 密码: xxx 注意:将MySQL的版本调到5.5以上,因为这样数据库内才

    2024年02月12日
    浏览(50)
  • 字符型注入([SWPUCTF 2021 新生赛]easy_sql)

    拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm=1,得到会显 继续输入参数/?wllm=1\\\',报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 2.查看回显 3.查询数据库名(test_db) 4.查看test_db库的表(users) 5.查询字段 6.出现flag字段,查看flag字段的内容

    2024年02月09日
    浏览(39)
  • 字符型液晶显示器LCD 1602的显示控制(Keil+Proteus)

    趁机把LCD 1602的实验完成了,那个电路图有几个地方没弄懂,但是去掉也没有报错,就没管了。 LCD1602_百度百科 (baidu.com) https://baike.baidu.com/item/LCD1602/6014393?fr=ge_ala LCD1602液晶显示屏通过电压来改变填充在两块平行板之间的液晶材料内部分子的排列状况,以达到遮光和透光的目

    2024年02月06日
    浏览(51)
  • 【Py/Java/C++三种语言详解】LeetCode每日一题240109【动态规划】LeetCode2707题、字符串中的额外字符

    给你一个下标从 0 开始的字符串 s 和一个单词字典 dictionary 。你需要将 s 分割成若干个 互不重叠 的子字符串,每个子字符串都在 dictionary 中出现过。 s 中可能会有一些 额外的字符 不在任何子字符串中。 请你采取最优策略分割 s ,使剩下的字符 最少 。 示例 1: 输入 :s =

    2024年01月16日
    浏览(48)
  • 用selenium和xpath定位元素并获取属性值以及str字符型转json型

    页面html如图所示: 要使用xpath定位这个div元素,并且获取其属性data-config的内容值。  结果如图:  蓝色的为str类型,红色的为json类型。 那么先得到的是str类型,如何转换为json类型呢?使用如下代码即可。 import json json_attr=json.loads(str_attr) 读取json数据用json_attr[\\\'video\\\'][\\\'url\\\'

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包