首页 > 编程语言 >java语言中的运算符

java语言中的运算符

时间:2022-10-21 22:11:30浏览次数:42  
标签:优先级 java 运算 ++ 运算符 左向右 赋值 语言

java语言中的运算符

java语言支持如下运算符

算术运算符:+,-,*,/,%,++,--

赋值运算符:=

关系运算符:>,<,>=,<=,==,!=instanceof

逻辑运算符:&&,||,!

位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

条件运算符?:

扩展赋值运算符:+=,-=,*=,/=

1)取模运算符%

     首先,加减乘除(+ - * /)运算中要注意一点:对于”/“来说两个整数相除其结果还是整数,例如5/3=1。再来介绍一下“%”这个运算符,”%“运算符在JAVA里面代表取余运算也叫做模运算:顾名思义就是取余。例如10÷4等于2余2,所以10%4=2。

2)赋值运算符=

”=“号是赋值运算符在JAVA中最为常见

int b=a;含义是将a的值赋值给b

此外应该注意,”==“在JAVA中代表等于的意思,是关系运算符,代表前后变量值相等 。

其中JAVA语言中的关系运算符还有:

1、“!= ” 是不等于的意思。

2、“< ”是小于的意思

3、“< =” 是小于等于的意思。

4、“> ”是大于的意思

5、“> =” 是大于等于的意思。

3)自增自减运算符 ++和--:

自增运算符 ++ 会把操作数加 1,自减运算符 -- 会把操作数减 1

下面用代码详细操作下:

应该是再给c赋值!

代码输出后 a=5,b=4,c=6

注意a++和++a的区别:对于int b=a++和int c=++a前者是先把a的值赋值给a再自增(即加一);

后者是a先自增,然后再把自增后的值赋值给c。

3.1)与或非 (逻辑运算符)

&& 与:逻辑与运算,两个变量都为真,结果才为真。

|| 或:逻辑或运算:两个变量有一个为真,则其结果才为true。

! 非:如果是真,则变为假,如果是假则变为真。

 

下面用代码实际操作下:

 

代码输出后 a=5,b=4,c=6

注意a++和++a的区别:对于int b=a++和int c=++a前者是先把a的值赋值给a再自增(即加一);

后者是a先自增,然后再把自增后的值赋值给c。

3.1)与或非 (逻辑运算符)

&& 与:逻辑与运算,两个变量都为真,结果才为真。

|| 或:逻辑或运算:两个变量有一个为真,则其结果才为true。

! 非:如果是真,则变为假,如果是假则变为真。

3.2)与或非(位运算符)

& 按位与 |按位或 ^按位异或 ~取反

.>>右移 <<左移

下面用代码实际操作下:image-20221020162930360

位运算符简而言之是根据位来的

因此 :

^:位运算符 异或运算 相同为0,不同为1.

&:两个都为1 才为1 否则为0。

| : 如果对应为都为0,结果为0,否则则为1

注意: "<<",“>>”了解即可

<< :乘法

.>>:除法

字符串连接符 :"+" ,String字符串在前面,括号内会拼接;String字符串在后面的话前面会依旧进行运算!!

image-20221020163037446

4)三元运算符

image-20221020163138349

2.2.2 运算符的优先级 (1)Java中的各种运算符都有自己的优先级和结合性。 (2)优先级:在表达式运算中的运算顺序。优先级越高,在表达式中运算顺序越靠前。 (3)结合性:运算的方向,大多数运算符的结合性都是从左向右,即从左向右依次进行运算。 (4)优先级别最低的是赋值运算符,其次是条件运算符。 (5)单目运算符包括!、~、++、--,优先级别高。 (6)可以通过“()”控制表达式的运算顺序,“()”优先级最高。 (7)总体而言:优先顺序为算术运算符>关系运算符>逻辑运算符 (8)结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)。 (9)运算符的优先级如下所示: 优先级 运算符 结合性 1 ()、[]、. 从左向右 2 !、~、++、-- 从右向左 3 、/、% 从左向右 4 +、- 从左向右 5 <<、>>、>>> 从左向右 6 <、<=、>、>=、instanceof 从左向右 7 ==、!= 从左向右 8 & 从左向右 9 ^ 从左向右 10 | 从左向右 11 && 从左向右 12 || 从左向右 13 ?: 从右向左 14 =、+=、-=、=、/=、%=、|=、^=、~=、<<=、>>=、>>>= 从右向左

标签:优先级,java,运算,++,运算符,左向右,赋值,语言
From: https://www.cnblogs.com/dalaoguo/p/16814942.html

相关文章

  • 【json报错】java json can not cast to JSONObject 报错解决方法【java json】【
     请问:如下:是否会报错?  解决方法:请先格式化json,再转对象。   原因:后端只图省事,直接这样写:获取的是json字符串没有转换直接put.   返回的报文就会不......
  • c语言—调试篇—笔记
    调试#include<stdio.h>intmain(){char*p="hellobit.";printf("%s\n",p);return0;}#include<stdio.h>intmain(){inti=0;intarr[10]={0};for(i=0;i<=12;i++......
  • Java原码补码反码
    对于一个8位原码,01101010和11000110,求它们的补码。已知补码01101010和11000110,求它们的原码。(要求如题4)注:进制和原码等概念属于计算机编程基础知识,建议了解并熟悉它。答:(1)......
  • 请问Java语言是跨平台的吗?JVM是跨平台的吗?为什么?
    Java语言是跨平台的,JVM是不跨平台的。Java能跨平台正是以JVM不跨平台为代价的。Java的跨平台性由JVM实现,即JVM用于保证java的跨平台的特性。原理分析:JVM是在机器和编译......
  • C语言-结构体
    (5条消息)C语言中的结构体(struct)___Sunshine_的博客-CSDN博客_结构体......
  • 自然语言处理学习笔记-lecture07-句法分析01
    句法分析(syntacticparsing)的任务就是识别句子的句法结构(syntacticstructure)。包含短语结构分析(Phraseparsing)和依存句法分析(Dependencyparsing)短语结构分析......
  • java MD5加密工具类
    点击查看代码packageorg.example;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.nio.ByteBuffer;importjava.ni......
  • 一起学习 Go 语言设计模式之建造者模式
    前言你去买车,你不会只买一个轮胎、一个发动机、一个方向盘,你买的是一辆包括轮胎、方向盘、发动机、底盘、电气系统和车身等多个部件组成的完整骑车。在设计模式中,建造者模式......
  • Java语言程序设计第三讲,类与对象
    对象变量又称为引用变量,当声明一个对象类型的变量时并没有创建一个对象,此变量为空(Stringstr=null),但是当定义一个原始类型的变量时会马上为其分配内存(inti=100):在定义......
  • Java 反射
    Java反射作用在运行时判断任意一个对象所属的类在运行时获取类的对象在运行时访问Java对象的属性、方法、构造函数主要的类在java.lang.reflect包下主要类:Field......