一篇文章带你入门Java运算符

 更新时间:2021年08月04日 09:28:41   作者:键盘敲烂 月薪过万  
这篇文章主要介绍了Java基本数据类型和运算符,结合实例形式详细分析了java基本数据类型、数据类型转换、算术运算符、逻辑运算符等相关原理与操作技巧,需要的朋友可以参考下

运算符时一种特殊的符号,用以表示数据的运算,赋值和比较等。

  • 算数运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算数运算符(Arithmetic operator)

算数运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多。

算数运算符

运算符 运算 范例 结果
+ 正号 +7 7
- 负号 b=11;-b -11
+ 9+9 18
- 10-8 2
* 7*8 56
/ 9/9 1
% 取模(取余) 11%9 2
++ 自增(前):先运算后取值 a=2;b=++a; a=3;b=3
++ 自减(后):先取值后运算 a=2;b=a++; a=3;b=2
- - 自增(前):先运算后取值 a=2;b=--a; a=1;b=1
- - 自减(后):先取值后运算 a=2;b=a--; a=1;b=2
+ 字符串相加 "hsp"+"edu" "hsp edu"

关系运算符(Relational operator)

  • 关系运算符的结果都是boolean型,也就是要么是true,要么是false。
  • 关系表达式经常用在if结构的条件中或循环结构的条件中。

关系运算符

运算符 运算 范例 结果
== 相等于 8==7 false
!= 不等于 8!=7 true
< 小于 8<7 false
> 大于 8>7 true
<= 小于等于 8<=7 false
>= 大于等于 8>=7 true
instanceof 检查是否是类的对象 "hsp" instanceof String true

逻辑运算符(Logical operator)

用于连接多个条件(多个关系表达式)。最终的结果也是一个boolean值。

逻辑运算符

  • 短路与&&,短路或||,取反!。
  • 逻辑与&,逻辑或|,^逻辑异或。
a b a&b a&&b a|b a||b !a a^b
true true true true true true true true
true false false false true true false true
false true false false true true true true
false false false false false false true false
  • a&b:&叫逻辑与:规则:当a和b同时为true,则结果为true,否则为false。
  • a&&b:&&叫短路与:规则:当a和b同时为true,则结果为true,否则为false。
  • a|b:|叫逻辑或:规则:当a和b,有一个为true,则结果为true,否则为false。
  • a||b:||叫短路或:规则:当a和b同时为true,则结果为true没否则为false。
  • !a:叫取反(非运算):当a为true,则结果为false,当a为false时,结果为true。
  • a^b:叫逻辑异或:当a和b不同时,则结果为true,否则为false。

赋值运算符(Assignment Operators)

赋值运算符就是将某个运算后的值,赋给指定的变量。

基本赋值运算符:= , int a =10;。

符合赋值运算符:+= , -= , *= , /= , %=等。

赋值运算符特点

1.运算顺序从右往左,int num = a + b + c;

2.赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值 ,int num = 20; int num2 = 78*34 - 10; int num3 = a;

3.复合赋值运算符等价于下面的效果

比如:a+=3;等价于a=a+3;

4.复合赋值运算符会进行类型转换

byte b = 2; b+=3;b++;

三元运算符(Ternary operator)

条件表达式?表达式1:表达式2;

1.如果条件表达式为true,运算后的结果是表达式1;

2.如果条件表达式为false,运算后的结果是表达式2;

口诀:[一真]

使用细节

1.表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)。

2.三元运算符可以转换成if else语句。

运算符优先级

1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。

2.只有单目运算符,赋值运算是从右向左运算的。

运行左右顺序 运行顺序
R——>L . () {} ; ,
L——>R ++ -- ~ !(data type)
L——>R * / %
L——>R + -
L——>R << >> >>> 位移
L——>R < > <= >= instanceof
L——>R == !=
L——>R &
L——>R ^
L——>R |
L——>R &&
L——>R ||
L——>R ? :
R——>L = *= /= %=
+= -= <<= >>=
/>>>= &= ^= |=

标识符的命名规则和规范

