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泛型的设计,将会涉及到通配符处理 ...
随机推荐
- 浅谈 rxgo 在项目中的使用方式
项目中使用到了 RxGo ,感觉现有的处理方式有一定的优势,当然也有一定的有劣势,遂记录下来,免得自己忘记. 本文介绍的只是 rxgo 的一种方式而已,如果你有不错的使用方式,请不吝赐教,谢谢. 对 ...
- DataGear 制作基于 three.js 的 3D 数据可视化看板
DataGear专业版 1.0.0 已发布,欢迎试用! http://datagear.tech/pro/ DataGear 支持采用原生的HTML.JavaScript.CSS制作数据可视化看板,也 ...
- 【Azure Developer】如何用Microsoft Graph API管理AAD Application里面的Permissions
问题描述 如何用Microsoft Graph API给应用添加Microsoft Graph Application Permission 解决方法 一:首先获取Microsoft Graph Ap ...
- 【Azure App Service for Linux】Linux Web App如何安装系统未安装的包
问题描述 Linux Web App中如何安装系统默认未安装的包,如何来执行如 apt install XXX命令呢?现在遇见的问题时,通过Azure App Service门户中的SSH登录后,执行 ...
- 隐藏在 Nebula Graph 背后的星辰大海
本文首发于 Nebula Graph Community 公众号 作者介绍 大家好,我是 Anyzm,graph-ocean(GitHub:https://github.com/nebula-cont ...
- Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv
最近,我在 Python 潮流周刊 中分享了一个超级火爆的项目,这还不到一个月,它在 Github 上已经拿下了 8K star 的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一 ...
- 青少年CTF训练平台-web部分随笔
文章管理系统 首先打开环境(>ω<。人)ZZz♪♪ 既然要做题,就要做全面了,图上说了,既然有假flag我就先找出来: 假flag: 打开vmware,使用sqlmap进行处理: sqlm ...
- 2022_vue3笔记
由于公司项目有vue2.5,自己电脑又要3.2,总不可能总是安装删除环境,这儿使用安装nvm版本管理 安装node前配置一下镜像地址 node_mirror: https://npm.taobao.o ...
- redisson分布式锁lua脚本翻译
1.获取锁 lock入参:keys[1]:自定义锁的key RLock lock = redissonClient.getLock(lockKey);argv[1]=锁的租期,默认30s argv ...
- 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性
本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...