首页 > 编程语言 >Java 运算符详解与字符串处理技巧

Java 运算符详解与字符串处理技巧

时间:2024-02-04 20:57:22浏览次数:27  
标签:10 Java String 运算符 详解 字符串 txt

Java 运算符

算术运算符

算术运算符用于执行常见的数学运算。

运算符 名称 描述 示例
+ 加法 将两个值相加 x + y
- 减法 从一个值中减去另一个值 x - y
* 乘法 将两个值相乘 x * y
/ 除法 将一个值除以另一个值 x / y
% 取模 返回除法余数 x % y
++ 自增 将变量的值增加1 ++x
-- 自减 将变量的值减少1 --x

赋值运算符

赋值运算符用于将值赋给变量。

在下面的示例中,我们使用赋值运算符(=)将值 10 赋给一个名为 x 的变量:

int x = 10;

加法赋值运算符(+=)将一个值添加到一个变量中:

int x = 10;
x += 5;

所有赋值运算符的列表:

运算符 示例 相当于
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
= x
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

比较运算符

比较运算符用于比较两个值(或变量)。这在编程中很重要,因为它帮助我们找到答案并做出决策。

比较的返回值是 truefalse。这些值称为布尔值

在下面的示例中,我们使用大于运算符(>)来判断 5 是否大于 3:

int x = 5;
int y = 3;
System.out.println(x > y); // 返回 true,因为 5 大于 3
运算符 名称 示例
== 等于 x == y
!= 不等于 x != y
> 大于 x > y
< 小于 x < y
>= 大于或等于 x >= y
<= 小于或等于 x <= y

逻辑运算符

您还可以使用逻辑运算符测试 truefalse

逻辑运算符用于确定变量或值之间的逻辑关系:

运算符 名称 描述 示例
&& 逻辑与 如果两个语句都为真,则返回真 x < 5 && x < 10
|| 逻辑或 如果其中一个语句为真,则返回真 x < 5 || x < 4
! 逻辑非 反转结果,如果结果为真,则返回假 !(x < 5 && x < 10)

Java 字符串

字符串用于存储文本。

一个字符串变量包含由双引号括起来的字符集合:

// 创建一个 String 类型的变量并为其赋值:
String greeting = "Hello";

字符串长度

在 Java 中,字符串实际上是一个对象,它包含可以对字符串执行某些操作的方法。例如,可以使用 length() 方法找到字符串的长度:

String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("The length of the txt string is: " + txt.length());

更多字符串方法

有许多字符串方法可用,例如 toUpperCase()toLowerCase()

String txt = "Hello World";
System.out.println(txt.toUpperCase());   // 输出 "HELLO WORLD"
System.out.println(txt.toLowerCase());   // 输出 "hello world"

在字符串中查找字符

indexOf() 方法返回字符串中指定文本的第一次出现的索引(位置)(包括空格):

String txt = "Please locate where 'locate' occurs!";
System.out.println(txt.indexOf("locate")); // 输出 7

Java 从零开始计算位置。

0 是字符串中的第一个位置,1 是第二个位置,2 是第三个位置

完整的字符串参考

该参考包含所有字符串方法的描述和示例。

Java 字符串连接

+ 运算符可以在字符串之间使用以将它们合并。这称为连接:

String firstName = "John";
String lastName = "Doe";
System.out.println(firstName + " " + lastName);

请注意,我们添加了一个空文本(" ")以在打印时在 firstNamelastName 之间创建一个空格。

您还可以使用 concat() 方法连接两个字符串:

String firstName = "John ";
String lastName = "Doe";
System.out.println(firstName.concat(lastName));

Java 数字和字符串

数字和字符串的相加

警告!

Java 使用 + 运算符既用于加法又用于连接。

  • 数字相加。
  • 字符串连接。

如果您相加两个数字,结果将是一个数字:

int x = 10;
int y = 20;
int z = x + y;  // z 将是30(一个整数/数字)

如果您相加两个字符串,结果将是字符串连接:

String x = "10";
String y = "20";
String z = x + y;  // z 将是1020(一个字符串)

如果您相加一个数字和一个字符串,结果将是字符串连接:

String x = "10";
int y = 20;
String z = x + y;  // z 将是1020(一个字符串)

Java 特殊字符

由于字符串必须用引号括起来,Java 将误解此字符串并生成错误:

String txt = "We are the so-called "Vikings" from the north.";

