ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习记录3基本运算符

2022-09-10 18:03:46  阅读:175  来源: 互联网

标签:学习 记录 int System 运算符 && println out


运算符operator

  • 算术运算符:+,-,*,/,%(求余数,叫做模运算),++(自增),--(自减)
  • 赋值运算符:=,a = b(叫做把b赋值给a)
  • 关系运算符:>,<,>=,<=,==(等于),!=(不等于),instanceof
  • 逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非)
  • 位 运 算 符:&,I,^,~,>>,<<,>>>
  • 条件(三元)运算符:?,:
  • 扩展赋值运算符:+=,-=,*=,/=
int a = 3;
int b = a++;//这行代码意为,先给b赋值,再自增,让b等于3,再让a加1
int c = ++a;//这行代码意为,先自增,再给c赋值,先让a加1,再把a加1的结果赋值给c

幂运算:2^3,222
Math.pow(2,3);
很多运算需要用到运算包借助Math类
关系运算

boolean a = true;
boolean b = false;
System.out.println("a&&b:"+a&&b);//逻辑与,两个都为真,结果为真
System.out.println("a||b:"+a||b);//逻辑或,一个都为真,结果为真
System.out.println("!(a&&b):"+!(a&&b));//逻辑非,与原始结果相反
结果
a&&b:false
a||b:true
!(a&&b):true
短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);//从结果就可以看出,第二行代码后面的c++并没有执行
结果
false
5

位运算

  A = 0011 1100
  B = 0000 1101
A&B = 0000 1100//按位与,上下比较,都为0则为0,都为1则为1,否则为0
A|B = 0011 1101//按位或,上下比较,都为0则为0,一个为1则为1,两个为1则为1
A^B = 0011 0001//按位异或,上下比较,相同为0,即都为0取0,都为1取0,不同为1
 ~B = 1111 0010//取反
面试题
2*8怎么运算最快
2*8 = 2*2*2*2
<<左移(这是相较于二进制位的)
>>
System.out.println(2<<3);//结果为16
原因
0000 0000     0
0000 0001     1
0000 0010     2
0000 0100     3
0000 1000     8
0001 0000     16
每移动一位数字就增大了,而且是每移动一位就乘2.
这样的计算方法比前面的两种都要简单,这种简单是相较于计算机的运算机制与方法而言的,是对计算机来说简单,而不是对人,当然根据数据结构的知识,我们知道在大规模数据面前,这样的方法是可以提高效率的。

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

int a = 10;
int b = 20;
a += b;//a = a + b
System.out.println(a);//结果为30

字符串连接符 +,
System.out.println(""+a+b);
System.out.println(a+b+"");
结果为
1020
30
在加号两侧只要有一方出现字符串类型(String),则会将其他数据转化为字符型进行连接,注意,若字符串在前则后侧的不再进行计算,字符串在后侧,则要先进行计算,将结果作为字符类型,与后面的字符串连接

三元运算符

//x  ? y : z
//如果x==true,则结果为y,否则为z
int score = 80;
String type = score < 60 ? "不及格":"及格";
System.out.println(type);//结果为及格

标签:学习,记录,int,System,运算符,&&,println,out
来源: https://www.cnblogs.com/hezhipeng/p/16676269.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有