算术运算符

疯狂Kotlin讲义阅读实践篇——第3章 运算符和表达式

穿精又带淫゛_ 提交于 2019-11-30 03:31:35
目录 一、前言 二、本章要点 3.1 与Java相同的运算符 3.1.1 单目前缀运算符 3.1.2 自加和自减运算符 3.1.3 双目算术运算符 3.1.4 in 和 !in 运算符 3.1.5 索引访问运算符 3.1.6 调用运算符 3.1.7 广义赋值运算符 3.1.8 相等与不等运算符 3.1.9 比较运算符 3.2 位运算符 3.3 区间运算符 3.3.1 闭区间运算符 3.3.2 半开区间运算符 3.3.3 反向区间 3.3.4 区间步长 3.4 运算符重载 3.4.1 重载单目前缀运算符 3.4.2 重载自加和自减运算符 3.4.3 重载双目算术运算符 3.5 本章小结 一、前言 通过上一篇文章我们阅读了《疯狂Kotlin讲义》的 Kotlin 的基础类型,主要内容围绕 Kotlin 变量和常量展开,详细介绍了定义变量和常量的语法知识,详细可参考链接: 疯狂Kotlin讲义阅读实践篇——第2章 Kotlin 的基础类型 这篇文章我们将阅读学习 Kotlin 的运算符和表达式 二、本章要点 3.1 与Java相同的运算符 3.1.1 单目前缀运算符 3.1.2 自加和自减运算符 3.1.3 双目算术运算符 3.1.4 in 和 !in 运算符 3.1.5 索引访问运算符 3.1.6 调用运算符 3.1.7 广义赋值运算符 3.1.8 相等与不等运算符 3.1.9

二、Python开发---4、运算符

荒凉一梦 提交于 2019-11-30 01:10:48
算术运算符   a=10,b=20 num1 = 10 num2 = 3 print(num1+num2) #13 print(num1-num2) #7 print(num1*num2) #20 print(num1/num2) #3.333333 print(num1%num2) #1 print(num1//num2) #3 print(num1**num2) #100 赋值运算符 比较运算符   a=10,b=20 a = 10;b = 5 print(a == b) # False print(a != b) # True print(a > b) # True print(a < b) # False 逻辑运算符 a = 10 b = 5 print(a>b and a<b) #False 两个条件为真 则为真 否则返回假 print(a>b or a<b ) #True 两个条件有一个为真则返回真, print( not a>b) #False 布尔测试 str = '' #空字符串 返回 bool false str = [] #孔的列表 返回 bool false str = () #空的元组 返回 bool false str = {} #空的字典返回 bool false num = 0 #0 返回 bool false print(bool(num))

运算符

时间秒杀一切 提交于 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型

7-20 表达式转换(25 分)

旧时模样 提交于 2019-11-29 19:34:06
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。 输入格式: 输入在一行中给出不含空格的中缀表达式,可包含 + 、 - 、 * 、 \ 以及左右括号 () ,表达式不超过20个字符。 输出格式: 在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。 输入样例: 2+3*(7-4)+8/4 输出样例: 2 3 7 4 - * + 8 4 / + 解题思路 : 将中缀表达式转换为后缀表达式 , 遵循以下步骤: (1) 初始化两个栈:运算符栈S1和储存中间结果的栈S2; (2) 从左至右扫描中缀表达式; (3) 遇到操作数时,将其压入S2; (4) 遇到运算符时,比较其与S1栈顶运算符的优先级: (4-1) 如果S1为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈; (4-2) 否则,若优先级比栈顶运算符的高,也将运算符压入S1(注意转换为前缀表达式时是优先级较高或相同,而这里则不包括相同的情况); (4-3) 否则,将S1栈顶的运算符弹出并压入到S2中,再次转到(4-1)与S1中新的栈顶运算符相比较; (5) 遇到括号时: (5-1) 如果是左括号“(”,则直接压入S1; (5-2) 如果是右括号“)”

