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泛型的设计,将会涉及到通配符处理 ...
随机推荐
- 使用go module导入本地包
go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具. 前提 假设我们有learngo和mypackage两个 ...
- Ubuntu如何卸载mysql
首先在终端中查看MySQL的依赖项:dpkg --list|grep mysql 卸载: sudo apt-get remove mysql-common 卸载:sudo apt-get autore ...
- Golang标准库之bytes介绍
本次主要介绍golang中的标准库bytes,基本上参考了 字节 | bytes .Golang标准库--bytes 文章. bytes库主要包含 5 大部分,即: 常量 变量 函数 Buffer R ...
- 【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
问题描述 PHP的Web Job,通过artisan来配置路径启动PHP任务,相关启动脚本如下: artisan_path = "d:\\home\\site\\wwwroot"; ...
- 【转载】Java并发之AQS详解
一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQ ...
- UG474
为了对工程的资源利用率进行优化,我们首先需要知道当前工程对资源的利用率情况.在Vivado下,我们可以查看工程的资源利用率情况,在下面这张图中,其罗列出了整个工程所使用的资源情况.首先,下面我们需要一 ...
- 菜单导航tab切换样式的小技巧
1.最终效果 2.HTML结构 <div class="licaiMenu"> <ul class="navi"> <li> ...
- Lucene轻量级搜索引擎,真的太强了!!!Solr 和 ES 都是基于它
一.基础知识 1.Lucene 是什么 Lucene 是一个本地全文搜索引擎,Solr 和 ElasticSearch 都是基于 Lucene 的封装 Lucene 适合那种轻量级的全文搜索,我就是服 ...
- 加载远程vue文件 vue3-sfc-loader
需求 项目在写一些需求的时候,现场可能会有些变动,但是不想从新打包,这种情况可以考虑单独不打包的vue文件 注意vue2 import { loadModule } from 'vue3-sfc-lo ...
- 常见字符的ASCII码值
ASCII值就是字符对应的十进制数值,字符就是可以表示的字符.