算术运算符

java核心:运算符

拟墨画扇 提交于 2020-01-19 20:46:23
java的运算符和c语言基本一样,都是从上到下,从左到右运行 算术运算符 加+,减-,乘*,除/,取余%,注意整型和整型运算得出的结果也是整型,像10除以3得到的是整数3,而不是3.3333…的小数,不只是整型是这样,其他的也是,以此类推。 字符和字符串参与的加法运算 加号两边是数据型数据时,进行加法运算。加号任意一边是字符串,进行字符串的拼接。 自加(++)、自减(–)运算 和c语言一样,++在变量前面是先自己加一,再使用;++在变量后面是先使用再自加一。同理–也是。单独成句时,在前面后面效果都是一样的。 赋值运算符 基本的赋值运算符是=,还有拓展赋值运算符+=,-=,%=,*=,/=。像a+=1;,就相当于a=a+1;。拓展运算符自带强制转换数据的功能。注意区分=和==,==是关系运算符,用于判断是否相等,而=是赋值运算符,这是最容易犯下的错误。 关系运算符 用于判断两个变量的大小关系,像<,>,==,!=,>=,<=都是关系运算符。 逻辑运算符 ||表示或的意思,&&表示且的意思,!表示否的意思。逻辑运算符的运算结果为布尔值true和false。 三元运算符 格式:(关系表达式)?表达式1:表达式2; 若关系表达式为true,则执行表达式1,若为false,执行表达式2。 来源: CSDN 作者: adonis_llw 链接: https://blog.csdn.net

Java千问:学透Java自增(++)自减(--)运算符,看这一篇就够了!

删除回忆录丶 提交于 2020-01-19 13:28:17
同很多高级编程语言一样,Java语言的运算符系统当中也有自增(++)和自减(--)这两个运算符。很多小伙伴对这两个运算符都深感头疼,并且很多公司在面试的时候也经常会问到与之相关的问题,今天我们就通过一篇文章来深度解析一下这两个运算符,相信在看过这篇文章之后,你再也不会被自增(++)和自减(--)运算符难住。由于自增和自减运算符的原理完全相同,所以我们在讲解的时候仅以自增运算符举例。(预警:本文举例较多,篇幅较长,请耐心看完) 一、基本运算规则介绍 自增(++)和自减(--)运算符是对变量在原始值的基础上进行加1或减1的操作。它们都有前缀和后缀两种形式。前缀形式的运算规则可以概括为:”先自增(减),后引用”,而后缀形式的运算规则可以概括为:”先引用,后自增(减)”。这里所说的”引用”,指的是使用变量的值。另外,我们还要强调一个细节: 无论是前缀形式还是后缀形式,自增自减运算符的优先级要高于赋值运算符 。大家要记清楚这个细节,后文还会针对这个细节进行论述。下面我们就分为几种情况来研究++和--在不同场合下的运算效果。 二、语句中仅有++或-- 请看代码: 我们可以看到,这段代码中总共有3条语句,其中第2条语句中仅有一个后缀形式++操作,程序的输出结果是3。那么我们再来看另外一段代码: 这段代码与之前的那段代码基本一样,只是第2条语句中,后缀形式的++操作被换成了前缀形式

[C++学习日记]-04-基础运算

本小妞迷上赌 提交于 2020-01-19 03:53:41
基础运算 程序不能没有运算,如果没有运算那将毫无意义 算术运算符 C++支持一下这些算术运算符 # 名称 符号 示例 1 加法 + x+y 2 减法 - x-y 3 乘法 * x*y 4 除法 / x/y 5 求余 % x%y 加法: 加法是从一个数中加上另一个数的运算,也就是求和 int x = 80 + 8 ; cout << x ; //输出88 减法 减法是从一个数中减去另一个数的运算 int x = 88 - 8 ; cout << x ; //输出80 乘法 乘法是指将相同的数加起来的快捷方式: int x = 3 * 8 ; cout << x ; //输出24 除法 已知两个因数的积与其中一个因数,求另一个因数的运算,叫做除法: int x = 24 / 3 ; cout << x ; //输出8 如果一个或两个操作数都是浮点值,则除法运算符执行浮点除法。 除数不能为0,否则会使程序崩溃 求余 求余是一种数学计算方法,指一个数除以另一个数,不够除的部分就是余数,就是求余的结果: int x = 24 % 5 ; cout << x ; // 输出4 运算的优先级 做复合运算的时候,运算符的优先级直接决定了等式的运算结果,比如乘法的优先级就高于加法运算的优先级: int x = 5 + 2 * 2 ; cout << x ; // x的值等于9,而不是14 和数学一样