标识符概念

  • Java对各种变量,方法和类等命名时使用的字符序列称为标识符。
  • 凡是自己可以起名字的地方都叫标识符 int num1 = 90;。

标识符的命名规则(必须遵守)

  • 由26个名文字母大小写,0-9,_或$组成。
  • 数字不可以开头,int 3ab = 1;。
  • 不可以使用关键字和保留字,但包含关键字和保留字。
  • Java中严格区分大小写,长度无限制。 int totalNum = 10; int n = 90;。
  • 标识符不能包含空格。int a b = 90;。

标识符命名规范

1.包名:多单词组成时所有字母都小写: aaa.bbb.ccc //比如com.hsp.crm

2.类名、接口名:多单词组成时,所有单词的首字母大写: XxxYyyZzz

比如:TankShotGame

3.变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个

单词首字母大写: xxxYyyZzz 比如: tankShotGame

4.常量名:所有字母都大写。多单词时每个单词用下划线连接: XXX YYY ZZZ

比如:定义一个所得税率TAX RATE

5.后面我们学习到类,包,接口,等时,我们的命名规范要这样遵守,更加详细的 看文档.

关键字定义和特点

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。

特点:关键字中所有字母都为小写。

用于定义数据类型的关键字

用于定义数据类型的关键字

class interface enum byte short
int long float double char
boolean void
用于定义数据类型值的关键字
true false null
用于定义流程控制的关键字
if else switch case default
while do for break continue
return
用于定义访问权限修饰的关键字
private protected public
用于定义类,函数,变量修饰的关键字
abstract final static synchronized
用于定义类与类之间关系的关键字
extends implements
用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符的关键字
native strictfp transient volatile assert

保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字:

byValuecastfuturegenericinneroperatorouterrestvargotoconst

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • spring NamedContextFactory在Fegin配置及使用详解

    spring NamedContextFactory在Fegin配置及使用详解

    在我们日常项目中,使用FeignClient实现各系统接口调用变得更加简单, 在各个系统集成过程中,难免会遇到某些系统的Client需要特殊的配置、返回读取等需求。Feign使用NamedContextFactory来为每个Client模块构造单独的上下文(ApplicationContext)
    2023-11-11
  • 详解SpringMVC 基础教程 简单入门实例

    详解SpringMVC 基础教程 简单入门实例

    这篇文章主要介绍了详解SpringMVC 基础教程 简单入门实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • IDEA如何将Java项目打包成可执行的Jar包

    IDEA如何将Java项目打包成可执行的Jar包

    在Java开发中,我们通常会将我们的项目打包成可执行的Jar包,以便于在其他环境中部署和运行,本文将介绍如何使用IDEA集成开发环境将Java项目打包成可执行的Jar包,感兴趣的朋友一起看看吧
    2023-07-07
  • Java中的按值传递和按引用传递的代码详解

    Java中的按值传递和按引用传递的代码详解

    本文通过实例代码给大家介绍了Java中的按值传递和按引用传递的相关知识,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-06-06
  • Java实现的简单数字处理类及用法示例

    Java实现的简单数字处理类及用法示例

    这篇文章主要介绍了Java实现的简单数字处理类及用法,涉及java数字运算相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • spring boot如何添加拦截器

    spring boot如何添加拦截器

    本篇文章主要介绍了spring boot如何添加拦截器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java在重载中使用Object的问题

    Java在重载中使用Object的问题

    这篇文章主要介绍了Java在重载中使用Object的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Log4j按级别输出日志到不同文件的实现方法

    Log4j按级别输出日志到不同文件的实现方法

    下面小编就为大家带来一篇Log4j按级别输出日志到不同文件的实现方法。
    2016-11-11
  • mybatis实现批量插入并返回主键(xml和注解两种方法)

    mybatis实现批量插入并返回主键(xml和注解两种方法)

    这篇文章主要介绍了mybatis实现批量插入并返回主键(xml和注解两种方法),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • JUnit5相关内容简介

    JUnit5相关内容简介

    这篇文章主要介绍了JUnit5相关内容简介,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论