Java基础:Java运算符
2011-03-08 09:13
330 查看
提示:如果你有足够的精力,请记住运算符的优先级!
1. 算术运算符
+ - * / %(求余/求模运算符) ++ --
++ -- 稍微有点麻烦,有个好办法:自己写个Demo测试一下,就可以搞定!
2. 关系运算符
> < == != >= <=
3. 逻辑运算符
& | ^ ! && ||
<1> & | ^ 既可以对逻辑表达时进行操作,也可以对一般数据类型进行操作
<2> && || ! 只可以对逻辑表达时进行操作,不可以对一般数据类型进行操作
<3> 区别
&:普通与 &&:短路与|:普通或 ||:短路或
4. 位运算符
& | ^ ~ >> << >>>
& | ^ ~ 按位取与、取或、异或、取反
>> 位右移,高位是1,右移n位就在左边补n个1;高位是0,右移n位就在左边补n个0
>>> 无符号位右移,不管高位是1还是0,均在左边补0
<< 位左移,右边补0
5. 赋值运算符
=
6. 扩展运算符,即复合运算符
+= -= *= /= %= 等等
7. 字符串连接符
+
在使用System.out.println语句打印时,会默认调用toString()方法,所以只要字符串连接符+两边的操作数有一个是字符串,
系统就会自动的将另一个操作数转换为string,然后再打印输出。
1. 算术运算符
+ - * / %(求余/求模运算符) ++ --
++ -- 稍微有点麻烦,有个好办法:自己写个Demo测试一下,就可以搞定!
2. 关系运算符
> < == != >= <=
3. 逻辑运算符
& | ^ ! && ||
<1> & | ^ 既可以对逻辑表达时进行操作,也可以对一般数据类型进行操作
int a = 1;//0x0001 int b = 2;//0x0002 System.out.println("对一般数据类型进行操作"); System.out.println(a&b);//0,按位求余 System.out.println(a^b);//3,按位异或 System.out.println(a|b);//3,按位求或 System.out.println("对逻辑表达时进行操作"); System.out.println(a == 1 & b == 2);//true System.out.println(a == 1 | b == 2);//true /*两者不一致时才为真*/ System.out.println(a == 1 ^ b == 2);//true+true = false System.out.println(a == 12 ^ b == 2);//false+true = true //false+true = true System.out.println(a == 1 ^ b == 22); //true+true = false System.out.println(a == 12 ^ b == 22);
<2> && || ! 只可以对逻辑表达时进行操作,不可以对一般数据类型进行操作
//均会报错 System.out.println(a&&b); System.out.println(a||b); System.out.println(!a);
<3> 区别
&:普通与 &&:短路与|:普通或 ||:短路或
@1. 当在(a && b)条件下,当a为false时,不用再判断b了,表达式已经为false;
@2. 当在(a || b)条件下,当a为true时,不用再判断b了,表达式已经为true;
@3. 而 & 和 | 则需要两边都进行判断 才行 !
4. 位运算符
& | ^ ~ >> << >>>
& | ^ ~ 按位取与、取或、异或、取反
>> 位右移,高位是1,右移n位就在左边补n个1;高位是0,右移n位就在左边补n个0
>>> 无符号位右移,不管高位是1还是0,均在左边补0
<< 位左移,右边补0
5. 赋值运算符
=
6. 扩展运算符,即复合运算符
+= -= *= /= %= 等等
int a = 7; //报错:可能损失精度,因为int遇见float会先自动转换为float再与 //2.6相运算,但是计算结果是float不能自动转换为int故报错 a = a + 2.6 //使用复合运算符,就相当于强制转换 a += 2.6; <=> a = (int)(a + 2.6); = 9//强制转化会损失精度 --> 省去小数点 所以,a += 2.6; //不与 a = a + 2.6等效
7. 字符串连接符
+
在使用System.out.println语句打印时,会默认调用toString()方法,所以只要字符串连接符+两边的操作数有一个是字符串,
系统就会自动的将另一个操作数转换为string,然后再打印输出。
int a = 1; int b = 2; System.out.println("a+b= " + a + b);//a+b= 12 System.out.println("a+b= " + (a + b));//a+b= 3,括号的优先 //级最大,所以先计算a + b的值然后再将其转换为string输出。 以下类推。 System.out.println("------------------------------"); int i = 12; char ch = 24; System.out.println("i+ch = " + i + ch);//i+ch = 12一个字 //符(24对应的字符) System.out.println("i+ch = " + (i + ch));//i+ch = 36
相关文章推荐
- java基础之基本运算符
- java基础 二 变量,运算符
- Java基础——标识符+常量与变量+类型转换+进制转换+运算符+程序流程结构控制
- Java基础程序设计笔记-- 运算符、表达式与语句
- Java基础语法--对变量&运算符的理解
- java基础复习--数据类型、运算符、程序结构
- 黑马程序员——java基础---关键字、常量、变量、运算符
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java基础应用之运算符(验证登录信息的合法性)
- Java基础之Java运算符大百科
- 【Java基础知识】数据类型与运算符
- IT十八掌作业_java基础第四天_复习运算符、进制转化和数组
- 智渔课堂官方免费教程五:Java基础之运算符
- java基础之运算符
- Java语言基础(算术运算符_2&赋值运算符)(s+=4与s=s+4的区别)
- JavaSE入门学习5:Java基础语法之运算符和语句(上)
- 黑马程序员——高新技术---Java基础语法-数据类型和运算符
- JAVA基础知识点梳理二:运算符
- Java基础__(环境变量配置,关键字,标识符,进制,数据类型,运算符)
- 第2章 Java编程基础——FAQ2.15 Java中有哪些运算符?优先级如何?