java运算符详解

来源:互联网 发布:mac 系统还原 编辑:程序博客网 时间:2024/04/29 13:00
                              java常用的基本运算符
public class TestOperator {

/*
* 一、算术运算符:
* (1)算术运算符:
* + - * / % ++ --
* (2)+的用法:
* a.加法
* b.正号
* c.字符串连接符
* (3)/和%的区别:整数做除法操作的时候,/取的是商,%取的是余数
* (4)++ 和 --用法:
* a.他们的作用是自增和自减
* b.使用情况
* *单独使用时,放在数据的前面和后面结果一样。
* *参与操作使用
* 放在操作的数据的前面:先自增或者自减,再参与操作
* int a = 1;
* int b = ++a;
* a == 2; b == 2;
* 放在操作数据的后面:先参与操作,再自增或者自减
* int a = 1;
* int b = a++;
* a == 2; b == 1;
* 二、赋值运算符
* 1. = 扩展的赋值运算符: += -= *= /= %=等
* 2.int x = 10; 就是把10赋值给int类型的变量x
* 3.扩展的赋值运算符的特点:
* 隐含了自动强制转换。
*
* byte bb = 20;
* bb = (byte)(bb + 1);
*
* byte bb = 20;
* bb += 1;
*
* 三、比较运算符:
* == != > >= < <=
* 1.千万不要把 == 写成 =
* 2.无论比较运算有多复杂,最终结果只能是布尔类型(要么true要么false)
*
* 四、逻辑运算符
* &且 |或 ^异或 ! &&双且 ||双或
* 1.逻辑运算符用于连接boolean类型的式子
* 2. & 有false则false
true & true=true
true & false=false
false & true=false
false & false=false
| 有true则true
true | true=true
true | false=true
false | true=true
false | false=false
^ 相同为false,不同为true
true ^ true=false
true ^ false=true
false ^ true=true
false ^ false=false
! !true == false; !false == true;
&&:结果和&一样,但是有短路效果。左边的是false,右边就不再进行判断了。
||:结果和|一样,但是有短路效果。左边的是true,右边就不再进行判断了。
五、位运算符和位移运算符(都是在补码的基础上进行的运算)
位运算符:&(与) |(或) ^(异或) ~(非)
位移运算符:<<(左移) >>(右移) >>>(无符号右移)
&(与) 与运算
3 ==》0000 0011
2 ==》0000 0010
&
2 ==》0000 0010
***遇0则0
|(或) 或运算
3 ==》0000 0011
2 ==》0000 0010
|
3 ==》0000 0011
***遇1则1
^(异或) 异或运算
3 ==》0000 0011
2 ==》0000 0010
^
1 ==》0000 0001
***相同为0,不同为1
~(非) 非运算
3 ==》0000 0011
~
==》1111 1100(补码)
==》1111 1011(反码)
-4 ==》1000 0100(原码)
位移运算符数据类型(byte,short,int,long)的不同,会影响结果。
<<(左移) 将一个运算符对象的各二进制位(包括符号位和数值位)
全部左移指定的位数,左边丢弃,右边补0.
3<<2
3 ==》0000 0011
12 ==》0000 1100
X<<Y = X*(2^Y);
>>(右移) 将一个运算符对象的各二进制位全部右移指定的位数,
左边 正数补0,负数补1,右边丢弃
3>>2
-3 ==》1000 0011
-64 ==》1100 0000
X>>Y = X/(2^Y)
>>>(无符号右移) 将一个运算符对象的各二进制位全部右移指定的位数,
左边补0,右边丢弃
六、三元运算符:
格式: 比较表达式?表达式1:表达式2;
执行流程:首先计算比较表达式的值,得到结果
如果结果是true,结果就是表达式1。
如果结果是false,结果就是表达式2。
在补充一个键盘录入也是常用的一个知识点:
七、键盘录入:
Scanner sc = new Scanner(System.in);
输入的是一个整形 int long short byte
int aa = sc.nextInt();
long aa = sc.nextLong();
short aa = sc.nextShort();
输入字符串
String aa = sc.nextLine();
输入一个字符:
char aa = sc.next().charAt(0);
输入一个布尔类型
boolaen aa = sc.nextBoolean();


1 0
原创粉丝点击