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,关注后即可获取最新文章推送

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

Java 运算符详解与字符串处理技巧的更多相关文章

  1. java运算符详解

    java运算符: 定义:用来指明对于操作数的运算方式 按照操作数数目分类: 单目运算    数目运算    三目运算 a++              a+b           (a>b) ? ...

  2. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  3. Java面向对象详解

    Java面向对象详解 前言:接触项目开发也有很长一段时间了,最近开始萌发出想回过头来写写以前学 过的基础知识的想法.一是原来刚开始学习接触编程,一个人跌跌撞撞摸索着往前走,初学的时候很多东西理解的也懵 ...

  4. 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 ...

  5. java 泛型详解(普通泛型、 通配符、 泛型接口)

    java 泛型详解(普通泛型. 通配符. 泛型接口) JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能---- ...

  6. Java synchronized 详解

    Java synchronized 详解 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.当两个并发线程访问同一个对象object ...

  7. Java 正则表达式详解_正则表达式

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  8. Java IO 详解

    Java IO 详解 初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正, ...

  9. Java集合详解3:Iterator,fail-fast机制与比较器

    Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https:/ ...

  10. Java泛型详解(转)

    文章转自  importNew:Java 泛型详解 引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理 ...

随机推荐

  1. 浅谈 rxgo 在项目中的使用方式

    项目中使用到了 RxGo ,感觉现有的处理方式有一定的优势,当然也有一定的有劣势,遂记录下来,免得自己忘记. 本文介绍的只是 rxgo 的一种方式而已,如果你有不错的使用方式,请不吝赐教,谢谢. 对 ...

  2. DataGear 制作基于 three.js 的 3D 数据可视化看板

    DataGear专业版 1.0.0 已发布,欢迎试用! http://datagear.tech/pro/ DataGear 支持采用原生的HTML.JavaScript.CSS制作数据可视化看板,也 ...

  3. 【Azure Developer】如何用Microsoft Graph API管理AAD Application里面的Permissions

    问题描述 如何用Microsoft Graph API给应用添加Microsoft Graph Application Permission 解决方法 一:首先获取Microsoft Graph Ap ...

  4. 【Azure App Service for Linux】Linux Web App如何安装系统未安装的包

    问题描述 Linux Web App中如何安装系统默认未安装的包,如何来执行如 apt install XXX命令呢?现在遇见的问题时,通过Azure App Service门户中的SSH登录后,执行 ...

  5. 隐藏在 Nebula Graph 背后的星辰大海

    本文首发于 Nebula Graph Community 公众号 作者介绍 大家好,我是 Anyzm,graph-ocean(GitHub:https://github.com/nebula-cont ...

  6. Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

    最近,我在 Python 潮流周刊 中分享了一个超级火爆的项目,这还不到一个月,它在 Github 上已经拿下了 8K star 的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一 ...

  7. 青少年CTF训练平台-web部分随笔

    文章管理系统 首先打开环境(>ω<。人)ZZz♪♪ 既然要做题,就要做全面了,图上说了,既然有假flag我就先找出来: 假flag: 打开vmware,使用sqlmap进行处理: sqlm ...

  8. 2022_vue3笔记

    由于公司项目有vue2.5,自己电脑又要3.2,总不可能总是安装删除环境,这儿使用安装nvm版本管理 安装node前配置一下镜像地址 node_mirror: https://npm.taobao.o ...

  9. redisson分布式锁lua脚本翻译

    1.获取锁 lock入参:keys[1]:自定义锁的key  RLock lock = redissonClient.getLock(lockKey);argv[1]=锁的租期,默认30s  argv ...

  10. 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性

    本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...