Two Day(2)---运算符

来源:互联网 发布:数据库安全管理办法 编辑:程序博客网 时间:2024/06/05 02:46

上一篇我们说道基本数据类型的浮点数了,在这篇我们会介绍char类型,string类型,以及运算符;

1.char类型 :为两个字节,其取值范围从0-65535,当char类型和int型变量进行运算时会自动提升为int型,

那摩char数据类型能存储汉字吗? 是可以存储汉字的,因为其为Unicode编码,共占用2个字节。

运算符:

算数运算符: + - * / % ++ -- 

:注意事项:
a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
c:/获取的是除法操作的商,%获取的是除法操作的余数
%运算符
当左边的绝对值小于右边绝对值时,结果是左边
当左边的绝对值等于右边或是右边的倍数时,结果是0
当左边的绝对值大于右边绝对值时,结果是余数
%运算符结果的符号只和左边有关系,与右边无关
任何一个正整数%2结果不是0就是1可以用来当作切换条件

其他的没有好说的我们就来说一说自增和自减吧,



++,--运算符的作用
自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1

使用环境:

单独使用:
放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。

好了,光说不练假把式,看几个题吧!



第二个:



这是为什么呢?他们做的操作不一样吗???

这是因为在做自增或者是自减的时候系统会帮我们做一下强制转化,所以说不会有精度损失的报错!

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


这个和++ 是一样的,系统为我们自动加上了强制转换;

关系运算符有哪些(比较运算符,条件运算符)
==,!=,>,>=,<,<=
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
"=="不能写成"="。

逻辑运算符

& | ^ !  结果都为boolen型

true &false  =====false

true |false ======true

true ^false ======true

&& ||也是逻辑运算符,是短路运算符。

位运算符 & | ^ ~ >> << >>>

需要特别说明的是 

位异或运算符的特点
^的特点:一个数据对另一个数据位异或两次,该数本身不变。

面试题

请自己实现两个变量的交换(不用第三方)



下面还有两个结论:

<<:左移        左边最高位丢弃,右边补齐0
>>:右移        最高位是0,左边补齐0;最高为是1,左边补齐1
>>>:无符号右移 无论最高位是0还是1,左边补齐0


向左移动几位就是乘以2的几次幂,向右移动几位就是除以2的几次幂

面试题:

最有效率的写出2*8的计算过程:




1 0