Java 运算符详解与字符串处理技巧
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 |
比较运算符
比较运算符用于比较两个值(或变量)。这在编程中很重要,因为它帮助我们找到答案并做出决策。
比较的返回值是 true
或 false
。这些值称为布尔值
在下面的示例中,我们使用大于运算符(>)来判断 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 |
逻辑运算符
您还可以使用逻辑运算符测试 true
或 false
值
逻辑运算符用于确定变量或值之间的逻辑关系:
运算符 | 名称 | 描述 | 示例 |
---|---|---|---|
&& | 逻辑与 | 如果两个语句都为真,则返回真 | 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);
请注意,我们添加了一个空文本(" ")以在打印时在 firstName
和 lastName
之间创建一个空格。
您还可以使用 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
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Java 运算符详解与字符串处理技巧的更多相关文章
- java运算符详解
java运算符: 定义:用来指明对于操作数的运算方式 按照操作数数目分类: 单目运算 数目运算 三目运算 a++ a+b (a>b) ? ...
- C++调用JAVA方法详解
C++调用JAVA方法详解 博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...
- Java面向对象详解
Java面向对象详解 前言:接触项目开发也有很长一段时间了,最近开始萌发出想回过头来写写以前学 过的基础知识的想法.一是原来刚开始学习接触编程,一个人跌跌撞撞摸索着往前走,初学的时候很多东西理解的也懵 ...
- java 乱码详解_jsp中pageEncoding、charset=UTF -8"、request.setCharacterEncoding("UTF-8")
http://blog.csdn.net/qinysong/article/details/1179480 java 乱码详解__jsp中pageEncoding.charset=UTF -8&quo ...
- java 泛型详解(普通泛型、 通配符、 泛型接口)
java 泛型详解(普通泛型. 通配符. 泛型接口) JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能---- ...
- Java synchronized 详解
Java synchronized 详解 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.当两个并发线程访问同一个对象object ...
- Java 正则表达式详解_正则表达式
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Java IO 详解
Java IO 详解 初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正, ...
- Java集合详解3:Iterator,fail-fast机制与比较器
Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https:/ ...
- Java泛型详解(转)
文章转自 importNew:Java 泛型详解 引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理 ...
随机推荐
- 在Winform界面中使用自定义控件,丰富界面的效果处理
我们在<SqlSugar开发框架>中,Winform界面开发部分往往也用到了自定义的用户控件,对应一些特殊的界面或者常用到的一些局部界面内容,我们可以使用自定义的用户控件来提高界面的统一性 ...
- 如何优化好UITableView,值得思考
如果你觉得 UITableViewDelegate 和 UITableViewDataSource 这两个协议中有大量方法每次都是复制粘贴,实现起来大同小异:如果你觉得发起网络请求并解析数据需要一大段 ...
- 【Azure 媒体服务】记录使用Java调用Media Service API时候遇见的一些问题
问题一:java.lang.IllegalArgumentException: Parameter this.client.subscriptionId() is required and canno ...
- 【Azure 微服务】记一次错误的更新Service Fabric 证书而引发的集群崩溃而只能重建
问题描述 错误的操作步骤: 1)更新Service Fabric 的证书,制定了次要证书(Secondary),但是只修改了Service Fabric Cluster证书,而没有指定VMSS(虚拟机 ...
- 使用 MyBatis 操作 Nebula Graph 的实践
本文首发于 Nebula Graph Community 公众号 我最近注意到很多同学对于 ORM 框架的需求比较迫切,而且有热心的同学已经捐赠了自己开发的项目,Nebula 社区也在 working ...
- ubuntu版本为16.04,英文改成中文解决方法和解决中文输入法无效的问题,关于无法打开锁文件的解决方法
https://jingyan.baidu.com/article/4853e1e565e1781908f7266c.html,根据这篇文章操作完成后重启ubuntu之后ubuntu就会变成中文,重启 ...
- [C++逆向] 6 函数的工作原理
目录 栈帧的形成和关闭 各种调用方式的考察 _stdcall _cdecl _fastcall 使用ebp或者esp寻址 某次调用函数时的栈结构 函数参数 不定长参数 函数的返回值 栈帧的形成和关闭 ...
- 四: Mysql用户管理
# 用户与权限管理 MySQL用户可以分为普通用户和root用户, root用户是超级管理员,拥有所有权限,包括创建用户.删除用户和修改用户的密码等管理权限:普通用户只拥有被授予的各种权限. MySQ ...
- 【MongoDB详细步骤】(内附源码)
第01章-MongoDB 1.安装和启动(docker方式) 1.1.拉取镜像 docker pull mongo:4.4.8 1.2.创建和启动容器 docker run -d --restart= ...
- python数组基本用法实例解析
一 数组的内容的查找 array的查找是依靠index,超出内容的会报错误 import array int_array = array.array('i', [0, 1, 2, 3, 1, 2]) ...