十一、运算符

运算符在C语言中我们主要有三种:算术运算符、关系运算符、逻辑运算符,下面一一学习:

1.算术运算符:+、-、*、/、%、++、--,下面让我们直接进入练习;

 从上图中可以看出,c,d变量中所得到的值为和;注意,printf在显示浮点型常数的使用%f;

 2.关系运算符:>、>=、<、<=、==、!=;

 int  a=5, b=6;
 a>(b-1)        结果值为0 
 (a +1)== b  结果值为1
 a>=(b-2)      结果值为1
 a<100          结果值为1
 (a+3)<=b    结果值为0
 a != (b-1)     结果值为0

 3.逻辑运算符:&&、||、!;

 逻辑与&&运算符有短路特性,逢0截止;

 逻辑或||运算符逢1截止

 int  x=5, y=18;
 (x>=5) && (y<20)         结果值为1
 ((x+1)>=0) && (y<17)       结果值为0
 ((x-8)>=0) && (y==18)       结果值为0
 ((x-5)>0)  && (y!=18)     结果值为0
 ((x>=5))   ||  (y<20)         结果值为1
 ((x+1)>=0) ||  (y<17)        结果值为1
 ((x-8)>=0) ||  (y==18)       结果值为1
 ((x-5)>0)  ||  (y!=8)                结果值为1

 4.位运算符:~、&、|、^、>>、<<
 下面看下取反~例子:
 char x = 0x17;
y = ~x;
结果如下:
 
 下面让我们观察下按位与
 unsigned char x=0126, y=0xac, z;
 z = x & y;
 
 举例说明按位或:unsigned char x=076, y=0x89, z;
 z = x | y;
 
 举例说明按位异或:相同为假,相异为真;
 unsigned char x=75, y=0173, z;
 z = x ^ y ;
 
 
 位运算的功能可提高运算的效率,可处理硬件寄存器的速度;
让我们观察下0x01进行左移运算:
unsigned char x = 0x01;
X << 1 00000001 << 1 -> 00000010 结果从1变为2;
X << 1 00000010 << 1 -> 00000100 结果从2变为4;
X << 1  00000100 << 1  ->  00001000    结果从4变为8;
 从以上例子可以看出,左移1位相当于将原来的数*2,右移则是除以2;

 
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会一一回答你的问题。 8. 方法重写是指子类重新定义一个与父类方法名、返回类型和参数列表相同,但方法体不同的方法。方法重写的规则是子类的重写方法的访问修饰符不能低于父类的被重写方法,子类的重写方法不能抛出比父类被重写方法更多的异常,子类的重写方法不能更改父类被重写方法的返回类型,子类的重写方法要与父类被重写方法具有相同的方法名、返回类型和参数列表。 9. 方法重载是指在一个类中定义多个方法,它们具有相同的方法名,但是参数列表不同。方法重载的规则是方法名必须相同,但是参数列表必须不同,参数的个数、类型或顺序必须不同。 10. 类对象的创建和初始化过程是先使用new关键字创建一个对象,然后调用该类的构造方法进行初始化。在初始化过程中,首先会为对象分配内存空间,然后调用构造方法对对象的属性进行初始化,最后返回该对象的引用。 11. 运行时的多态和编译时的多态都是实现多态的方式。运行时的多态是指在程序运行时根据实际类型来调用方法,而编译时的多态是指在程序编译时根据引用类型来决定调用哪个方法。实现运行时的多态需要使用继承和方法重写,实现编译时的多态需要使用方法重载和向上造型。 1. |和&是位运算符,||和&&是逻辑运算符。位运算符是用于对二进制数进行操作的,逻辑运算符是用于布尔类型的表达式进行操作的。当使用逻辑运算符时,如果左边的操作数已经能够决定整个表达式的结果,右边的操作数就不会被计算。 2. 数组没有length0方法,而是有一个length属性来表示数组的长度。String也没有length0方法,而是有一个length()方法来获取字符串的长度。 3. 在Java中,==用于比较两个对象的引用是否相同,即比较两个对象在内存中的地址是否相同;而equals()方法用于比较两个对象的内容是否相等,即比较两个对象的属性值是否相等。在比较String对象时,==比较的是两个对象的引用地址,而equals()比较的是两个对象的字符串内容是否相等。 4. 右移操作符>>和>>>是用于对二进制数进行操作的,>>表示带符号右移,即将二进制数向右移动指定的位数,然后在左边用符号位填充空位;>>>表示无符号右移,即将二进制数向右移动指定的位数,然后在左边用0填充空位。逻辑操作符&和|是用于布尔类型的表达式进行操作的,&&表示逻辑与,只有当两个操作数都为true时,整个表达式的结果才为true;||表示逻辑或,只有当两个操作数都为false时,整个表达式的结果才为false。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值