-
每天学一点Thinking in java: 8 一元减号和一元加号&自动递增和自动递减
2020-05-16 08:37:36一元减号(-)和一元加号(+)与二元加号和减号都是相同的运算符。根据表达式的书写形式,编译器会自动判断使用哪一种。例如下述语句: x = -a; 编译器能正确识别下述语句: x = a * -b;//这样书写是一元减号和一元加号操作符(Unary minus and plus operators)
一元加号和二元加法的区别:
一元运算符有且只有一个运算参数
二元运算符有且只有两个运算参数
例如 负号 - 1 ; 它只能运算一个数据
加号 1+ 2 ;参加运算的只能是两个数据多或者少都出错 它是二元运算符一元减号(-)和一元加号(+)与二元加号和减号都是相同的运算符。根据表达式的书写形式,编译器会自动判断使用哪一种。例如下述语句:
x = -a;
编译器能正确识别下述语句:
x = a * -b;//这样书写是可行的,只是可读性不好
最好更明确地写成:
x = a * (-b);
一元减号得到的运算对象的负值。一元加号的含义与一元减号相反,虽然它实际并不做任何事情。
(理解:一元减号相当于负号,一元正好相当于正号)自动递增和自动递减(auto increment and decrement)
递增和递减运算符(常称作“自动递增”和“自动递减”运算符)。其中,递减运算符是“–”,意为“减少一个单位”;递增运算符是“++”,意为“增加一个单位”。举个例子来说,假设A是一个int(整数)值,则表达式++A就等价于(A = A + 1)。递增和递减运算符结果生成的是变量的值。(注意:自增自减会改变变量的值)
每种类型的运算符,都有“前缀(prefix)版”和“后缀(postfix)版”两个版本。
“前递增(preincrement)”表示++运算符位于变量或表达式的前面;而“后递增(post-increment)”表示++运算符位于变量或表达式的后面。递减同理前递增和前递减(如++A或–A),会先执行运算,再生成值。
后递增和后递减(如A++或A–),会先生成值,再执行运算。
例如://: operators/AutoInc.java // Demonstrates the ++ and -- operators. import static net.mindview.util.Print.*; public class AutoInc { public static void main(String[] args) { int i = 1; print("i : " + i); print("++i : " + ++i); // Pre-increment print("i++ : " + i++); // Post-increment print("i : " + i); print("--i : " + --i); // Pre-decrement print("i-- : " + i--); // Post-decrement print("i : " + i); } } /* Output: i : 1 ++i : 2 i++ : 2 i : 3 --i : 2 i-- : 2 i : 1 *///:~
注意下面的例子:
int a=3,b; b=a++*3; // 等同于 b=a*3 然后 a++ System.out.println("a="+a+"\tb="+b); // 4 9 b=--a*3; // 等同于 --a 然后 b=a*3 System.out.println("a="+a+"\tb="+b); // 3 9
-
java中一元加号和减号是什么_加号.减号和正号.负号有什么区别
2021-03-08 10:34:371、数学定义不同:加号和减号是数学运算符号,正号和负号是一元运算符号。2、运算本质不同:加号和减号是将几个数进行数学运算,也就是二元运算符,在运算的时候需要操作两个变量或者常量。正号和负号表示数字本身的...展开全部
加减号和正负号区别在于数学32313133353236313431303231363533e4b893e5b19e31333431363531定义、运算本质不同。
1、数学定义不同:
加号和减号是数学运算符号,正号和负号是一元运算符号。
2、运算本质不同:
加号和减号是将几个数进行数学运算,也就是二元运算符,在运算的时候需要操作两个变量或者常量。
正号和负号表示数字本身的状态,并非将几个数字进行组合运算,运算的时候只需要操作一个变量或者常量,这是它们的本质区别。
扩展资料
加减号最早写法:
加减运算是人类最早掌握的两种数学运算 ,且载于人类最早的文字记载中。古埃及的阿默斯纸草书就载有加号(Sign for Addition)及减号( Sign for Subtraction):向右走的两条腿“、、”是加号,而向左走的两条腿是减号。后者于莫斯科纸草书中则表示“平方”。
物理学中正负号的运用:
1、矢量的正负号。矢量的合成服从平行四边形法则,而中学物理中涉及到的往往是两个矢量在夹角0°和180°的特殊情况,这里正负号表示该矢量与选定的正方向相同或相反,仅这一意义下,正负号表示该矢量的方向,而不是作为判断矢量大小的量度。
2、标量的正负号。如恒正的标量、正负号的意义等同于有理数的标量或者用正负号表示性质的标量。
参考资料来源:百度百科—加号
-
看《Java编程思想》的一点琐碎笔记
2018-12-10 16:40:38当做重新认识java吧 操作符 一元加号(+) 一元加号与二元加号使用了相同的符号(+) 相比于一元减号(-)用于转变数据的符号,而一元加号只是为了与一元减号想对应 作用: 将较小类型的操作数提升为 int ...当做重新认识java吧
操作符
一元加号(+)
- 一元加号与二元加号使用了相同的符号(+)
- 相比于一元减号(-)用于转变数据的符号,而一元加号只是为了与一元减号想对应
- 作用: 将较小类型的操作数提升为 int
初始化与清理
初始化的疑问
- 如何理解:
构造器是一种特殊类型的方法,因为他没有返回值。这与返回值为空(void)明显不同。对于空返回值,尽管方法本身不会自动返回什么,但仍可选择让它返回别的东西。
构造器
- 除构造器之外,编译器禁止在其他任何方法中调用构造器。
static
- 在static方法的内部不能调用非静态方法,反过来就可以。
- static方法不是完全不可能调用非静态方法:如果传递一个对象的引用到静态方法里(静态方法可以创建其自身的对象),然后通过这个引用,就可以调用非静态方法和访问非静态数据成员(但是通常要达到同样的效果,只需写一个非静态方法即可)。
如下:
- static方法不是完全不可能调用非静态方法:如果传递一个对象的引用到静态方法里(静态方法可以创建其自身的对象),然后通过这个引用,就可以调用非静态方法和访问非静态数据成员(但是通常要达到同样的效果,只需写一个非静态方法即可)。
//:StaticTestClass public class StaticTestClass { void nonStaticMethod() { System.out.println("this is the nonstatic method"); } static void staticMethod(StaticTestClass s) { System.out.println("this is the static method"); s.nonStaticMethod(); } public static void main(String[] args) { StaticTestClass s = new StaticTestClass(); StaticTestClass.staticMethod(s); } } /* Output: this is the static method this is the nonstatic method *///:~
初始化
构造器初始化
- 在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布在方法定义之间,它们仍然会在任何方法(包括构造器)被调用之前得到初始化。
并发
- 实现并发最直接的方式是在操作系统级别使用进程。进程是运行在它自己的地址空间内的自包容的程序。
未完待续…
-
java 和负号的优先级_Java运算符详解及其优先级
2021-03-22 13:57:21)③乘号运算符(*)④除号运算符(/)⑤求模运算符(%):从整数除法中获得余数⑥一元加号运算符(+):a=+b⑦一元减号运算符(-):a=-b1.3自增和自减运算符它们是唯一具有“副作用”的运算符(除那些涉及赋值的...1.Java运算符详解
1.1赋值运算符(=)
①对基本类型赋值
a=b;
当b改变时,a不改变
②对对象类型赋值
a=b;
当b改变时,a也跟着改变
1.2算数运算法
①加号运算符(+)
②减号运算符(-)
③乘号运算符(*)
④除号运算符(/)
⑤求模运算符(%):从整数除法中获得余数
⑥一元加号运算符(+):a=+b
⑦一元减号运算符(-):a=-b
1.3自增和自减运算符
它们是唯一具有“副作用”的运算符(除那些涉及赋值的以外)。也就是说,它们会改变运算对象,
而不仅仅是使用自己的值。
①前缀自增运算符(++):++a
②前缀自减运算符(--):--a
③后缀自增运算符(++):a++
④后缀自减运算符(--):a--
1.4关系运算符
关系运算符生成的是一个“布尔”(Boolean)结果。它们评价的是运算对象值之间的关系。
若关系是真实的,关系表达式会生成true(真);若关系不真实,则生成false(假)。
①小于(
②大于(>)
③等于(==)
可以比较基本类型的内容是否相同,但不可以比较对象的内容是否相同。
要比较对象内容是否相对,要使用所有对象都适用的特殊方法equals()。
④小于或等于(<=)
⑤大于或等于(>=)
⑥不等于(!=)
1.5逻辑运算符
能生成一个布尔值(true 或false)。
操作逻辑运算符时,我们会遇到一种名为“短路”的情况。
举例:(a)||(b&&c),当a为true时,该表达式为true,而不必计算(b&&c)的值
①与(&&)
②或(||)
③非(!)
1.6按位运算符
按位运算符允许我们操作一个整数主数据类型中的单个“比特”,即二进制位。按位运算符会对两个自变量中对应的位执行布尔代数,并最终生成一个结果。
按位运算符可与等号(=)联合使用,以便合并运算及赋值:&=,|=和^=都是合法的(由于~是一元运算符,所以不可与=联合使用)。
我们将boolean(布尔)类型当作一种“单位”或“单比特”值对待,所以它多少有些独特的地方。我们可执行按位与,或和异或,但不能执行按位非(为了避免与逻辑非混淆)
①按位与运算符(&)
②按位或运算符(|)
③按位异或运算符(^)
④按位非运算符(~)
1.7移位运算符
左移可以看成乘以2,右移可以看成除以2。
①左移位运算符(<
能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。
②“有符号”右移位运算符(>>)
则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
③“无符号”右移位运算符(>>>)
它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C 或C++没有的。
1.8三元if-else运算符
这种运算符比较罕见,因为它有三个运算对象。但它确实属于运算符的一种,因为它最终也会生成一个值。
这与本章后一节要讲述的普通if-else 语句是不同的。表达式采取下述形式:
布尔表达式 ? 值0:值1
若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。但若“布尔
表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。
1.9逗号运算符(,)
需要用到逗号的唯一场所就是for 循环。
举例:(for i=1;i<10;i++,j=i+5)
1.10字串运算符(+)
这个运算符在Java 里有一项特殊用途:连接不同的字串
1.11造型运算符
“造型”(Cast)的作用是“与一个模型匹配”。
举例:long l = (long)i
Java 允许我们将任何主类型“造型”为其他任何一种主类型,但布尔值(bollean)要除外,后者根本不允许进行任何造型处理。
1.12instanceof运算法
确定某对象是否属于指定的类或指定类的子类
class Animal{}
class Bird extends Animal {}
Animal a= new Animal();
Animal b=new Bird();
System.out.println( b instanceof Animal);//输出true
System.out.println( a instanceof Animal);//输出true
System.out.println( a instanceof Bird);//输出true
2.Java运算符优先级
序列号(越小代表优先级越高)
符号
名称
结合性
操作目数
说明
1
.
成员运算符
从左到右
双目
1
( )
从左到右
1
[ ]
索引运算符
从左到右
2
+
正号
从右到左
单目
2
-
负号
从右到左
单目
2
++
自增
从右到左
单目
前缀自增,后缀自增
2
--
自减
从右到左
单目
前缀自减,后缀自减
2
~
按位非(按位取反)
从右到左
单目
2
!
逻辑非
从右到左
单目
3
*
乘
从左到右
双目
3
/
除
从左到右
双目
3
%
求模
从左到右
双目
4
+
加
从左到右
双目
4
-
减
从左到右
双目
5
<<
左移位
从左到右
双目
5
>>
带符号右移位
从左到右
双目
5
>>>
无符号右移位
从左到右
双目
6
<
小于
从左到右
双目
6
<=
小于或等于
从左到右
双目
6
>
大于
从左到右
双目
6
>=
大于或等于
从左到右
双目
6
instanceof
确定某对象是否属于指定的类
从左到右
双目
7
==
等于
从左到右
双目
7
!=
不等于
从左到右
双目
8
&
按位与
从左到右
双目
9
|
按位或
从左到右
双目
10
^
按位异或
从左到右
双目
11
&&
逻辑与
从左到右
双目
12
||
逻辑或
从左到右
双目
13
? :
if-else运算符
从左到右
三目
唯一的三目运算符
14
=
赋值运算符
从右到左
双目
14
+=
混合赋值运算符
从右到左
双目
14
-+
混合赋值运算符
从右到左
双目
14
*=
混合赋值运算符
从右到左
双目
14
/=
混合赋值运算符
从右到左
双目
14
%=
混合赋值运算符
从右到左
双目
14
&=
混合赋值运算符
从右到左
双目
14
|=
混合赋值运算符
从右到左
双目
14
^=
混合赋值运算符
从右到左
双目
14
<<=
混合赋值运算符
从右到左
双目
14
>>=
混合赋值运算符
从右到左
双目
14
>>>=
混合赋值运算符
从右到左
双目
-
【java解惑】java中那些反常识的小知识(续)
2015-11-04 08:42:06= 0 && i == -i)中,一元减号操作符作用于 i,这意味着它的类型必须是数字型的:一元减号操作符作用于一个非数字型操作数是非法的。因此,我们要寻找一个非 0 的数字型数值,它等于它自己的负值。NaN 不能满足这个... -
java中一元加号的作用
2013-10-10 09:13:18一元减号用于转变数据的符号,而一元加号只是为了与一元减 public class Example2 { public static void main(String[] args) { short s = 1; char c = 'c'; byte b = 2; print(s); print(+s); ... -
java 运算符
2019-12-15 16:18:57算术运算符 算术运算符的操作对象必须是数值类型,不能为boolean进行运算,因为在Java...减(一元减号) * 乘 / 除 % 求模(取余数) + + 自增 - - 自减 += 加并赋值 -= 减并赋值 *= 乘并赋值 /= 除并... -
Java的常用操作符
2017-09-02 23:48:07加号和一元的正号(+)、减号和一元的负号(一)、乘号(*)、除号(/)以及赋值号(=)的用法和大多数编程语言都类似。操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副作用’。... -
Java 操作符注意点
2018-01-10 20:19:351. 基本类型存储了实际...2. 一元减号用于转变数据的符号,而一元加号只是为了与一元减号相对应,他唯一的作用就是将较小类型的操作数提升为int。 public class Test { public static void main(String[] args) { -
java plus方法_Java.math.BigDecimal.plus()方法实例
2021-03-16 10:55:31全屏Java.math.BigDecimal.plus()方法实例java.math.BigDecimal.plus()返回一...这种方法,它只是返回此BigDecimal是包括对称性与一元减号方法negate()。声明以下是java.math.BigDecimal.plus()方法的声明publicBigD... -
java 它唯一的作用仅仅是将较小_03-操作符
2021-03-22 14:13:58加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。几乎所有操作符都只能操作“基本类型”。例外的操作符是“=”、“==”、和“!=”,这些操作符能操作所有对象... -
Java操作符
2017-12-21 22:23:55加号和一元的正号(+)、减号和一元的负号(一)、乘号(*)、除号(/)以及赋值号(=)的用法和大多数编程语言都类似。 操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副作用’... -
《Java编程思想》笔记
2019-05-12 16:32:32一元减号-与之对应的是一元加号+。唯一的作用是将较小的数据类型提升到int 基本数据类型比较相等可以用==,对象需要用equals 任何返回一个数组的方法都能用foreach for (char cc : "任重而道远".toCharArray()) { ... -
java 操作符总结
2010-11-30 11:37:101、分类 1)、一元操作符 +(正号)、-(负号)、~(逻辑非)、 2)、二元操作符 3)、三元操作符 ... 一元加号(+)、一元减号(+)与二元加号和二元减号都使用相同的符号。根据表达式的书写形式,编... -
Java基础知识之变量和运算符号
2016-08-13 16:40:33一元加号一元减号 -5 +5 前置操作符 ++var --var 算术操作符 + - * / % + 有两种意义:1做加法;2字符串的连接。 数值类型转换:两个不同操作数的二元运算,java会自动把整数转为浮点数 如果... -
java笔记4
2014-10-29 11:26:35加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。 操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副... -
java运算符
2018-01-23 22:43:532)+(一元正号)、-(一元负号)、!(逻辑非)、~(按位非)++(自增)、--(自减) 3)*(乘号)、/(除号)、%(取余) 4)+(加号)、-(减号) 5)>>(右移位)、>>>(无符号右移位)、 6)>、>=、 7)==... -
Java编程思想-操作符
2020-04-07 13:37:05加号和一元的正号(+), 减号和一元的符号(-), 乘号(*) ,除号(/) 以及赋值号(=)的用法与其他编程语言类似。 操作符作用于操作数,生成了一个新值。另外,有些操作符可能会改变操作数自身的值, 这被称为 副作用。那... -
Java解惑3-33循环者遇到了狼人
2010-05-21 14:01:00请提供一个对i的声明,...= 0 && i == -i)中,一元减号操作符作用于i,这意味着它的类型必须是数字型的:一元减号操作符作用于一个非数字型操作数是非法的。因此,我们要寻找一个非0的数字型数值,它等于它自己的负值。 -
Java编程思想 操作符总结
2019-05-31 15:56:54加号和一元的正号(+) 减号和一元的负号(-) 乘号(*) 除号(/)以及赋值号(=) 几乎所有的操作符都只能操作 基本类型 例外的操作符是 = == 和 != 这些操作符能操作所有的对象 String类支持 +和+= 优先级 先乘除后加减 ... -
JAVA学习笔记二.操作符
2019-10-29 23:38:03除了赋值操作符之外,所有的...2.一元加号、一元减号、前置操作符:+、-、--var、++var 3.类型转换:type 4.! 5.乘法、除法和求余运算 6.二元加法、二元减法 7.比较操作符:<、<=、>、>= 8.相等... -
java操作符(1)
2020-01-16 14:06:10加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。 操作符作用于操作数,生成一个新值。几乎所有的操作符都只能操作“基本类型”。例外的操作符是... -
操作符之使用Java操作符
2020-06-20 10:39:28加号和一元的正号(+),减号和一元的负号(—),乘号(*),除号(/)以及赋值号(=)的用法与其他编程语言类似。 操作符作用于操作数,生产一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副... -
Java学习笔记——操作符
2013-08-20 11:34:35本文为Java编程思想第四版的学习笔记,在此感谢作者Bruce Eckel给我们带来这样一本经典著作,也感谢该书的...加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语 -
Day7-20.Using Java operators
2017-08-15 18:35:23加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。 操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副... -
Java学习之操作符(三)
2019-11-26 23:29:17注:本博客内容是本人在看《Jave编程思想》这...加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言一致。 操作符作用于操作数,生成一个新值。另外,有些... -
JAVA编程思想(2) - 操作符(一)
2015-06-03 21:53:00"在最底层,Java中的数据是通过...加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的使用方法与其它编程语言同样。 2. 优先级 -当一个表达式中存在多个操作符时,操作符的优先级... -
java基础02-操作符和控制流程
2017-11-28 23:32:00加号和一元正号:+,减号和一元负号:-,乘号:*,除号:/,赋值号:= 2、优先级 先乘除后加减,用括号明确规定计算顺序。 3、赋值(=) a=4; 右值可以是任何常数,变量或者表达式。 左值必须是一个明确的已...