前中后缀表达式

拟墨画扇 提交于 2020-01-19 02:29:20
中缀表达式 即算术表达式。如,a+b*c-d/e 后缀表达式 运算符号位于两个运算数之后。如, a b c * + d e /- 前缀表达式 前缀表达式的运算符位于两个相应操作数之前。如,-+*abc/de 用栈实现:特指运算符的入出栈的操作 每次运算符出栈都代表的是一个结果 例题: 1.令P代表入栈,O代表出栈。若利用堆栈将中缀表达式3*2+8/4转为后缀表达式,则相应的堆栈操作序列是: 解: *入栈,然后出栈 +入栈,/入栈,然后分别出栈 PPPOOO 来源: CSDN 作者: Mia@ 链接: https://blog.csdn.net/weixin_43008312/article/details/103788825

前端基础(JavaScript)

穿精又带淫゛_ 提交于 2020-01-14 18:39:05
JavaScript概述 JavaScript 的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. 为了统一三家,ECMA(欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. View Code ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM)

搞懂++和--算术运算符

北战南征 提交于 2020-01-14 11:06:51
如果把 ++ 放在左边,则先把操作数加 1;然后才把操作数放入表达式中运 算。 如果把 ++ 放在右边,则先把操作数放入表达式中运算,然后才把操作数加 1。 int a = 55; // 先将 a 的值,放入表达式中进行运算,然后再给 a 加 1 int b = a++ + 10;//65 // 先将 a 加上 1,然后将新得到的值,再放入表达式中进行运算 int c = ++a + 10;//67 为什么第一个是65,因为a++先和10发生加法运算,得到b的值为65,然后a++,现在a的值是56,;然后到intc这块,++a先加1,a此时的值为57,然后a与10相加,于是c为67. // 问 1:请问输出多少? int a = 1; a = a++; System.out.println(a); // 解析 int a = 1; int temp = a a++; a = temp; System.out.println(a); // 所以对于 jvm 来说,它是首先定义一个临时变量来接收 a 的 值,之后先进行自增运算,然后将此临时变量又赋值给了值为 2 的 a,从而变为了 1。 // 问 2:我们可以分析一下这个输出会是多少。 int i = 1; i = i++; int k = i + ++i * i++ ; System.out.println(i); System

Java-运算符&分支结构&循环

为君一笑 提交于 2020-01-14 07:23:21
运算符 算术运算符: +,-,*,/,%,++,– 关系运算符: >,<,>=,<=,==,!= boolean (大于),<(小于),>=(大于或等于),<=(小于或等于),==(等于),!=(不等于) 关系运算的结果为boolean型,关系成立则为true,关系不成立则为false 逻辑运算符: &&,||,! boolean &&:短路与(并且),两边都为真则为真,见false则false 当第一个数为false时,则发生短路(后面的不执行了) ||:短路或(或者),有一边为真则为真,见true则true 当第一个数为true时,则发生短路(后面的不执行了) !:逻辑非(取反),非真则假,非假则真 逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果为boolean型 注意: | & 也可以用一个表示,但是没有短路功能,java提倡使用|| && 赋值运算符: =,+=,-=,*=,/=,%= 简单赋值运算符:= 扩展赋值运算符:+=,-=,*=,/=,%= 扩展赋值运算自带强转功能 short s = 5 ; s += 10 ; //相当于s=(short)(s+10); //s = s+10; //编译错误,需要强转s+10为short类型 s = (short)(s+10); 字符串连接运算符:+ 若两边为数字,则做加法运算 若两边出现了字符串,则做字符串连接 条件

CSharp中的Vector结构