PTA 7-20 表达式转换

情到浓时终转凉″ 提交于 2019-11-29 19:33:37
转自: https://www.cnblogs.com/yuxiaoba/p/8399934.html 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。 输入格式: 输入在一行中给出不含空格的中缀表达式,可包含 + 、 - 、 * 、 \ 以及左右括号 () ,表达式不超过20个字符。 输出格式: 在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。 输入样例: 2+3*(7-4)+8/4 输出样例: 2 3 7 4 - * + 8 4 / + 解题思路 : 将中缀表达式转换为后缀表达式 , 遵循以下步骤: (1) 初始化两个栈:运算符栈S1和储存中间结果的栈S2; (2) 从左至右扫描中缀表达式; (3) 遇到操作数时,将其压入S2; (4) 遇到运算符时,比较其与S1栈顶运算符的优先级: (4-1) 如果S1为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈; (4-2) 否则,若优先级比栈顶运算符的高,也将运算符压入S1(注意转换为前缀表达式时是优先级较高或相同,而这里则不包括相同的情况); (4-3) 否则,将S1栈顶的运算符弹出并压入到S2中,再次转到(4-1)与S1中新的栈顶运算符相比较; (5)

python-运算符

谁说胖子不能爱 提交于 2019-11-29 17:07:26
python中比较常用的运算符: 1.比较运算符 2.逻辑运算符 3.算术运算符 4.赋值运算符 比较运算符 比较运算符 描述 实例 == 等于 - 比较对象是否相等 假设变量: a=10 , b=20 ,(a == b) 返回 False。 >>> a = 2 >>> b = 10 >>> a == b False != 不等于 - 比较两个对象是否不相等 假设变量: a=10 , b=20 ,(a != b) 返回 true. >>> a = 2 >>> b = 10 >>> a != b True <> 不等于 - 比较两个对象是否不相等 Python3.6 中没有这个操作符 > 大于 - 返回x是否大于y 假设变量: a=10 , b=20 ,(a > b) 返回 False。 >>> a = 2 >>> b = 10 >>> a > b False < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 假设变量: a=10 , b=20 ,(a < b) 返回 true。 >>> a = 2 >>> b = 10 >>> a < b True >= 大于等于 - 返回x是否大于等于y。 假设变量: a=10 , b=20 ,(a >= b) 返回 False。 >>> a = 10

操作符和表达式

落花浮王杯 提交于 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:24
位运算符 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果 也为int 代码示例 package com . cwl . base . day01 ; /** * @program: java_base * @description: 位运算符 * @author: ChenWenLong * @create: 2019-11-05 15:09 **/ public class TestOperator04 { public static void main ( String [ ] args ) { int a = 3 ; int b = 4 ; System . out . println ( a & b ) ; System . out . println ( a | b ) ; System . out . println ( a ^ b ) ; System . out . println ( ~ a ) ; //移位 int c = 3 << 2 ; System . out . println ( c ) ; System . out . println ( 12 >> 1 ) ; } } 条件运算符 语法格式 x ? y : z

JAVA语法基础—运算符(上)

夙愿已清 提交于 2019-11-29 15:11:45
运算符 1.赋值运算符:“=”就称为赋值运算符。可以将某个数值赋给变量,将某个表达式的值赋给变量。表达式就是符号与操作数的组合。 2.算术运算符:加(+).减(-).乘(*).除(/).取模运算(%).自增(++).自减(–) <1>取模运算就是取余数,可适用于整数,char类型及浮点数。 <2>自加自减 3。关系运算符 4.逻辑运算符 注: &总会计算前后两个操作数,而&&先计算左边的操作数,如果左边的操作数为false,则直接返回false而不会计算右边的操作数。||与|的区别于此类似。 *** 章节扩展 :***JAVA如何接受键盘输入? 用到scanner类,例如 后面写到接下来的运算符 未完待续······ 来源: CSDN 作者: 李先凯 链接: https://blog.csdn.net/LXKZZY/article/details/102770619