比较运算符

java基础总结-运算符

梦想的初衷 提交于 2019-12-06 13:09:38
【变量的赋值与计算都离不开表达式,表达式的运算依赖于变量、常量和运算符。本节课讨论Java的表达式的构成、常量的定义、运算符的分类及应用。通过本课的学习你将掌握运用表达式和运算符完成变量赋值、条件判断、数学运算、逻辑运算等功能操作】 在讲述课程内容之前,先看一个求圆面积的问题。求圆面积的公式为; 其中S为圆面积,π为圆周率,r为半径。 假设用程序来计算圆的面积,S、π、r均为变量,省略的乘号为运算符,r的2次方可以描述为r*r。则上面的公式即为求圆面积的表达式。 结合上面的案例,本节课程分为三个小节,第一小节探讨不能修改的变量—常量;第二小节探讨表达式的组成结构及运用;第三小节探讨Java的基本运算符,包括赋值运算符、算术运算符、关系运算符和逻辑运算符。 第一小节 不能修改的变量——常量 在求圆面积的表达式中,π为圆周率,它是一个不变的量,在程序运行过程中不能被修改。常量同变量一样,也占用存储单元的空间。常量的不可修改性提高了程序的稳定性,同时也提高了程序代码的可维护性。例如,可以把π定义为常量,当程序需要π参与运算时,直接调用定义的常量π即可。 在java语言中,定义常量的语法如下: final 数据类型 常量名称 = 值; 其中,final是Java关键字,数据类型可以是Java语言支持的任何数据类型。 例如,下面的语句把圆周率定义为常量: final double Pl =

java运算符

你说的曾经没有我的故事 提交于 2019-12-06 10:01:37
关系操作符生成的是一个 boolean(布尔)结果,它们计算的是操作数的值之间的关系。如果关系是真实的,关系表达式会生成true(真);如果关系不真实,则生成rase(假)。关系操作符包括小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)、等于(==)以及不等于(!=)。等于和不等于适用于所有的基本数据类型,而其他比较符不适用于 boolean类型。因为boolean值只能为tru或 false,“大于”和“小于”没有实际意义。 基本数据类型 直接使用 == 或者 != 来比较等价性,不能使用equals()。 引用数据类型使用 == 或者 != 的时候表示两个对象的引用地址是否一样。如果想比较两个对象(用数据类型)的实际内容是否相同那么必须使用适用的特殊方法equals()。 equals()方法解释 equals()的默认行为是比较引用地址,所以除非在自己的新类中覆盖equals()方法,否则不能表现出我们希望的行为。 来源: https://www.cnblogs.com/hzbao/p/11975738.html

关于运算符的那些坑—自增x++&&++y

試著忘記壹切 提交于 2019-12-06 08:40:36
题目 比较常见的问题,因为比较细,看书的时候一不注意可能就过去啦,但是遇到的时候就会容易出问题。先看下面程序,考虑一下运行结果是什么呢? int x = 1, y = 1; if(x++ == 2 && ++y == 2){ x = 8; } System.out.println("x = " + x + ", y = " + y); 虽然很短的一个小程序,但是考察了两个细节,分别是下面两个: 自增自减运算符 Java运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符等,算术运算符包括+、-、*、/、%和++、--,其中,自增和自减比较特殊,其他算术运算符需要两个操作数来进行运算,而自增自减只需要一个操作数就可以。 自增自减最特殊的地方不止在于一个操作数,而是在 用于表达式的时候,前缀自增自减和后缀自增自减的运算是不同的 。 int x = 1, y = 1; System.out.println(x++); //打印结果是1 System.out.println(x++); //打印结果是2 System.out.println(++y); //打印结果是2 通过打印结果可以看出: 后缀自增自减法(a++,a--): 先进行表达式运算(打印),再进行自增或者自减运算 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算(打印)。

作用域解析运算符

旧巷老猫 提交于 2019-12-06 08:39:23
作用域运算符“::” 一、(作用域 ):: 《作用域中的某个成员》 = 或 比较? 或者 ->给某个对象。 #if 0 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; int g_number = 100; void test01() { int g_number = 200; cout << g_number << endl; // 打印作用于 全局的变量 cout << ::g_number << endl; } class MyClass{ public: const static int a = 10; }; void test02(){ cout << MyClass::a << endl;//某个函数作用域的内的东西访问出来 /* 底层实现机制不清楚 */ } int main(){ test01(); system("pause"); return EXIT_SUCCESS; } #endif 来源: https://www.cnblogs.com/MyLoveLiJuan/p/11972912.html

golang之运算符