混江龙づ霸主 提交于 2020-01-13 13:57:46
本节将开发一个结构Vector,来演示运算符重载,这个Vector结构表示一个三维矢量。如果数学不是你的强项,不必担心,我们会使这个例子尽可能简单。三维矢量 只是三个(double)数字的一个集合,说明物体和原点之间的距离,表示数字的变量是x、y和z,x表示物体与原点在x方向上的距离,y表示它与原点在y方向上的距离, z表示高度。把这3个数字组合起来,就得到总距离。例如,如果x=3.0, y=3.0, z=1.0,一般可以写作(3.0, 3.0, 1.0),表示物体与原点在x方向上的距离是3,与原点在 y方向上的距离是3,高度为1。 矢量可以与矢量或数字相加或相乘。在这里我们使用术语"标量"(scalar),它是数字的数学用语-- 在C#中,就是一个double。相加的作用是很明显的。如果先移动(3.0, 3.0, 1.0),再移动(2.0, -4.0, -4.0),总移动量就是把这两个矢量加起来。矢量的相加是指把每个元素分别相加,因此得到(5.0, -1.0,-3.0)。此时,数学表达式总是写成c=a+b,其中a和b是矢量,c是结果矢量。这与使用Vector结构的方式是一样的。 注意: 这个例子是作为一个结构来开发的,而不是类,但这并不重要。运算符重载用于结构和类时,其工作方式是一样的。 下面是Vector的定义-- 包含成员字段、构造函数和一个ToString()重写方法

Chapter 3、Java语法基础(三)--- 运算符、数据类型转换 (22nd,Feb)

我怕爱的太早我们不能终老 提交于 2020-01-13 06:31:47
运算符 1、含义: 一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。 2、种类: 赋值运算符( = ) 算术运算符( + ,—, * , / , % ) 自增自减运算符( ++ , -- ) 比较运算符( >,<,>=,<=,==,!= ):运算结果 boolean 型( true , false ) 逻辑运算符( & , | ,!):操作元为 boolean 型数据 注:除了逻辑(!)运算符是一元运算符以外,其他都是二元运算符 三元运算符(?:) 3、运算符优先级 运算符不同:下图 运算符相同:从左到右 优先级 描述 运算符 1 括号 () 2 正负号 + , - 3 一元运算符 ++ , -- ,! 4 乘除 * , / , % 5 加减 + , - 6 移位运算 >>,<<,>=,<= 7 比较大小 <,>,>=,<= 8 比较是否相等 ==,!= 9 按位与运算 & 10 按位或运算 ^ 11 按位或运算 | 12 逻辑与运算 && 13 逻辑或运算 || 14 三元运算符 ?: 15 赋值运算符 = 数据类型转换 1、隐式转换(自动转换) :自动从范围小的转换为范围大的类型 2、强制转换(显示转换) :强制从范围小的转换为范围大的类型 3、前提条件:数据类型兼容 注释 1、单行: // 2、多行 : ctrl+/ /* */ 3、文档 : /** **

逆波兰表达式

不羁岁月 提交于 2020-01-10 10:43:47
本文转载自: https://www.cnblogs.com/wanghetao/archive/2012/04/23/2466580.html 作者:wanghetao 转载请注明该声明。 逆波兰 表达式 表达式一般由操作数(Operand)、运算符(Operator)组成,例如算术表达式中,通常把运算符放在两个操作数的中间, 这称为中缀表达式(Infix Expression),如A+B。 波兰数学家Jan Lukasiewicz提出了另一种数学表示法,它有两种表示形式: 把运算符写在操作数之前,称为波兰表达式(Polish Expression)或前缀表达式(Prefix Expression),如+AB; 把运算符写在操作数之后,称为逆波兰表达式(Reverse Polish Expression)或后缀表达式(Suffix Expression),如AB+; 其中,逆波兰表达式在编译技术中有着普遍的应用。 算法: 一、 将中缀表达式转换成后缀表达式算法: 1、从左至右扫描一中缀表达式。 2、若读取的是操作数,则判断该操作数的类型,并将该操作数存入操作数堆栈 3、若读取的是运算符 (1) 该运算符为左括号"(",则直接存入运算符堆栈。 (2) 该运算符为右括号")",则输出运算符堆栈中的运算符到操作数堆栈,直到遇到左括号为止。 (3) 该运算符为非括号运算符: (a)