Java基础(运算符)

一、赋值运算符

  • 基本语法
    数据类型 变量名 = 数值/变量;
double num = 60.5;                           
double num2 = 70.5;                          
System.out.println("转换前1:"+num+"转换前2:"+num2);
                                             
double temp = num;                           
num = num2;                                  
num2 = temp;                                 
System.out.println("转换后1:"+num+"转换后2:"+num2);

二、算术运算符

  • 基本算数运算符
    +、- 、* 、/ 、% 、++、 --
// 变量++ :先操作在运算
// ++变量:先运算再操作
int num3 = 1;                       
System.out.println(num3++);     // 1
System.out.println(++num3);     // 3


int num = 326;
int bai = 326 / 100;
int shi = (326 % 100) / 10;
int ge = 326 % 10;
int sum = bai + shi + ge;
System.out.println("百位、十位、个位的和是:"+sum);
  • 复合算术运算符
    +=、 -= 、*=、 = 、%=

变量1 += 变量2 : 先求出变量1和变量2之和 ,再赋值给变量1

三、关系运算符

==、!=、>、 < 、>= 、<=

>、 < 、>= 、<=  只能用作数值比较
int a = 1;
int b = 2;
boolean flag = a==b;
System.out.println(flag); // fasle

四、逻辑运算符

  • 逻辑运算符只能用于boolean类型进行比较,判断boolean数据之间的逻辑关系(与、或、非)
    &(与)、|(或)、!(非)、&&(短路与)、||(短路或)
  • 变量1 & 变量2 : 只有当变量1和变量2都为true 结果为true 否则为false
  • 变量1|变量2:只要变量1和变量2只要有一个位true 结果为true 否则为false
  • !变量1 :若变量1为true 结果为false,若变量1为false 结果为true
  • 变量1&&变量2:只有当变量1和变量2都为true 结果为true 否则为false
  • 变量1||变量2:只要变量1和变量2只要有一个位true 结果为true 否则为false

&& 、|| 比 & 、| 效率高
&&:先判断变量1 ,如果变量1为false ,不进行变量2的运算,&不管变量1是否为false ,都进行变量2的运算。

int a = 1;
int b = 2;
System.out.println((a++ == b) & (++a == b)); // false a++ 先判断再++
System.out.println(a); // 3
int num1 = 1;
int num2 = 2;
System.out.println((num1++ == num2) && (++num1 == num2)); // false
 System.out.println(num1); // 2      

五、条件运算符(三元运算符、三目运算符)

根据不同的条件给同一个变量赋不同的值
变量=条件?值1:值2

int num = 1<2?1:0;
System.out.println(num); //1

六、位运算符

  • 十进制和二进制的转换

十进制转二进制:
目标数除以2,若能除尽,该位计作0,若除不尽,该位计作1,再对商除以2,若能除尽,该位计作0,若除不尽,以此类推,直到商为0,然后把每位结果进行反序组合

二进制转十进制:
从目标数的最右侧算起,本位的数值乘以本位的权重(2的第几位的位次-1次方),将每一位的值进行相加

  • 位运算符:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)

变量1&变量2:先把变量1和变量2转为二进制,然后每一位的数字一一对应,进行比较判断,若都为1该位计作1,否则记为0

变量1|变量2:先把变量1和变量2转为二进制,然后每一位的数字一一对应,进行比较判断,只要有一个为1,该位计作1,否则计作0.

变量1^变量2:先把变量1和变量2转为二进制,然后每一位的数字一一对应,进行比较判断,对应位相同计作0,否则计作1

变量1 << 变量2:变量1乘以2的变量2次方
2 << 3 : 2*8 = 16

变量1 >> 变量2:变量1除以2的变量2次方
2 << 3:2/8 = 0

运算符优先级 :
! > 算数运算符 > 关系运算符 > 逻辑运算符(&& > ||)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 算术运算符 概念 "+" 加法运算符 "-" 减法运算符 "*" 乘法运算符 "/" 除法运...
    地三千阅读 291评论 0 0
  • 六、运算符 6.1 概述: 6.2 分类: 6.2.1 算术运算符 加(+)减(-)乘(*)除(/)取余(%)前自...
    sexyhair阅读 279评论 2 0
  • 算术运算符 符号:+,-,*,/,%,++,— — 意义:+:正号,加法,字符串连接符。/:整数相除,结果只能是整...
    姜水伟杰阅读 387评论 1 0
  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 算术运算符 赋值运算符 符号: = (1)当“=”两侧...
    向零而一阅读 1,248评论 0 2
  • 运算符对常量和变量进行操作的符号称为运算符 表达式用运算符把常量或者变量连接起来符号的java语法的式子就可以称为...
    南神很忙阅读 250评论 0 0