我是靠谱客的博主 踏实煎蛋,最近开发中收集的这篇文章主要介绍运算符基础,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

运算符

算术运算符

  • *+ , - , , / , % , ++ , - - **

    //算数运算符
    int a = 10;
    int b = 20;
    int c = 25;
    int d = 25;
    System.out.println(a + b);
    System.out.println(a - b);
    System.out.println(a * b);
    System.out.println(a / (double) b);
    //(a/b)运算出来是int型
    则为0,所以这里我们需要考虑到小数进行一个强制转换。
    //取余,模运算
    System.out.println(c % a);
    // c / a
    25 / 10 = 2......5
    //定义不同类型相加
    long a = 1237234642356L;
    int b = 123;
    short c = 23;
    byte d = 8;
    System.out.println(a + b + c + d);//long
    不同整数类型相加,其中有一个为long型,结果类型也为long
    System.out.println(b + c + d);//int
    若没有long型,结果都为int类型。
    // System.out.println((String) (c + d));//不能将int类型转换为String
    System.out.println((double) c + d);//31.0
    double类型
    // ++
    --
    自增,自减
    一元运算符
    int a = 3;
    int b = a++;
    //执行完这行代码后,先给b赋值,将a++的值3赋值给b,再自增
    
    //a = a + 1
    System.out.println(a);
    //a = a + 1
    int c = ++a;//执行完这行代码后,先自增,再给c赋值
    将++a的值5赋值给c
    System.out.println(a);//5
    System.out.println(b);//3
    System.out.println(c);//5
    

赋值运算符

  • =

    1)简单赋值运算符:=
    2)扩展赋值运算符:+=,-=,*=,/=,%=
    ---扩展赋值自带强转功能
    int a = 5;
    a += 10; //相当于a=(int)(a+10)
    System.out.println(a); //15
    a *= 2; //相当于a=(int)(a*2)
    System.out.println(a); //30
    a /= 6; //相当于a=(int)(a/6)
    System.out.println(a); //5
    //常见面试题:
    short s = 5;
    //s = s+10; //编译错误,需强转,改为: s=(short)(s+10);
    s += 10; //相当于: s=(short)(s+10);
    

关系运算符

> , < , >= , <= , == (java等于符号),!=

 //关系运算符返回的结果: 布尔值 true
false
int a = 10;
int b = 20;
int c = 22;
System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a == b);//false 
System.out.println(a != b);//true
System.out.println(a++>10); //false-----a自增1变为11
System.out.println(a++>10); //true------a自增1变为 12

逻辑运算符

&& , || , !

1)&&:逻辑与(并且),两边都为真则为真,见falsefalse
---当第1个条件为false时,则发生短路(后面的不执行了)
||:逻辑或(或者),有真则真,见truetrue
---当第1个条件为true时,则发生短路(后面的不执行了)
!:逻辑非(取反),非真则假,非假则真
2)逻辑运算是建立在关系运算的基础之上的
逻辑运算的结果也是boolean//与(and
两个都要)
或(or
我或者你)
非(for
取反 )
boolean a = true;
boolean b = false;
System.out.println("a && b:" + (a && b));//逻辑与运算
两个变量都为真
结果才为true
System.out.println("a || b:" + (a || b));//逻辑或运算
两个变量只要有一个为真
则结果为true
System.out.println("!(a && b):" + !(a && b));//逻辑非运算 如果是真 结果为假 ,如果是假则结果为真
//短路运算
int c = 5;
boolean d = (c < 4) && (c++ < 4);//
(c < 4)以及为假了 所以后面(c++ < 4) 中的c++不运行
所以c的结果还是5
System.out.println(d);//false
System.out.println(c);//5

位运算符

& , | , ^ , ~ , >> , << , >>>


/*
A = 0011 1100
B = 0000 1101
-----------------------------
A&B (A与B 上下两个数进行比较
上下都为1则为1 否则为0 )
A&B =0000 1100
A|B(A或B 上下两个数进行比较
如果对应位0则为0 否则为1)
A|B =0011 1101
A^B(A异或B
上下两个数进行比较
如果对应位相同则为0
否则为1 )
A^B =0011 0001
~B(非A即B
上下两个数进行比较 取对应位相反的数 )
~B =1111 0010
面试题:
2*8 = 16
2*2*2*2
<<
*2
>>
/2
0000 0000
0
0000 0001
1
0000 0010
2
0000 0011
3
0000 0100
4
0000 1000
8
0001 0000
16
*/
System.out.println(2 << 3);//2*2*2*2 16

条件运算符

**? : **


1)语法:
boolean?1:2
2)执行过程:
整个表达式是有值的,它的值要么是?号后的数1,要么是:号后的数2
计算boolean的值:
若为true,则整个表达式的结果为?号后的数1
若为false,则整个表达式的结果为:号后的数2
int score = 80;
String test = score < 60 ? "不及格" : "及格";
System.out.println(test);//及格
int score = 50;
String test1 = score < 60 ? "不及格" : "及格";
System.out.println(test1);//不及格

字符串连接

+

+:
1.1)若两边都是数字,则做加法运算
1.2)若旁边出现了字符串,则做字符串连接
注意:任何类型的数据与字符串相连,结果都是字符串类型----同化作用
int a = 10;
int b = 20;
a += b; //a=a+b
a -= b;//a=a-b
//字符串连接符
+
,String
/*
面试题
*/
System.out.println("" + a + b);//1020
字符串在前面实现字符串拼接
System.out.println(a + b + "");//30
字符串在后面 前面依旧进行运算

最后

以上就是踏实煎蛋为你收集整理的运算符基础的全部内容,希望文章能够帮你解决运算符基础所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部