首页 > 编程语言 >Java运算符

Java运算符

时间:2023-10-09 19:35:36浏览次数:35  
标签:Java int System 运算符 按位 println out

算术运算符

  • 加法运算符(+):用于将两个值相加。
  • 减法运算符(-):用于从一个值中减去另一个值。
  • 乘法运算符(*):用于将两个值相乘。
  • 除法运算符(/):用于将一个值除以另一个值。
  • 取模运算符(%):用于计算两个值相除后的余数。
运算符描述示例
+ 相加 2+3=5
- 相减 5-2=3
* 相乘 2*3=6
/ 相除 6/3=2,5/2=2(整数相除)
% 取余 5%2=1
++ 自增运算符,在变量后面表示先使用变量再执行加 1 操作 int i=2; i++; // i = 3
-- 自减运算符,在变量后面表示先使用变量再执行减 1 操作 int j=3; j--; // j = 2
++ 自增运算符,在变量前面表示先执行加 1 操作再使用变量 int i=2; ++i; // i = 3
-- 自减运算符,在变量前面表示先执行减 1 操作再使用变量 int j=3; --j; // j = 2
int a = 5;
int b = 2;

// 算术运算符
System.out.println(a + b); // 输出:7
System.out.println(a - b); // 输出:3
System.out.println(a * b); // 输出:10
System.out.println(a / b); // 输出:2
System.out.println(a % b); // 输出:1

int i = 5;
System.out.println(i++);   // 输出:5,i的值变为6
System.out.println(++i);   // 输出:7,i的值为7
System.out.println(i--);   // 输出:7,i的值变为6
System.out.println(--i);   // 输出:5,i的值为5

 

关系运算符

  • 相等运算符(==):用于检查两个值是否相等。
  • 不等运算符(!=):用于检查两个值是否不相等。
  • 大于运算符(>):用于检查一个值是否大于另一个值。
  • 小于运算符(<):用于检查一个值是否小于另一个值。
  • 大于等于运算符(>=):用于检查一个值是否大于或等于另一个值。
  • 小于等于运算符(<=):用于检查一个值是否小于或等于另一个值。
运算符描述示例
== 检查两个操作数是否相等,如果是则条件为真 2==3为假
!= 检查两个操作数是否不相等,如果不是则条件为真 2!=3为真
> 检查左操作数是否大于右操作数,如果是则条件为真 2>3为假
< 检查左操作数是否小于右操作数,如果是则条件为真 2<3为真
>= 检查左操作数是否大于等于右操作数,如果是则条件为真 2>=3为假
<= 检查左操作数是否小于等于右操作数,如果是则条件为真 2<=3为真

 

int a = 5;
int b = 2;

// 关系运算符
System.out.println(a == b); // 输出:false
System.out.println(a != b); // 输出:true
System.out.println(a > b);  // 输出:true
System.out.println(a < b);  // 输出:false
System.out.println(a >= b); // 输出:true
System.out.println(a <= b); // 输出:false

位运算符

  • 按位与运算符(&):将两个数的二进制进行按位与操作。
  • 按位或运算符(|):将两个数的二进制进行按位或操作。
  • 按位异或运算符(^):将两个数的二进制进行按位异或操作。
  • 按位取反运算符(~):对一个数的二进制进行按位取反操作。
  • 左移运算符(<<):将一个数的二进制向左移动指定位数。
  • 右移运算符(>>):将一个数的二进制向右移动指定位数。
  • 无符号右移运算符(>>>):将一个数的二进制向右移动指定位数,空出的位以零填充。
运算符描述示例
& 按位与运算符(两个位都为1才返回1) 0011 1100 & 0000 1101 结果:0000 1100
| 按位或运算符(两个位都为0才返回0) 0011 1100 | 0000 1101 结果:0011 1101
^ 异或运算符(两个位相同则返回0,不同则返回1) 0011 1100 ^ 0000 1101 结果:0011 0001
~ 取反运算符(0变为1,1变为0) ~0011 1100 结果:1100 0011
<< 左移运算符(将二进制位左移指定的位数,后面补0) 0011 1100 << 2 结果:1111 0000
>> 右移运算符(将二进制位右移指定的位数,前面补符号位) 0011 1100 >> 2 结果:0000 1111
>>> 无符号右移运算符(将二进制位右移指定的位数,前面补0) 0011 1100 >>> 2 结果:0000 1111
... JDK1.7新增的二进制字面值,可以用下划线分割,增强可读性 int a = 0b1010_1100;

 

