Java学习之运算符使用注意的问题
2014-12-18 20:57
211 查看
运算符使用注意的问题
运算符(掌握)
(1)算术运算符
A:+,-,*,/,%,++,--
B:+的用法
a:加法
b:正号
c:字符串连接符
C:/和%的区别
数据做除法操作的时候,/取得是商,%取得是余数
D:++和--的用法
a:他们的作用是自增或者自减
b:使用
**单独使用
放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
**参与操作使用
放在操作数的前面:先自增或者自减,再参与操作
int a = 10;
int b = ++a;
放在操作数的后面:先参与操作,再自增或者自减
int a = 10;
int b = a++;
(2)赋值运算符
A:=,+=,-=,*=,/=,%=等
B:=叫做赋值运算符,也是最基本的赋值运算符
int x = 10; 把10赋值给int类型的变量x。
C:扩展的赋值运算符的特点
隐含了自动强制转换。
面试题:
short s = 1;
s = s + 1;//相当于s = 2;
short s = 1;
s += 1;//相当于s = (short)2;
请问上面的代码哪个有问题?第一个有问题,因为它把整形值赋给了short类型的变量。
【注:对于扩展的赋值运算符:+=、-=、*=、/=、%=、+=。扩展的赋值运算符其实隐含了一个强制类型转换。
s += 1;不是等价于 s = s + 1;而是等价于 s = (s的数据类型)(s + 1);】
(3)比较运算符
A:==,!=,>,>=,<,<=
B:无论运算符两端简单还是复杂最终结果是boolean类型。
C:千万不要把==写成了=
(4)逻辑运算符
A:&,|,^,!,&&,||
B:逻辑运算符用于连接boolean类型的式子
C:结论
&:有false则false
|:有true则true
^:相同则false,不同则true。
情侣关系。
!:非true则false,非false则true
&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
(5)位运算符(了解)
A:^的特殊用法
一个数据针对另一个数据位异或两次,该数不变
B:面试题
a:请实现两个变量的交换
**采用第三方变量
**用位异或运算符
左边a,b,a
右边a^b
b:请用最有效率的方式计算出2乘以8的结果
2<<3
(6)三元运算符
A:格式
比较表达式?表达式1:表达式2;
B:执行流程:
首先计算比较表达式的值,看是true还是false。
如果是true,表达式1就是结果。
如果是false,表达式2就是结果。
运算符(掌握)
(1)算术运算符
A:+,-,*,/,%,++,--
B:+的用法
a:加法
b:正号
c:字符串连接符
C:/和%的区别
数据做除法操作的时候,/取得是商,%取得是余数
D:++和--的用法
a:他们的作用是自增或者自减
b:使用
**单独使用
放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
**参与操作使用
放在操作数的前面:先自增或者自减,再参与操作
int a = 10;
int b = ++a;
放在操作数的后面:先参与操作,再自增或者自减
int a = 10;
int b = a++;
(2)赋值运算符
A:=,+=,-=,*=,/=,%=等
B:=叫做赋值运算符,也是最基本的赋值运算符
int x = 10; 把10赋值给int类型的变量x。
C:扩展的赋值运算符的特点
隐含了自动强制转换。
面试题:
short s = 1;
s = s + 1;//相当于s = 2;
short s = 1;
s += 1;//相当于s = (short)2;
请问上面的代码哪个有问题?第一个有问题,因为它把整形值赋给了short类型的变量。
【注:对于扩展的赋值运算符:+=、-=、*=、/=、%=、+=。扩展的赋值运算符其实隐含了一个强制类型转换。
s += 1;不是等价于 s = s + 1;而是等价于 s = (s的数据类型)(s + 1);】
(3)比较运算符
A:==,!=,>,>=,<,<=
B:无论运算符两端简单还是复杂最终结果是boolean类型。
C:千万不要把==写成了=
(4)逻辑运算符
A:&,|,^,!,&&,||
B:逻辑运算符用于连接boolean类型的式子
C:结论
&:有false则false
|:有true则true
^:相同则false,不同则true。
情侣关系。
!:非true则false,非false则true
&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
(5)位运算符(了解)
A:^的特殊用法
一个数据针对另一个数据位异或两次,该数不变
B:面试题
a:请实现两个变量的交换
**采用第三方变量
**用位异或运算符
左边a,b,a
右边a^b
b:请用最有效率的方式计算出2乘以8的结果
2<<3
(6)三元运算符
A:格式
比较表达式?表达式1:表达式2;
B:执行流程:
首先计算比较表达式的值,看是true还是false。
如果是true,表达式1就是结果。
如果是false,表达式2就是结果。
相关文章推荐
- Java学习之运算符使用注意的问题
- JavaSE视频学习阶段性总结 一(java入门,原生数据类型及使用注意,运算符)
- Java写的手机计费系统(作为学习参考的实例:关键是Java类库里面的date和Calendar的使用和相互转换,以及一些日期的实际问题)
- java中split使用应注意分隔符问题
- java实际开发中泛型使用需要注意的一些问题
- 学习java遇到的小问题,javac和java的一点点使用
- java中split(regex)使用中要注意的问题:正则表达式
- 使用Spring的javamail注意的中文问题
- php foreach 使用&(与运算符)引用赋值要注意的问题
- 声明方法java实际开发中泛型使用需要注意的一些问题
- java学习笔记---Java可变参数方法重载时要注意的几个问题
- java中使用static修饰词应注意的问题
- php foreach 使用&(与运算符)引用赋值要注意的问题
- C语言自增、自减运算符使用中应注意的问题 王红
- Java学习疑点(5)--使用多线程的时候如何注意避免死锁发生?
- JAVA学习中应该注意的一些简单问题?
- NHibernate学习笔记(1) —— 使用NHibernate中应注意的几个小问题
- 使用Spring的javamail注意的中文问题
- java学习日记(8)———set集合的一些注意问题
- java中split(regex)使用中要注意的问题:正则表达式