避免此问题的解决方案是使用反斜杠转义字符。

反斜杠(\)转义字符将特殊字符转换为字符串字符:

  • \' 单引号
  • \" 双引号
  • \\ 反斜杠

序列 \" 在字符串中插入双引号:

String txt = "We are the so-called \"Vikings\" from the north.";

序列 \' 在字符串中插入单引号:

String txt = "It\'s alright.";

序列 \\ 在字符串中插入反斜杠:

String txt = "The character \\ is called backslash.";

Java 中还有其他一些常见的转义序列:

  • \n 换行符
  • \r 回车符
  • \t 制表符
  • \b 退格符
  • \f 换页符

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

标签:10,Java,String,运算符,详解,字符串,txt
From: https://www.cnblogs.com/xiaowange/p/18006966

相关文章

  • Java并发(二十三)----同步模式之保护性暂停
    1、定义即GuardedSuspension,用在一个线程等待另一个线程的执行结果要点有一个结果需要从一个线程传递到另一个线程,让他们关联同一个GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列JDK中,join的实现、Future的实现,采用的就是此模式因......
  • java Atomic原子类&&常见并发容器
    Atomic原子类Atomic原子类介绍Atomic翻译成中文是原子的意思。在这里Atomic是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。所以,所谓原子类说简单点就是具有原子/原子操作特征的类。并发包 java.util.concurrent 的原......
  • 非空处理 Java非空判断 非空处理及mysql数据库字段的not null
    1.mysql##去掉非空,如果非空又没有默认值,这样程序在添加数据的时候i,如果没有设置值就会报错。该操作很危险。##ALTERTABLE`order_test`ADDCOLUMN`test_card_name`NOTNULLVARCHAR(200)COMMENT'卡名称';##修改允许为空..ALTERTABLE`order_test`MODIFYCOLUMN`test......
  • 命令行,使用java的java 命令,直接调用执行class文件
    https://blog.csdn.net/sxzlc/article/details/104910162/目录0.最基本使用,参照下面链接(以前整理的资料)1.直接调用java文件■cmd2.调用jar包(MainClass打包到jar包时)方法一:java-jar xxx.jar方法二:java-cp ./xxx.jar  xxx.xxx.xx.MainClass3.补充说明4.运行时,设......
  • Java SPI 代码示例
    JavaServiceProviderInterface是JDK自带的服务提供者接口又叫服务发现机制更是一种面向接口的设计思想。即JDK本身提供接口类,第三方实现其接口,并作为jar包或其他方式注入到其中,在运行时会被JDKServiceLoader发现并加载,自动调用实现类的方法。1.在本地测试SPI机制本人......
  • mysql数据库--行级锁,间隙锁和临键锁详解
    转载链接地址:MySQL数据库——锁-行级锁(行锁、间隙锁和临键锁)介绍行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB存储引擎中。InnoDB的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加的锁。对于行级......
  • [java] Tomcat 启动失败 Error: error while reading constant pool for .class: unex
    表现公司服务器今天启动tomcat失败,看catalina.out文件里面报错java.lang.ClassFormatError:Unknownconstanttag101inclassfilecn/world/data尝试解决查了一下,网上一般认为是字符串的问题,但是代码文件目标行是英文字符串,只是简单的println了字符串,应该不会有问题。尤......
  • 【算法专题】排序详解
    各种排序快速排序、归并排序、桶排序、堆排序1、快速排序(quick_sort)时间复杂度:\(O(nlogn)\)//快速排序模版voidquick_sort(intq[],intl,intr)//数组,左端点,右端点{if(l>=r)return;//“>>”:右移运算符,相当于除以2intx=q[l+r>>1],......
  • Caused by: java.lang.IllegalStateException: A unix domain socket connection requ
    Causedby:java.lang.IllegalStateException:Aunixdomainsocketconnectionrequiresepollorkqueueandneitherisavailable出现这个错误,首先确保自己的操作系统是否支持epoll,或者kqueue。如果支持。请导入netty的大库,lettuce中好像缺失了一部分,我怀疑是这是怀疑,......
  • 第一章学习Markdown语法详解
    Markdown学习一、标题:一级标题一个井号空格加标题名字就可以了二级标题两个井号空格加标题名字就可以了三级标题三个井号空格加标题名字就可以了四级标题四个井号空格加标题名字就可以了五级六级标题把对应的#写够即可。注意最多只支持到六级标题二、字体Hello,World!......