前提是你 提交于 2019-12-06 08:39:05
目录 一、golang之运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 一、golang之运算符 Go 语言内置的运算符有:(比python少了一个成员运算符) 算术运算符 关系运算符 (对应python中的比较运算法) 逻辑运算符 位运算符 赋值运算符 1. 算术运算符 没什么好说的,就是加减乘除,取余 + - * / % 注意: ++ (自增)和 -- (自减)在Go语言中是单独的语句,并不是运算符 2. 关系运算符 这个也没什么好说的,就是 if 判断中使用的那些东西。 == != > >= < <= 3. 逻辑运算符 就是连接条件用的,指定条件与条件之间的关系 && 对应python中的 and || 对应python中的 or ! 对应python中的 not 4. 位运算符 随便看看就好,基本没有用到的地方 位运算符对整数在内存中的二进制进行操作 & 与运算(两位均为1才为1) | 或运算(两位有一个为1就为1) ^ 异或(两位不一样则为1) << 左移n位就是乘以2的n次方(“a<<b”是把a的各二进位全部左移b位,高位丢弃,低位补0) >> 右移n位就是除以2的n次方(“a>>b”是把a的各二进位全部右移b位) 5. 赋值运算符 = 简单的赋值运算符,将一个表达式的值赋给一个左值 += 相加后再赋值 -= 相减后再赋值

java运算符

落爺英雄遲暮 提交于 2019-12-06 07:45:14
Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 算术运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。 表格中的实例假设整数变量A的值为10,变量B的值为20: 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B等于30 - 减法 - 左操作数减去右操作数 A – B等于-10 `*` 乘法 - 相乘操作符两侧的值 A * B等于200 / 除法 - 左操作数除以右操作数 B / A等于2 % 取模 - 左操作数除以右操作数的余数 B%A等于0 ++ 自增 - 操作数的值增加1 B++ 或 ++B 等于 21 -- 自减 - 操作数的值减少1 B-- 或 --B 等于 19 实例 下面的简单示例程序演示了算术运算符。复制并粘贴下面的Java程序并保存为 Test.java 文件,然后编译并运行这个程序: public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 25; int d = 25; System.out

运算符重载

落花浮王杯 提交于 2019-12-06 05:06:11
1. 双目运算符类成员函数重载 观察下列程序,掌握双目运算符的类成员函数重载方式。 #include<iostream> using namespace std; class complex { double real, imag; public: complex(double r = 0, double i = 0) { real = r; imag = i; } complex operator + (complex&); //运算符重载的成员函数原型 //运算符结果类型 operator @(参数表列); 其中,@表示运算符 void print(); }; /*运算符重载实现: 函数返回类型 类名::operator @(参数表列) { //代码 }*/ complex complex::operator+(complex& c) { //operator+ 是类complex的成员函数 complex sum; sum.real = real + c.real; sum.imag = imag + c.imag; return sum; } void complex::print() { cout << "real=" << real << endl; cout << "imag=" << imag << endl; } void main() { complex a(5

C++ 运算符优先级顺序表 (最新 / 完整)

断了今生、忘了曾经 提交于 2019-12-06 04:33:27
注: 运算符优先级 不受运算符重载影响 。 如需钻研 C++ 运算符优先级,可以参考 cppreference ,其提供了详细的注解。 Post author 作者: Grey Copyright Notice 版权说明: Except where otherwise noted, all content of this blog is licensed under a CC BY-NC-SA 4.0 International license . 除非另有说明,本博客上的所有文章均受 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 保护。 优先级 运算符 结合律 助记 1 :: 从左至右 作用域 2 a++ 、 a-- 、 type() 、 type{} 、 a() 、 a[] 、 . 、 -> 从左至右 后缀自增减、 函数风格转型、 函数调用、下标、 成员访问 3 ! 、 ~ 、 ++a 、 --a 、 +a 、 -a 、 (type) 、 sizeof 、 &a 、 *a 、 new 、 new[] 、 delete 、 delete[] 从右至左 逻辑非、按位非、 前缀自增减、正负、 C 风格转型、取大小、取址、 指针访问、 动态内存分配 4 .* 、 ->* 从左至右 指向成员指针 5 a*b 、 a/b 、 a%b 从左至右 乘除、取模 6 a

&和&&的区别?

我是研究僧i 提交于 2019-12-06 03:05:48
&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username != null &&!username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。 来源: https://www.cnblogs.com/java1024/p/11959632.html

python运算符

吃可爱长大的小学妹 提交于 2019-12-06 02:20:35
一、算数运算符 1、加法运算符 + print(5 + 3) # + 还可以用作字符串的连接运算符 print('Hello' + 'World') 输出结果: 8 HelloWorld 2、减法运算符 - print(5 - 3) # - 还可以用作求负的运算符 x = 5 print(-x) 输出结果: 2 -5 3、乘法运算符 * print(5 * 3) # * 还可以用作字符串连接运算符,表示 n 个字符串连接 s = 'xyz ' print(s * 5) 输出结果: 15 xyz xyz xyz xyz xyz 4、除法运算符 / 和 //   / 表示普通除法,即除不尽时,会产生小数部分;而 // 表示整除,即结果只有整数部分,小数部分将会被舍弃。不允许使用 0 作为除数,否则将会引发 ZeroDivisionError 错误。 a = 15.3 b = 4.2 c1 = a / b c2 = a // b print(c1, type(c1)) print(c2, type(c2)) 输出结果: 3.642857142857143 <class 'float'> 3.0 <class 'float'> 5、求余运算符 % print(5 % 3) print(5.2 % 3.1) print(-5.2 % -3.1) print(5.2 % -1.5) print