基本操作符

Posted wwj的白泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本操作符相关的知识,希望对你有一定的参考价值。

算数操作符‘+’, '-', '*', '/', '%'.

+,---,*这三个就不说了,小学题目嘛。

‘/’号, ‘%’

‘/’号在int类型时计算结果为整数,在double等类型下才算出小数。

‘%’取余数,两个数相除取余数。

10 % 3 = 1.

移位操作符(只能运用于整数)

再说这个操作符之前,先说明,移位操作符移动的是二进制,而在32位设置下,整形数字是占32bit

拿3举例,本来3在二进制下是:0011;

在计算机下:00000000000000000000000000000011

第一位代表正负,1为负,0为正。 

那-5是在二进制中是多少

10000000000000000000000000000101

整数在计算机中的存储

整数在计算的存储不是存储整数原来的二进制表示(原码),而是存储补码。

引进概念:原码,反码,补码。

在正数中原码 = 反码 = 补码。

负数中:反码 = 原码按位取反(0变成1, 1 变成0)。符号位不变

              补码 = 反码 + 1。

 符号<<

左移符号位:<<

位移规则:左面抛弃,右面补0。(移动的是二进制位)

int a = 5; int b = a << 2;

那么b等于多少?

 代码演算一下:

符号>>

向右操作符:>>

移位规则:1.逻辑右位:左边填充0,右边丢弃。

                  2.算术右移:左边用原值符号位填充,右边丢弃

这个方法,取决于编译器。

跟>>相同,我们拿int a = -1;int b = a >> 1;示例

算术右移

 逻辑右移

 

 位操作符:&, | , ^ 

&:按位与:两个数的补码,只有都是1的时候才是1,其他情况下都是0.

拿int a = -5; int b = 3;做例子,

在编译器中实验一下 

|  :按位或

| : 有1便是1。

还是拿 int a = -5, int b = 3做个栗子。

在编译器中验证一下

冰狗,对了。

^  按位异或

 ^ : 相同为0,相异为1.

老规矩,-5,3上路。

来来来编译器见面。

没错呢。

赋值操作符

这个东西,我也不知道咋写。直接来看代码。

什么都不要问,”=“  就是赋值符号。

复合赋值操作符

这东西没的说啊,就刘姥姥如小木屋————一眼到底。

这个就说几个吧。

!: 逻辑反操作

让真的数变假(也就是为0)假的数变真,(也就是为1)

sizeof

sizeof是求变量所占空间的大小的

不同类型,占据的内存空间是不同的。

关系操作符

没啥好说的,但是有一个小技巧,在判断一个变量是否等于一个常数时候,可以常数在前面,变量在后边,容易找寻BUG。

逻辑操作符

逻辑操作符&&与||

&&:逻辑与

它是讲条件并且的关系。

&&:假如一个条件是假,就不再算下面的条件。

这个答案应该是啥?

 

 

||:逻辑或

它是条件或者的关系。例如:

||:当做操作符为真的时候,不再向右计算

如图:

 

条件操作符

说白了,三个式子,第一个判断式,加入成立,就输出第二个式子,不成立第三个式子。

例子:比较大小。

假如用if语句来写:

 

换个方法:

简洁很多,可以减少代码量,提升效率。

逗号表达式

它将很多个式子用",”隔开,从左到右最后表达出来的是最后一个式子。

我们来看一段好玩的代码:

c等于多少?

我们只看最后一个式子的结果,把最后一个式子的结果赋给c。

 下标引用、函数调用和结构成员

1.[]下标引用操作符。

数组里的,符号是从0开始的,没啥好说的。

如图吧:

数组[]里的排序从0开始,而不是1.

2.()函数调用操作符

没得讲.....

3.访问结构体的成员(其实是指针)

. 结构体.成员名

-> 结构体指针->成员名

我们直接上图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于基本操作符的主要内容,如果未能解决你的问题,请参考以下文章

Java操作XML文件

基本命令学习 -目录及文件的基本操作

MySQL基本操作命令

KVM API基本操作

SQL基本操作

Docker 基本操作 数据卷 -- docker 数据卷基本操作挂载数据卷