Java基础认知(二)

基本运算符

1. =和 ==的区别

= 是赋值,==是判断关系

在许多编程语言中,= 是赋值运算符,而 == 是等于运算符。

  1. = 赋值运算符:它将右边的值赋给左边的变量。例如,在 Python 中,x = 5 会将值 5 赋给变量 x。
  2. == 等于运算符:它用于检查两个值是否相等。如果两个值相等,它返回 True;否则,返回 False。例如,在 Python 中,5 == 5 会返回 True,因为 5 等于 5。

所以,= 和 == 在功能和用途上有很大的区别。一个是用于赋值,另一个是用于比较两个值是否相等。

2. i++与 ++i的关系

i ++ 是先赋值,后运算

++ i 是先运算,后赋值

在编程中,i++ 和 ++i 的区别主要在于它们的顺序。

  • i++ 是后置自增运算符。这意味着在进行任何其他运算之前,它首先会将 i 的值增加 1。然后,这个新的值(即 i 原来的值加上 1)会被赋给 i。
  • ++i 是前置自增运算符。这意味着在将 i 的值赋给其他变量或进行其他运算之前,它首先会将 i 的值增加 1。因此,在这个操作之后,任何依赖于 i 的值的地方都会使用新的、已经增加了 1 的值。

因此,如果你想在其他运算之前先增加 i 的值,你应该使用 ++i。如果你想在其他运算之后增加 i 的值,你应该使用 i++。

3. &与&&的区别

  1. 如果左边执行结果为true,&与&&会继续执行右边
  2. 如果左边执行结果为false,则&会继续执行右边

&&则不会继续执行

在开发中,推荐使用&&

4. | 与|| 的区别

  1. 如果左边执行结果为false,|与||会继续执行右边
  2. 如果左边执行结果为true,则|会继续执行右边

||则不会继续执行

在开发中,推荐使用||

5. 两数据交换

Java基础认知(二)_第1张图片

推荐第一种

6. 条件运算符

(条件表达式)? 表达式1:表达式2

Java基础认知(二)_第2张图片

数据类型看后面表达式的类型

7.运算优先级

Java基础认知(二)_第3张图片

开发建议:

  1. 不要过多的依赖运算的优先级来控制表达式的执行顺序,这样可读性太差,尽量使用()来控制表达式的执行顺序。
  2. 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它分成几步来完成。例如:
    (num1 + num2) * 2 > num3 && num2 > num3 ? num3 : num1 + num2;

String运算

Java基础认知(二)_第4张图片

String运算时,如果前面两个为数字,会运算,如果后面加个String则后面跟着数字不会运算!

小tips

涉及金融时,一般使用BigDecimal类(不是float和double),数据库中浮点数使用的也是Decimal

你可能感兴趣的:(南城余的Java学习,算法)