int a = 60;
int b = 13;

// 位运算符
System.out.println(a & b);   // 输出:12,即 0011 1100 & 0000 1101 结果:0000 1100
System.out.println(a | b);   // 输出:61,即 0011 1100 | 0000 1101 结果:0011 1101
System.out.println(a ^ b);   // 输出:49,即 0011 1100 ^ 0000 1101 结果:0011 0001
System.out.println(~a);      // 输出:-61,即 ~0011 1100 结果:1100 0011
System.out.println(a << 2);  // 输出:240,即 0011 1100 << 2 结果:1111 0000
System.out.println(a >> 2);  // 输出:15,即 0011 1100 >> 2 结果:0000 1111
System.out.println(a >>> 2); // 输出:15,即 0011 1100 >>> 2 结果:0000 1111

 

逻辑运算符

  • 按位与运算符(&):将两个数的二进制进行按位与操作。
  • 按位或运算符(|):将两个数的二进制进行按位或操作。
  • 按位异或运算符(^):将两个数的二进制进行按位异或操作。
  • 按位取反运算符(~):对一个数的二进制进行按位取反操作。
  • 左移运算符(<<):将一个数的二进制向左移动指定位数。
  • 右移运算符(>>):将一个数的二进制向右移动指定位数。
  • 无符号右移运算符(>>>):将一个数的二进制向右移动指定位数,空出的位以零填充。
运算符描述示例
&& 逻辑与运算符,当两个操作数都非零返回 true (5>3) && (8<5) 返回 false
|| 逻辑或运算符,只要有一个操作数非零返回 true (5>3) || (8<5) 返回 true
! 逻辑非运算符,用来反转操作数的逻辑状态 !(5>3) 返回 false,即为反转的值

 

int a = 5, b = 2, c = 8;

// 逻辑运算符
System.out.println((a > b) && (c > a)); // 输出:true
System.out.println((a > b) || (c < b)); // 输出:true
System.out.println(!(a > b));          // 输出:false

 

赋值运算符

    • 简单赋值运算符(=):用于将右侧的值赋给左侧的变量。
    • 复合赋值运算符(+=、-=、*=、/=、%=):用于进行简化的赋值操作。
运算符描述示例
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 int a = 5; a = 6;
+= 相加后再赋值 int a = 5; a += 3
-= 相减后再赋值 int a = 5; a -= 3
*= 相乘后再赋值 int a = 5; a *= 3
/= 相除后再赋值 int a = 5; a /= 3
%= 取余后再赋值 int a = 5; a %= 3

 

赋值运算符
运算符    描述    示例
=    简单的赋值运算符,将右操作数的值赋给左侧操作数    int a = 5; a = 6;
+=    相加后再赋值    int a = 5; a += 3
-=    相减后再赋值    int a = 5; a -= 3
*=    相乘后再赋值    int a = 5; a *= 3
/=    相除后再赋值    int a = 5; a /= 3
%=    取余后再赋值    int a = 5; a %= 3

 

条件运算符

运算符描述示例
?: 根据判断条件返回两个操作数中其中一个 (5>3) ? "true" : "false";

 

条件运算符
运算符    描述    示例
?:    根据判断条件返回两个操作数中其中一个    (5>3) ? "true" : "false";

 

运算符优先级

下面是Java运算符的优先级列表,数字越大优先级越高:

优先级运算符描述
1 () 括号(优先级最高)
2 ++ -- 自增、自减
3 ! ~ 逻辑非、按位取反
4 * / % 乘、除、取模
5 + - 加、减
6 >> >>> << 移位
7 < <= > >= 关系运算符
8 == != 相等、不相等
9 & 按位与
10 ^ 按位异或
11 | 按位或
12 && 短路逻辑与
13 || 短路逻辑或
14 ?: 三目运算符
15 = += -= *= /= %= &= 赋值、复合赋值(顺序由右往左)
16 , 逗号运算符(顺序由左往右,最低优先级)

 

