java运算符笔记源码Word下载.docx

上传人:b****5 文档编号:8365870 上传时间:2023-05-11 格式:DOCX 页数:18 大小:18.82KB
下载 相关 举报
java运算符笔记源码Word下载.docx_第1页
第1页 / 共18页
java运算符笔记源码Word下载.docx_第2页
第2页 / 共18页
java运算符笔记源码Word下载.docx_第3页
第3页 / 共18页
java运算符笔记源码Word下载.docx_第4页
第4页 / 共18页
java运算符笔记源码Word下载.docx_第5页
第5页 / 共18页
java运算符笔记源码Word下载.docx_第6页
第6页 / 共18页
java运算符笔记源码Word下载.docx_第7页
第7页 / 共18页
java运算符笔记源码Word下载.docx_第8页
第8页 / 共18页
java运算符笔记源码Word下载.docx_第9页
第9页 / 共18页
java运算符笔记源码Word下载.docx_第10页
第10页 / 共18页
java运算符笔记源码Word下载.docx_第11页
第11页 / 共18页
java运算符笔记源码Word下载.docx_第12页
第12页 / 共18页
java运算符笔记源码Word下载.docx_第13页
第13页 / 共18页
java运算符笔记源码Word下载.docx_第14页
第14页 / 共18页
java运算符笔记源码Word下载.docx_第15页
第15页 / 共18页
java运算符笔记源码Word下载.docx_第16页
第16页 / 共18页
java运算符笔记源码Word下载.docx_第17页
第17页 / 共18页
java运算符笔记源码Word下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java运算符笔记源码Word下载.docx

《java运算符笔记源码Word下载.docx》由会员分享,可在线阅读,更多相关《java运算符笔记源码Word下载.docx(18页珍藏版)》请在冰点文库上搜索。

java运算符笔记源码Word下载.docx

放在操作数的前面,先自增或者自减,然后再参与运算。

放在操作数的后面,先参与运算,再自增或者自减。

作用:

就是对变量进行自增1或者自减1。

classOperatorDemo2{

publicstaticvoidmain(String[]args){

//定义两个变量

intx=3;

inty=4;

//字符串的拼接

//System.out.println("

x:

"

+x);

y:

+y);

System.out.println("

+x+"

y:

//单独使用

//x++;

//y--;

++x;

--y;

//System.out.println(x);

//意外的类型,常量是不可以这样做的

//System.out.println(10++);

-------------------"

);

//参与运算使用

inta=3;

intb=4;

//intc=a++;

//intd=b--;

intc=++a;

intd=--b;

a:

+a);

//4,4

b:

+b);

//3,3

c:

+c);

//3,4

d:

+d);

//4,3

}

3+的正确用法

+的用法:

加法

正号

C:

字符串连接符

