运算符

原创 2012年03月28日 20:46:05

算术运算符、关系运算符、逻辑运符、位运算符。
常用的算数运算符有:
+ - / % ++ --;
关系运算符:
“>’‘<’‘>=’‘ <=’‘==’‘!=’;

逻辑运算符:
‘!’‘&&’‘&’‘||’‘|’‘^’;
位运算符:‘~’‘&’‘|’‘^’‘<<’ ‘>>’‘>>>’;

赋值运算符 =; 
符合算数赋值 += -= *= /= %=; 
复合运算赋值 &= |= ^= >>= <<= >>>=;
条件运算符( ? : )
-------------------

算术运算符:
(++ --)前加后不加
 例:i=++2;输出i为3;
 i=2++;输出i为2;
char类型的数据可以进行算术运算,而boolean类型的数据不能进行算术运算。
---

关系运算符:得到的结果为布尔类型,
 真值=true(1)  假值为false(0)。
‘&’有假为假(0);‘|’有真为真(1);‘^’相同为0 不同为1;
‘&&’‘||’短路与、或:左边表达式即可确定与或的结果,则右边的表达式将不会执行。!逻辑非。
---

位运算符:
位运算符用来对整型(byte、short、int、long)或字符型(char)数据二进制位进行操作,结果为一个整数。

~取反:~00000101==11111010【结果负数】
二进制负数是其绝对值取反+1加负号
例:11111010-1=11111001
       00000110=9
11111010=-9;

&按位相与:  0&0=0;0&1=0;1&0=0;1&1=1  有0得0
|按位相与:  0|0=0;0|1=1;1|0=1;1|1=1  有1得1
^按位相异或:0^0=0;0^1=1;1^0=1;1^1=0  相异为1 相同为0

>>(按位右移)
格式:a >> b
功能:将a右移b位,右端的低位被舍弃,左端高位补原来的符号位 。
<<(按位左移)
格式:a << b
功能:将a左移b位,右端的低位补0,左端的高位被舍弃。
>>>(无符号右移)
格式:a >>> b
功能:将a右移b位,右端的低位被舍弃,左端的高位补0。

public int getOneBit(int num,int n){  int i=1 << (n-1);  int nb = num & i;

  return nb >> (n-1);
}这个方法可以返回num的第n-1位。
---

赋值运算符:
 赋值规则:
{当赋值运算符两侧的类型不一致时,如果左侧变量的数据类型的表示范围更大,则把右侧的数据自动转换为与左侧相同的数据类型,然后赋给左侧变量,否则,需要使用强制类型转换运算符。
注意:波尔类型不能与任何其它数据类型转换。
强制类型转换
格式:(目标数据类型)变量或表达式;
强制转换会导致数据丢失}
自动转换:
(byte或short)和int→int
(byte或short或int)和long→long(byte或short或int或long)和float→float(byte或short或int或long或float)和double→doublechar和int→int
格式:变量=表达式;
---

条件运算符:
格式:表达式1?表达式2:表达式3
     表达式1应是boolean类型的表达式;
     表达式2和表达式3的类型要一致。
例:弹出输入对话框,接收用户输入: JOptionPane.showInputDialog(s)


将数字的字符串表示形式转换为整数:
Integer.parseInt(s)


result = (score>=60) ? "及格" : "不及格"
  System.out.println(result);
---

表达式是由若干操作数和运算符按照约定规则构成的一个序列。
 运算符标明对操作数进行何种操作;

 操作数可以是变量、常量或有返回值的方法调用等其他的表达式。

扩展运算符(...)的用途

1.合并数组 一直以来,有很多方法合并数组,但是扩展运算符给了我们全新的方法去实现合并数组: arr1.push(...arr2) // 把arr2合并到arr1的后面 arr1.unshif...
  • yi_xiuge
  • yi_xiuge
  • 2017年08月02日 13:39
  • 496

结构体成员运算符与指向结构体成员运算符

关注用法的区别,不做运算方式的讨论。(暂且不知)2015年2月27日10:29:24 结构体成员运算符 : ( . )直接调用结构体中的某个成员 eg. typedef struct {...
  • u011614161
  • u011614161
  • 2015年02月27日 10:42
  • 832

linux--运算符与表达式

1.运算符的简介 1.1算术运算符:用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)1 1.2关系运算符:用于比较运...
  • waj_aj
  • waj_aj
  • 2017年10月12日 22:27
  • 122

C++:new运算符和new表达式详解

摘要:在C++中new是一个行为和语法都有点诡异的结构,它的语法上与其它C++语法不同,它在语义上却也经常引起人们的不解,尤其当用户自定义的new在使用的时候。本文试图回答作者在学习new的时候遇到的...
  • cwchenwu88
  • cwchenwu88
  • 2012年05月27日 14:59
  • 2261

2. 地址运算符&和间接寻址运算符*

2. 地址运算符&和间接寻址运算符* 2.1 可以使用&获得变量的地址 2.2 可以使用*获得指针指向的变量值 2.3 实例 #include void test1(){        ...
  • u014464353
  • u014464353
  • 2014年05月12日 10:57
  • 390

Python新手学习基础之运算符——成员运算与身份运算

Python的成员运算和身份运算
  • octopole
  • octopole
  • 2016年07月28日 10:04
  • 694

运算符 && 与& 的区别和一些用法

在PHP语言中,&的作用可以是引用,也可以是位运算。&&是逻辑运算”与“,参加运算的两个量理解为逻辑值TRUE、FALSE在进行运算,两个值都为TRUE时结果为TRUE,否则结果为FALSE,例如:3...
  • CSDN_GOON
  • CSDN_GOON
  • 2015年11月25日 21:29
  • 1598

Go语言学习笔记 --- 运算符

Go 中的运算符 Go 中的运算符都是从左到右的 优先级 (从高到低)一元运算符: ^ ! 二元运算符: \* / % > & &^ \+ - | ^ == != < = >...
  • Tyro_java
  • Tyro_java
  • 2017年07月30日 18:13
  • 266

[C]成员运算符"."和间接成员运算符"->"浅析

成员运算符: . 成员运算符一般和结构或者联合名一起使用,指定结构或者联合中的某个成员。 举个栗子: 如果Ronz是一个结构的名称,linux是这个结构模板指定的一个成员名。 1 stru...
  • qq_37018328
  • qq_37018328
  • 2017年09月03日 12:03
  • 147

C/C++中的成员运算符(.)和指针运算符(->)

C语言中: 我们临时定义一个结构体: struct StuInfo{ int num; char name[20]; char sex; float score; }; //初始化两个...
  • fengzei886
  • fengzei886
  • 2014年03月29日 17:48
  • 2060
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运算符
举报原因:
原因补充:

(最多只允许输入30个字)