单目运算符

Java运算符及优先级(全)

為{幸葍}努か 提交于 2019-12-01 06:16:18
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 Java运算符分为以下几种: • 算术运算符:+,-,*,/,%,++,-- • 赋值运算符:= • 扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>= • 位运算符:&,|,~,^,<<,>>,>>> • 比较运算符:>,>=,<,<=,== • 逻辑运算符:&&,&,||,|,!,^ • 三目 运算符:? : 1、算术运算符 1)+:加法运算符 例如如下代码: int a = 1; int b = 2; int sum = a+b; System.out.println(sum); //sum的值为3 另外,+还可以作为字符串的连接运算符。 2)-:减法运算符 例如如下代码: int a = 3; int b = 2; int sub = a-b; System.out.println(sub); //sub的值为1 3)*:乘法运算符 例如如下代码: int a = 5; int b = 6; int multiply = a*b; System.out.println(multiply ); //multiply 的值为30 4)/:除法运算符 例如如下代码: int a = 10; int b = 5; int div = a/b; System.out.println

Python系列(二)python变量赋值与运算符

≯℡__Kan透↙ 提交于 2019-11-30 05:54:31
本博文阅读目录: 1、什么是变量? 2、命名规则 3、变量赋值在内存中的原理 4、输入与输出[input raw_input,print] 5、常量 6、常用数据类型[整数,浮点数,布尔值,空值] 7、字符串与字符串格式化[%s,%d,%f,%x ] 8、编码 [ASCII,unicode,UTF-8] 9、注释 [#,’’’] 10、python算术运算符 [+,-,*,/,//,%,**] 11、python比较运算符 [==,!=,<>,>,<,>=,<=] 12、python赋值运算符 [=,+=,-+,*=,/=,%=,**=,//=] 13、python位运算符 [&,|,^,>>,<<] 14、python逻辑运算符 [or,and,not] 15、python成员运算符 [in,not in] 16、python身份运算符 [is,is not] 17、python运算符优先级 正文部分 一、变量赋值 1、什么是变量? 变量就是存储了一个值(就是与变量相关联的信息),代表或引用某个值的一个命名。通常使用“变量=值”的方式给变量赋值。 2、命名规则 变量名只能包括字母、数字和下划线。 变量名可以使用字母或者下划线开头,但不能以数字开头。 变量名不能包含空格,但可以使用下划线来分隔其中的单词。 不能使用关键字作为变量名(即用上面的查询方法可以查询到 哪个是关键字

JavaScript 语法和数据类型

喜夏-厌秋 提交于 2019-11-30 05:44:13
JavaScript 变量 概述 把一个具体的值存入到变量中。那么此时这个变量就代表着我们这个具体的值。我们如果想要重新的使用这个值,不再需要重新的计算或者其他操作,直接使用变量就可以得到之前存储的这个值。 简单的说,变量就是一个保存数据的容器, 调用变量就是调用保存在这个容器中的值。 变量之所以叫做变量,是因为变量随时可以根据我们的需要去改变其中存储的值 注: 变量本身没有数据类型,只能根据存储的值来判断数据类型。 创建一个变量 声明关键字,如:var、let var 声明一个变量,可选初始化一个值。 let 声明一个块作用域的局部变量,可选初始化一个值。 声明变量的三种方式: 使用关键词 var var a = 42; // 可以用来声明局部变量和全局变量。    直接赋值(不推荐) b = 42;// JS 的小 bug,这样写会产生一个全局变量    这种方式在严格模式下会出错,也没人会用这种方式声明变量, 不建议使用这种方式。    使用关键词 let let c = 12; // 用来声明块作用域的局部变量。 声明变量的底层原理 我们所写的程序运行在内存中,当我们使用关键字声明一个变量的时候,计算机会从内存中划分一个空间,为我们存放不同类型的内容做准备 变量的命名规则 1. 由数字、字母、下划线( _ )、$ 组成。 不能由数字开头     不能包含星号 ( * )  

C语言运算符优先级和口诀

旧巷老猫 提交于 2019-11-30 04:32:50
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / % 4 + - 5 >> << 6 > >= < <= 7 == != 8 & 9 ^ 10 | 11 && 12 || 13 ?: 14 = += -= *= /= %= |= ^= &= >>= <<= 15 , ☆注意 : 结合性:2 13 14 是从右至左 其他都是 从左至右 括号成员第一     // 括号运算符[]() 成员运算符. -> 全体单目第二     // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、& 乘除余三加减四   // 这个"余"是指取余运算即% 移位五,关系六    // 移位运算符:<< >> ,关系:> < >= <= 等 等于 不等排第七   // 即== 和!= 位与异或和位或    // 这几个都是位运算: 位与(&)异或(^)位或(|) 三分天下八九十 逻辑与跟或     // 逻辑运算符:|| 和 && 十一跟十二     // 注意顺序:优先级(&&) 高于 优先级(||) 条件高于赋值   // 三目运算符优先级排到13 位只比赋值运算符和","高 逗号运算级最低  // 逗号运算符优先级最低 来源: https://www.cnblogs.com

运算符

时间秒杀一切 提交于 2019-11-29 19:53:28
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 位运算符 算术运算符 算术运算符的注意问题   如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。   对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是?   “+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println("5+5="+5+5); //打印结果是?   以下二者的区别: System.out.println('*' + '\t' +'*'); System.out.println("*" + '\t' +'*'); 赋值运算符  符号:=   当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。   java支持连续赋值, 例如 :    a = b = c = 100;    结果是a,b,c三个变量中的值都是100  扩展赋值运算符: +=, -=, *=, /=, %=   例如 : int n = 10; n += 30; 效果相当于 n = n + 30, 但是不会引起数据类型的变化 比较运算符(关系运算符) 比较运算符的结果都是boolean型

操作符和表达式

落花浮王杯 提交于 2019-11-29 15:50:44
操作符 算术操作符 +,-,*,/,% ,除了 % 操作符其它几个操作符既可以用于浮点型,也可以用于整型。 / 的两个操作数是整型时它执行整除运算,其它气矿下执行浮点运算。 % 操作符的两个操作数必须是整型。 移位操作符 左移时,值最左边的几位被丢弃,右边多出来的几个空位由0补齐。 右移时,左边移入的新位有两种填充方案: 逻辑移位:左边移入的位用0填充。 算术移位:左边移入的位的值由原先该值的符号决定,符号位为1则移入的位都是1,符号位为0则移入的位都是0,这样可以保证原数的正负形式不变。 移位操作的操作数必须是整数。 标准中说对于无符号数,所有的移位操作都是逻辑移位,对于有符号数,移位操作采用逻辑移位还是算术移位是由编译器所决定的。如果一个程序使用了有符号数的移位操作,那么它是不可移植的。 单目操作符 ~ 操作符对整型类型的操作数执行求补操作,即操作数原来为1 的位变成0,原来为0的位变成1。 sizeof 操作符判断它的操作数的类型长度,以字节为单位。 (类型) 操作符被称为强制类型转换操作符,它用于显示把表达式的值转换为另外的类型。 前缀++/-- ,操作数的值被增加/减少,表达式的值就是操作数增加/减少后的值。 后缀++/-- ,操作数的值被增加/减少,表达式的值就是操作数增加/减少之前的值。 逻辑操作符 && , || 都具有短路特性: && 首先会对左操作数求值

Python的二进制位运算

时光怂恿深爱的人放手 提交于 2019-11-29 15:13:45
Python语言能够对整数进行逐位操作,它支持的运算符及含义如下所示: &:按位与 |:按位或 ^:按位异或 ~:取反 <<:左移 >>:右移 对于整型数据,各种位操作是对该数据的补码进行的(正数的补码与原码相同,下面举例皆以正数为例);对于长整型数据,由于其位宽不定,所以进行位运算时,认为其补码的符号位向外无限扩展。下面对各运算符进行举例说明: (1)首先看取反 >>> ~1 -2 >>> ~0x0001 -2 >>> 正整数1,int型是32位的,就是00000000 00000000 00000000 00000001 求反变为11111111 11111111 11111111 11111110,这正好是-2的补码。同样十六进制的0x0001结果是一样的。 (2)按位与 >>> 1&2 0 >>> 1&3 1 >>> 对于按位与,就是对参加运算的两个整数的补码逐位进行逻辑与运算,即参加运算的两个运算量,如果两个相应位都为1,则该位的结果为1,否则为0。 (2)按位或 >>> 1|1 1 >>> 1|2 3 >>> 对于按位或,就是对参加运算的两个数字的补码逐位进行逻辑或运算,即参加运算的两个运算量,只要两个相应位中有一个为1,那么该位的结果为1;只有两个相应位都为0时,该位的结果才为0。 (3)按位异或 >>> 1^1 0 >>> 1^2 3 >>> 对于按位异或

Java编程基础-运算符

[亡魂溺海] 提交于 2019-11-29 15:12:03
Java中的运算符大致分为: 算术运算符、赋值运算符、关系运算符、逻辑运算符 和 位运算符 五类。 (1)、 算术运算符 :+ - * / % ++ -- (2)、 赋值运算符 := += -= *= /= %= (3)、 关系运算符 :== != > >= < <= (4)、 逻辑运算符 :& | ! ^ && || (5)、 位运算符 :& | ~ ^ << >> >>> 一、 算术运算符 按照操作数数目分为单目运算符(一元运算符)和双目运算符(二元运算符)。 1、 单目运算符 ,只有一个操作数。 单目运算符有: + (正) - (负) ++ (自增) -- (自减)。 ++ (自增) 和-- (自减)放在操作数前面,称为前自增(自减),要先对被操作数作自增1或自减1运算,再进行其它的运算操作。 反之, ++ (自增) 和-- (自减)放在操作数后面,称为后自增(自减),要先进行其它运算,再进行 自增1或自减1运算。 public class Demo { public static void main(String[] args) { int a = 5; int x, y; x = +a;// 正值 System.out.println("x=" + x);// 打印结果:x=5 y = -a;// 负值 System.out.println("y=" + y);//

运算符重载

こ雲淡風輕ζ 提交于 2019-11-29 14:21:47
运算符重载 1.重载 重载是指赋予新的含义 c++允许在同一作用域内的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载 函数重载: 可以让一个函数名有多重功能,在不同情况下进行不同的操作 运算符重载: 赋予同一个运算符多重不同功能 在同一作用域内可以声明多个功能类似的同名函数,但是这些函数的形参(个数、类型、顺序)必须至少有一样不同,不能是返回值不同。 2.运算符重载 并不是所有运算符都可以被重载 可重载 运算符 + - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> <<= >>= == != <= >= && || ++ -- , -> () [] new new[] delete delete[] 不可重载 的运算符 sizeof :? . .* ->* :: # 重载不能改变运算符的 优先级 和 结合性 重载运算符不会改变 用法 运算符重载函数不能有 默认参数 运算符重载函数既可以作为类的 成员函数 ,也可以作为 全局函数 一般情况下,单目运算符最好重载为类的 成员函数 ,双目运算符最好重载为友员函数** 类型转换函数 只能定义为一个类的成员函数而不能定义为类的友员函数 若一个运算符的操作需要 修改对象的状态 ,选择重载为成员函数比较好 若运算符所需操作数(尤其是第一个操作数)希望有 隐式类型转换

C&C++运算符优先级

回眸只為那壹抹淺笑 提交于 2019-11-29 11:18:08
C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2 - 负号运算符 -表达式 右到左 单目运算符 ~ 按位取反运算符 ~表达式 ++ 自增运算符 ++变量名/变量名++ -- 自减运算符 --变量名/变量名-- * 取值运算符 *指针变量 & 取地址运算符 &变量名 ! 逻辑非运算符 !表达式 (类型) 强制类型转换 (数据类型)表达式 -- sizeof 长度运算符 sizeof(表达式) -- 3 / 除 表达式/表达式 左到右 双目运算符 * 乘 表达式*表达式 % 余数(取模) 整型表达式%整型表达式 4 + 加 表达式+表达式 左到右 双目运算符 - 减 表达式-表达式 5 << 左移 变量<<表达式 左到右 双目运算符 >> 右移 变量>>表达式 6 > 大于 表达式>表达式 左到右 双目运算符 >= 大于等于 表达式>=表达式 < 小于 表达式<表达式 <= 小于等于 表达式<=表达式 7 == 等于 表达式==表达式 左到右 双目运算符 != 不等于 表达式!= 表达式 8 & 按位与 表达式&表达式 左到右 双目运算符 9 ^ 按位异或 表达式