classOperatorDemo3{

//加法

System.out.println(3+4);

//正号

System.out.println(+4);

System.out.println('

a'

+1);

//这里是加法

//字符串连接符

System.out.println("

hello"

+'

+1+"

4++,--

++,--的练习题

第一题:

inta=10;

intb=10;

intc=10;

a=b++;

c=--a;

b=++a;

a=c--;

请分别计算出a,b,c的值

第二题:

intx=4;

inty=(x++)+(++x)+(x*10);

请分别计算出x,y的值

classOperatorTest{

inta=10;

intb=10;

intc=10;

a=b++;

//a=10,b=11,c=10

c=--a;

//a=9,b=11,c=9

b=++a;

//a=10,b=10,c=9

a=c--;

//a=9,b=10,c=8

--------------"

intx=4;

inty=(x++)+(++x)+(x*10);

//4+6+60

//x=5,6

5赋值运算符

赋值运算符:

基本的赋值运算符:

=

把=右边的数据赋值给左边。

扩展的赋值运算符:

+=,-=,*=,/=,%=

+=把左边和右边做加法,然后赋值给左边。

//定义一个变量

intx=10;

//其他用法

inta,b;

a=b=10;

System.out.println(a);

System.out.println(b);

-----------"

inty=10;

y+=20;

System.out.println(y);

面试题:

shorts=1;

s=s+1;

s+=1;

上面两个代码有没有问题,如果有,那里有问题。

为什么第二个木有问题呢?

扩展的赋值运算符其实隐含了一个强制类型转换。

s+=1;

不是等价于s=s+1;

而是等价于s=(s的数据类型)(s+1);

//shorts=1;

//s=s+1;

//System.out.println(s);

shorts=1;

s+=1;

//好像是s=s+1;

System.out.println(s);

6比较运算符

比较运算符:

==,!

=,>

>

=,<

<

特点:

无论你的操作是简单还是复杂,结果是boolean类型。

"

=="

不能写成"

="

intz=3;

System.out.println(x==y);

System.out.println(x==z);

System.out.println((x+y)==(x+z));

------------"

System.out.println(x!

=y);

System.out.println(x>

y);

System.out.println(x<

intb=20;

//booleanflag=(a==b);

//booleanflag=(a=b);

//这个是有问题的,不兼容的类型

//System.out.println(flag);

intc=(a=b);

//把b赋值给a,然后把a留下来

System.out.println(c);

7逻辑运算符

逻辑运算符:

&

|,^,!

&

||

逻辑运算符一般用于连接boolean类型的表达式或者值。

表达式:

就是用运算符把常量或者变量连接起来的符合java语法的式子。

算术表达式:

a+b

比较表达式:

a==b

结论:

逻辑与:

有false则false。

|逻辑或:

有true则true。

^逻辑异或:

相同为false,不同为true。

举例:

情侣关系。

男男,男女,女男,女女

!

逻辑非:

非false则true,非true则false。

特点:

偶数个不改变本身。

inta=3;

intb=4;

intc=5;

//&

逻辑与

System.out.println((a>

b)&

(a>

c));

//false&

false=false

(a<

true=false

System.out.println((a<

//true&

true=true

---------------"

//|逻辑或

b)|(a>

//false|false=false

b)|(a<

//false|true=true

//true|false=true

//true|true=true

//^逻辑异或

b)^(a>

//false^false=false

b)^(a<

//false^true=true

//true^false=true

//true^true=false

//!

逻辑非

System.out.println(!

(a>

b));

//!

false=true

(a<

true=false

!

false=false

8&

和&

区别

&

的区别?

同理||和|的区别?

最终结果一样。

具有短路效果。

左边是false,右边不执行。

开发中常用的逻辑运算符:

||,!

双与

----------------"

//booleanb1=((x++==3)&

(y++==4));

//booleanb1=((++x==3)&

booleanb1=((++x==3)&

System.out.println(b1);

9位运算符

位运算符:

|,^,~

<

<

>

注意:

要做位运算,首先要把数据转换为二进制。

System.out.println(3&

4);

System.out.println(3|4);

System.out.println(3^4);

System.out.println(~3);

分析:

因为是位运算,所以我们必须先把数据换算成二进制。

3的二进制:

11

00000000000000000000000000000011

4的二进制:

100

00000000000000000000000000000100

位与运算:

有0则0。

00000000000000000000000000000100

-----------------------------------

00000000000000000000000000000000

结果是:

|位或运算:

有1则1。

|00000000000000000000000000000100

00000000000000000000000000000111

7

^位异或运算:

相同则0,不同则1。

~按位取反运算符:

0变1,1变0

~11111111111111111111111111111100(补码)

补码:

11111111111111111111111111111100

反码:

11111111111111111111111111111011

原码:

10000000000000000000000000000100

-4

10~的特点

^的特点:

一个数据对另一个数据位异或两次,该数本身不变。

System.out.println(a^b^b);

//10

System.out.println(a^b^a);

//20

11>

<

:

左移左边最高位丢弃,右边补齐0

>

右移最高位是0,左边补齐0;

最高为是1,左边补齐1

无符号右移无论最高位是0还是1,左边补齐0

请用最有效率的方式写出计算2乘以8的结果?

2*8

2<

3

//<

把<

左边的数据乘以2的移动次幂

System.out.println(3<

2);

//3*2^2=3*4=12;

//>

把>

左边的数据除以2的移动次幂

System.out.println(24>

//24/2^2=24/4=6

System.out.println(-24>

计算出3的二进制:

(00)00000000000000000000000000001100

的移动:

计算出24的二进制:

11000

原码:

10000000000000000000000000011000

反码:

11111111111111111111111111100111

补码:

11111111111111111111111111101000

11111111111111111111111111101000

11111111111111111111111111111010(00)补码

11111111111111111111111111111010

11111111111111111111111111111001

10000000000000000000000000000110

结果:

-6

计算出24的二进制:

00111111111111111111111111111010(00)

12

请自己实现两个整数变量的交换

注意:

以后讲课的过程中,我没有明确指定数据的类型,默认int类型。

+a+"

b:

//方式1:

使用第三方变量(开发中用的)

/*

intc=a;

a=b;

b=c;

*/

//方式2:

用位异或实现(面试用)

//左边:

a,b,a

//右边:

a^b

a=a^b;

b=a^b;

//a^b^b=a

//a^b^a=b

//方式3:

用变量相加的做法

a=a+

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2