设为首页 加入收藏

TOP

java中的运算符(一)
2023-07-25 21:33:34 】 浏览:27
Tags:java

算术运算符

+(加)  -(减)   *(乘)     /(除)     %(取余)     ++(自增) --(自减)

 

注意:/(除):两个整数相除,其结果一定是整数,小数位计算机自动略去

 

例:

int  num1 = 15;
int  num2 =  4;

1. int  result =  num1/num2; 
   system.out.println(result);  // 3

2. int  result2 =num1/num2*num2; 
   system.out.println(result2); // 12

3. double result3 = num1/num2;
   system.out.println(result3); // 3.0

4. double result4 =num1/num2+0.0; 
   system.out.println(result4);  //3.0
   
5. double  result5 =num1/(num2+0.0)    
    system.out.println(result5 );  //3.75
 
 

%: 取模运算

 

被模数 % 模数 = 结果

 

注意:结果正负与被模数正负相同  

 

例如:

int  m1 = -15;
int  n1 =4;
System.out.println(m1%n1); //-3

int  m2 = 15;
int  n2 =-4;
System.out.println(m2%n2); //3

  

 

 

++(自增)   --(自减) 

 

自增,自减的运算原理是一样的这边以++为例

 

注意:++(自增1)--(自减1)不会改变原数据类型,后续开发中,这种方式效率更高,不然进行+1操作,还得进行数据类型强转

 

先看例子:

 

1. ++在前
int  num = 4;
int  num1 =++num;
System.out.println(num);
System.out.println(num1);
// num: 5  num1: 5
2. ++在后 
int  num2 = 4;
int  num3 =num2++;
System.out.println(num2);
System.out.println(num3);
// num2: 5  num3: 4

  

 

解析:

 

等号在这边为赋值,将等式右边的值赋值给左边

 

来看++在前,首先num的值先进行了+1运算,将num的值改变成5,然后将结果赋值给num1所以,例子++在前 的 num 与 num1的值都为5

 

然后++在后,首先num2的值赋值给num3,由于num2还未执行++操作,因此num3的值为num2的初始值4,随后num自己进行+1操作,将num2的值改变成5

 

结论:

++在前,先自增1在进行运算,例如例子中的赋值运算

++在后,先运算,后自增1

 

--在前,先自减1在进行运算

--在后,先运算,后自减1

 

赋值运算符


运算符号: = , +=  ,-= , *=, /=, %= 

 

+= :   

number+=2   等价于:number=number+2

 

-= , *=, /=, %=  类似

 

 

比较运算符

 

== ,   !=,  > , <  ,<=  ,>=, instanceof  

 

比较运算符只有一种结果:true 或者 false

 

例如:

int  num = 4;
int  num4 =5;
System.out.println(num==num4); //false
System.out.println(num>num4);  //false
System.out.println(num<num4);  // true
System.out.println(num>=num4); // false
System.out.println(num<=num4); //true
System.out.println(num!=num4); //true 

  

 


instanceof:用来测试一个对象是否为一个类的实例,后续在面向对象模块会涉及到  

逻辑运算符 

&(与)   |(或) !(非) ^(异或) &&    ||

&(与)、&&:两边都为true,结果才为true
|(或)、  ||:两边都为false,结果才为false
!(非):取反
^(异或):两边相同为false
重点:
&(与)、&& 的区别:
&:会对所有条件进行判断&&:不会对所有条件进行判断,只要当条件出现false的情况,就不会 继续判断,直接输出为false
|(或)、  || 的区别
|:会对所有条件进行判断
|| :不会对所有条件进行判断,只要当条件出现true的情况,就不会继续判断,直接输出true

在开发中,使用 && 跟 || ,好处就是提高代码执行效率

位移运算符
位移运算符是对整数的二进制进行运算,无符号右移(>>>)和  有符号右移左移(>>,<<) ,在一些原码中经常可以看到 一个数进行位移运算,其实有个巧妙的方法:
<<  左移:   左移几位就乘以2的几次方 >>,   >>> 右移:  右移几位就除以2的几次方
计算小技巧:
左移不用说,左移几位乘以2的几次方,结果正负取决于要操作数的正负  

例如:
 

  int  num2 = -22;
        int  num3 =  22;
        System.out.println(num2 << 2);   //-22*2^2= -88
        System.out.println(num3 << 2);  //22*2^2= 88

  


右移 (这边先不看无符号右移) :

当右移时,右移几位除以2的几次方,刚好能整除,商就是最终值若不能整除,这边得考虑想要位移的数是正数还是负数
若为正数:结果向下取整,也就是取小数点前的数字若为负数:结果向上取整,小数点前的数字+1

结果的正负也取决于要操作数的正负
例如:
    int  num2 = -22;
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇jcseg分词器的基本使用 下一篇Mybatis 入门实战(2)--简单使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目