首页 > 代码库 > JAVA学习笔记2

JAVA学习笔记2

第五讲 运算符


算术运算符

+ 加

- 减

* 乘

/ 除

% 取余(求模)(余数的正负取决于分子的正负)


//算术运算符
int x1 = 10;
int y1 = 3;
System.out.println(x1/y1);//结果是整数
//强制转换结果为double类型的
System.out.println(x1/(double)y1);
//求余(余数的正负取决于分子的正负)
System.out.println(x1%y1);
System.out.println(-x1%y1);
System.out.println(-x1%-y1);


自增自减运算符

++n 先运算,再取值

n++ 先取值,再运算

n=n+1


--n 先运算,再取值

n-- 先取值,再运算

n=n-1


//自增自减
System.out.println(x1++);//先输出10,再++
System.out.println(++x1);//先++,再输出12
System.out.println(--x1);//先--,再输出11
System.out.println(x1--);//先输出11,再--
System.out.println(x1);//输出10


关系运算符

> 大于

< 小于

>= 大于等于

<= 小于等于

== 等于

!= 不等于


逻辑运算符

&& 与

|| 或

! 非

表达式1||表达式2,如果表达式1为真,则表达式2无需判断。如果表达式1为假,则需判断表达式2.


if(++x1 > 10 || y1-- < 3)
{
System.out.println("x="+x1+",y="+y1);
}


难点 位运算符

& 按位与    转换为二进制后,两数同列同时为1时,为1;否则为0

| 按位或    转换为二进制后,两数同列同时为0时,为0;否则为1

~ 按位取反    转换为二进制后,0转换为1,1转换为0

^ 按位异或    转换为二进制后,两数同列相同时,为0;不同时为1

>> 右移 相当于除2

<< 左移 相当于乘2

注:计算机的最高位显示为符号位,0为正,1为负

负数补码=反码+1

反码=除了符号位之外各位取反

//位运算符
int x2 = 10;
int y2 = 7;
int z2 = x2&y2;//转换为二进制后,两数同列同时为1时,为1;否则为0
System.out.println(z2);
int z3 = z2|y2;
System.out.println(z3);//转换为二进制后,两数同列同时为0时,为0;否则为1
int z4 = z2^y2;
System.out.println(z4);//转换为二进制后,两数同列相同时,为0;不同时为1
int z5 = ~x2;
System.out.println(z5);//转换为二进制后,0转换为1,1转换为0;负数补码=反码+1;反码=除了符号位之外各位取反
int z6 = x2>>2;
System.out.println(z6);
int z7 = x2<<2;
System.out.println(z7);


赋值运算符

变量 = 表达式


第六讲 选择语句结构


JAVA学习笔记2