int a = 5, b = 2, c = 8;

// 运算符优先级
int result = a + b * c; // 先进行乘法运算,再进行加法运算
System.out.println(result); // 输出:21

result = (a + b) * c;   // 先进行加法运算,再进行乘法运算
System.out.println(result); // 输出:56

 

标签:Java,int,System,运算符,按位,println,out
From: https://www.cnblogs.com/anzhizhumo/p/17752962.html

相关文章

  • TypeScript与JavaScript比较(区别)
     TypeScript和JavaScript是目前项目开发中较为流行的两种脚本语言,TypeScript是JavaScript的一个超集,但是TypeScript与JavaScript之间又有什么样的区别呢?在选择开发语言时,又该如何抉择呢?本文将会深入对比这两种语言,讨论两种语言之间的关联和差异,并概述两种语言各自的优势......
  • POI java 对Excel导入导出 java poi操作excel
    入门案例:从Excel文件读取数据1:新建excel表格(名称:HelloWord):表格地址:C:\Users\MrFan\Desktop\helloWord.xlsx2:引入依赖:登录后复制<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</versi......
  • java fx 报错 java.lang.instrument ASSERTION FAILED ***: “!errorOutstanding“ wi
    问题描述在javafx中遇到的错误在fxml中通过了fx:controller绑定了控制器在控制的controller里面使用了FXMLLoader.load获取这个fxml文件出现报错java.lang.instrumentASSERTIONFAILED***:"!errorOutstanding"withmessagetransformmethodcallfailedat......
  • Java中static作用
    Java中static作用static修饰的对象,它先于任何的对象出现。在程序最开始启动(JVM初始化)的时候,就会为static方法分配一块内存空间,成为静态区,属于这个类。而非static方法,必须在类实例化的时候,才会给分配内存空间,在实例化对象的时候JVM在堆区分配一个具体的对象,this指针指向这个对象......
  • 牛客刷Java记录第6天
    第一题一个文件中的字符要写到另一个文件中,首先需要()。ASystem.out.print(buffer[i]);BFileOutputStreamfout=newFileOutputStream(this.filename);CFileInputStreamfin=newFileInputStream(this.filename);DSystem.in.read(buffer);关键词:首先文件A->内......
  • java 获取接口所有的实现类
    点击查看代码@RequestMapping("test1")publicStringgetCustImpl(){List<String>list=newArrayList<String>();Map<String,CustImplService>beansOfType=applicationContext.getBeansOfType(CustImplService.class);......
  • Java-基础重要主题
    1.类与对象Java是一种面向对象的编程语言,类与对象是Java程序的基本构建块。类是描述对象的模板,而对象是类的具体实例。以下是一个简单的Java类的示例:publicclassPerson{privateStringname;privateintage;//构造方法publicPerson(Stringname,i......
  • Java-流程控制
    Java流程控制是Java编程语言中非常重要的一个部分,它允许程序员根据程序执行的顺序来控制代码的执行流程。在Java中,流程控制主要包括条件语句、循环语句和选择语句等。一、条件语句条件语句用于根据条件的真假来执行不同的代码块。Java中主要有两种条件语句:if-else语句和switch语......
  • Java-JDK8的下载安装及环境变量配置
    JDK下载网址:JavaDownloads|Oracle(现在需要注册登陆后才可以下载JDK安装包)——有安装包最好!!!进入网址找到Java8==>选择windows视窗==>选择X64,(X64为64位系统,X86为32为系统)。一、下载JDK安装包。   1.双击打开安装包,选择“下一步”。2.选择要安装的目录和组......
  • java如何将char和String相互转换
    StringString可以理解成char[]组成的char转换成String将char转换成char[]再将char[]转换成Stringcharch='U';StringfromChar=newString(newchar[]{ch});String转换成char[]Stringstr="abc";char[]cc;cc=str.toCharArray();......