Enviar búsqueda
Cargar
3, operators
•
0 recomendaciones
•
242 vistas
ted-xu
Seguir
About java operators
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 20
Recomendados
Js is js(程劭非) (1)
Js is js(程劭非) (1)
looneyren
SCJP ch04
SCJP ch04
r82093403
Python程式設計 - 分支作業
Python程式設計 - 分支作業
吳錫修 (ShyiShiou Wu)
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Justin Lin
Js 函数 function学习笔记
Js 函数 function学习笔记
keke302
基礎語法
基礎語法
Justin Lin
Python程式設計 - 迴圈作業
Python程式設計 - 迴圈作業
吳錫修 (ShyiShiou Wu)
Python程式設計 - 串列資料應用
Python程式設計 - 串列資料應用
吳錫修 (ShyiShiou Wu)
Recomendados
Js is js(程劭非) (1)
Js is js(程劭非) (1)
looneyren
SCJP ch04
SCJP ch04
r82093403
Python程式設計 - 分支作業
Python程式設計 - 分支作業
吳錫修 (ShyiShiou Wu)
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Justin Lin
Js 函数 function学习笔记
Js 函数 function学习笔记
keke302
基礎語法
基礎語法
Justin Lin
Python程式設計 - 迴圈作業
Python程式設計 - 迴圈作業
吳錫修 (ShyiShiou Wu)
Python程式設計 - 串列資料應用
Python程式設計 - 串列資料應用
吳錫修 (ShyiShiou Wu)
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
吳錫修 (ShyiShiou Wu)
Python變數與資料運算
Python變數與資料運算
吳錫修 (ShyiShiou Wu)
Java Script 引擎技术
Java Script 引擎技术
bigqiang zou
Python 迴圈作業
Python 迴圈作業
吳錫修 (ShyiShiou Wu)
Ch 8
Ch 8
BMG2011
Python系列2
Python系列2
數真 蔡
Java 8 與 retrolambda
Java 8 與 retrolambda
Justin Lin
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
1138177709
Scala+RDD
Scala+RDD
Yuanhang Wang
第4章函数
第4章函数
summerfeng
1 C入門教學
1 C入門教學
Sita Liu
Scala再探
Scala再探
afeihehe
Chap 07
Chap 07
文 凱
Hi Haskell
Hi Haskell
Jifeng Deng
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
summerfeng
Python分支作業
Python分支作業
吳錫修 (ShyiShiou Wu)
Intro to C++ Basic
Intro to C++ Basic
Shih Chi Lin
Python学习笔记
Python学习笔记
Lingfei Kong
Swift基礎
Swift基礎
Wing Yiu Ng
Isla workshop 2015-03-08
Isla workshop 2015-03-08
pictonio
9, interfaces
9, interfaces
ted-xu
Agribusiness courses and ag training victoria
Agribusiness courses and ag training victoria
Conor Hall
Más contenido relacionado
La actualidad más candente
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
吳錫修 (ShyiShiou Wu)
Python變數與資料運算
Python變數與資料運算
吳錫修 (ShyiShiou Wu)
Java Script 引擎技术
Java Script 引擎技术
bigqiang zou
Python 迴圈作業
Python 迴圈作業
吳錫修 (ShyiShiou Wu)
Ch 8
Ch 8
BMG2011
Python系列2
Python系列2
數真 蔡
Java 8 與 retrolambda
Java 8 與 retrolambda
Justin Lin
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
1138177709
Scala+RDD
Scala+RDD
Yuanhang Wang
第4章函数
第4章函数
summerfeng
1 C入門教學
1 C入門教學
Sita Liu
Scala再探
Scala再探
afeihehe
Chap 07
Chap 07
文 凱
Hi Haskell
Hi Haskell
Jifeng Deng
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
summerfeng
Python分支作業
Python分支作業
吳錫修 (ShyiShiou Wu)
Intro to C++ Basic
Intro to C++ Basic
Shih Chi Lin
Python学习笔记
Python学习笔记
Lingfei Kong
Swift基礎
Swift基礎
Wing Yiu Ng
La actualidad más candente
(19)
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
Python變數與資料運算
Python變數與資料運算
Java Script 引擎技术
Java Script 引擎技术
Python 迴圈作業
Python 迴圈作業
Ch 8
Ch 8
Python系列2
Python系列2
Java 8 與 retrolambda
Java 8 與 retrolambda
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
Scala+RDD
Scala+RDD
第4章函数
第4章函数
1 C入門教學
1 C入門教學
Scala再探
Scala再探
Chap 07
Chap 07
Hi Haskell
Hi Haskell
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
Python分支作業
Python分支作業
Intro to C++ Basic
Intro to C++ Basic
Python学习笔记
Python学习笔记
Swift基礎
Swift基礎
Destacado
Isla workshop 2015-03-08
Isla workshop 2015-03-08
pictonio
9, interfaces
9, interfaces
ted-xu
Agribusiness courses and ag training victoria
Agribusiness courses and ag training victoria
Conor Hall
Redes sociales
Redes sociales
Andrea Ramagli Espósito
презентация электрод
презентация электрод
sergey_smailov
Lynette Community Of Learners
Lynette Community Of Learners
Kevin Hodgson
Presentation1
Presentation1
Noer Rhiannah Aghuztins
визитница 0
визитница 0
Алексей Дмитриев
гиа 9 - для школьного сайта
гиа 9 - для школьного сайта
Аня Иванова
гиа 9 - график проведения
гиа 9 - график проведения
Аня Иванова
Sobre el concepto 'Posverdad'
Sobre el concepto 'Posverdad'
Antoni
Using Social Media in Business - iWIN Forum - Scot McKee
Using Social Media in Business - iWIN Forum - Scot McKee
BirddogB2B
Effective communication skill IN NURSING
Effective communication skill IN NURSING
Ambily Ulahannan
Nursing Communication
Nursing Communication
Ruby Rose Faelden
Prf box
Prf box
Ahaf Surgico
Destacado
(15)
Isla workshop 2015-03-08
Isla workshop 2015-03-08
9, interfaces
9, interfaces
Agribusiness courses and ag training victoria
Agribusiness courses and ag training victoria
Redes sociales
Redes sociales
презентация электрод
презентация электрод
Lynette Community Of Learners
Lynette Community Of Learners
Presentation1
Presentation1
визитница 0
визитница 0
гиа 9 - для школьного сайта
гиа 9 - для школьного сайта
гиа 9 - график проведения
гиа 9 - график проведения
Sobre el concepto 'Posverdad'
Sobre el concepto 'Posverdad'
Using Social Media in Business - iWIN Forum - Scot McKee
Using Social Media in Business - iWIN Forum - Scot McKee
Effective communication skill IN NURSING
Effective communication skill IN NURSING
Nursing Communication
Nursing Communication
Prf box
Prf box
Similar a 3, operators
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
1138177709
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Justin Lin
Ecmascript
Ecmascript
jay li
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Justin Lin
2, object oriented programming
2, object oriented programming
ted-xu
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架
ZhenChen57
Javascript 培训第二节 基础上
Javascript 培训第二节 基础上
liziqi7
Fp
Fp
fangjiafu
5, initialization & cleanup
5, initialization & cleanup
ted-xu
Bash入门基础篇
Bash入门基础篇
Zhiyao Pan
2, bash synax simplified
2, bash synax simplified
ted-xu
Java面试题集
Java面试题集
yiditushe
4, controlling execution
4, controlling execution
ted-xu
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
Erlang培训
Erlang培训
liu qiang
Polarity analysis for sentiment classification
Polarity analysis for sentiment classification
Shiang-Yun Yang
C++11综述/新特性描述/Overview of C++11 New Features
C++11综述/新特性描述/Overview of C++11 New Features
Peien Luo
6, awk
6, awk
ted-xu
Javascript 培训第四节 深入了解
Javascript 培训第四节 深入了解
liziqi7
SCJP ch17
SCJP ch17
r82093403
Similar a 3, operators
(20)
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Ecmascript
Ecmascript
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
2, object oriented programming
2, object oriented programming
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架
Javascript 培训第二节 基础上
Javascript 培训第二节 基础上
Fp
Fp
5, initialization & cleanup
5, initialization & cleanup
Bash入门基础篇
Bash入门基础篇
2, bash synax simplified
2, bash synax simplified
Java面试题集
Java面试题集
4, controlling execution
4, controlling execution
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
Erlang培训
Erlang培训
Polarity analysis for sentiment classification
Polarity analysis for sentiment classification
C++11综述/新特性描述/Overview of C++11 New Features
C++11综述/新特性描述/Overview of C++11 New Features
6, awk
6, awk
Javascript 培训第四节 深入了解
Javascript 培训第四节 深入了解
SCJP ch17
SCJP ch17
Más de ted-xu
11, OCP - awr & alert system
11, OCP - awr & alert system
ted-xu
10, OCP - flashback
10, OCP - flashback
ted-xu
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
ted-xu
8, OCP - backup with rman
8, OCP - backup with rman
ted-xu
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
ted-xu
6, OCP - oracle security
6, OCP - oracle security
ted-xu
5, OCP - oracle storage
5, OCP - oracle storage
ted-xu
4, OCP - oracle networking
4, OCP - oracle networking
ted-xu
3, OCP - instance management
3, OCP - instance management
ted-xu
2, OCP - installing and creating a database
2, OCP - installing and creating a database
ted-xu
1, OCP - architecture intro
1, OCP - architecture intro
ted-xu
12, OCP - performance tuning
12, OCP - performance tuning
ted-xu
7, business event system
7, business event system
ted-xu
6, workflow miscellaneous
6, workflow miscellaneous
ted-xu
5, workflow function activity
5, workflow function activity
ted-xu
4, workflow tables & api
4, workflow tables & api
ted-xu
3, workflow in ebs
3, workflow in ebs
ted-xu
2, a simple workflow
2, a simple workflow
ted-xu
1, workflow intro
1, workflow intro
ted-xu
8, bes tables & api
8, bes tables & api
ted-xu
Más de ted-xu
(20)
11, OCP - awr & alert system
11, OCP - awr & alert system
10, OCP - flashback
10, OCP - flashback
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
8, OCP - backup with rman
8, OCP - backup with rman
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
6, OCP - oracle security
6, OCP - oracle security
5, OCP - oracle storage
5, OCP - oracle storage
4, OCP - oracle networking
4, OCP - oracle networking
3, OCP - instance management
3, OCP - instance management
2, OCP - installing and creating a database
2, OCP - installing and creating a database
1, OCP - architecture intro
1, OCP - architecture intro
12, OCP - performance tuning
12, OCP - performance tuning
7, business event system
7, business event system
6, workflow miscellaneous
6, workflow miscellaneous
5, workflow function activity
5, workflow function activity
4, workflow tables & api
4, workflow tables & api
3, workflow in ebs
3, workflow in ebs
2, a simple workflow
2, a simple workflow
1, workflow intro
1, workflow intro
8, bes tables & api
8, bes tables & api
3, operators
1.
操作符
2.
Agenda •
基本介绍 • 优先级 • 赋值操作符= • 算数运算符 • 一元运算符 • 自增与自减 • 关系运算符 • 逻辑操作符 • 位操作符 • 三元if-else操作符 • 字符串合并 • 强制类型转换 • 溢出
3.
基本介绍 • Java发展自c/c++, 因此它们的操作符基本上
是相同的, Java操作符在c/c++的基础上作了 一些简化和改进. 如果你熟悉c/c++的操作符, 那么可以略过此章节; • 基本的java操作符有: 加(+), 减(-), 乘(*), 除(/), =(赋值), ==(等于), !=(不等于); 这些操作符基本 上只用于原语类型, 其中=/==/!=可以用于所有 的对象, +/+=也可以用于字符串.
4.
优先级 • 遵循如下原则: 有括号先算括号,
乘除优先 于加减; • 示例: demo/Demo1.java int x = 1, y = 2, z = 3; int a = x + y - 2/2 + z; // (1) int b = x + (y - 2)/(2 + z); // (2) System.out.println("a = " + a + " b = " + b);
5.
赋值操作符= • 赋值操作符是将某个值赋给某个指定的变量;
赋值操作中左值(lvalue)是指等号左边的变量, 右值(rvalue)是指等号右边的常量(4, “String”)/ 表达式(a+1)/变量; • 原语类型的赋值比较直观, 比如 int a = 4; 整型 变量a的值为4; • 引用赋值: 将指向某个对象的引用赋值给另一 个变量时, 该变量会指向同一个对象; eg, c和d 是两个非原语类型的对象: c=d; // c和d将会指向同一个对象 • 示例: demo/Demo2.java
6.
赋值操作符= • 在调用方法的参数传递中, 也会发生引用的
赋值, 效果与上述的一致. • 示例: demo/Demo3.java
7.
算数运算符 • 基本算数运算符: +,
-, *, /, %; • 组合基本运算符和赋值: +=, -=, *=, /=, %=, 先进行基本运算然后将结果 赋给左值; eg: i+=3 等价于i=i+3 • 示例: demo/Demo4.java
8.
一元运算符 • 一元运算符(+/-) 与
加减运算符是一样的, 但 它们的操作数只有一个, 示例: x=-a; x=a * -b; x = a * (-b);
9.
自增与自减 • 自增运算符(++)对变量加1, 比如i++等价于i=i+1;
自减运算符(--)对变量减1, 比如i--等价于i=i-1; • 自增/减运算符可以使用在变量的前面或者后 面, 如果位于变量的前面则先返回变量的值, 然 后自增/减; 如果位于后面则先自增/减, 然后返 回变量值, 示例: int i = 5; int j = i++; // j == 5, i == 6 int k = ++i; // k == 7, i == 7 • 示例: demo/Demo5.java
10.
关系运算符 • 关系运算符返回布尔值(boolean), 关系运算符
有<(小于), >(大于), <=(小于或等于), >=(大于或 等于), ==(等于), !=(不等于); • 示例: if(i == 4) { //如果i等于4, 则执行相应的动作 …… } else if (i > 4) { //如果i大于4, 则执行相应的动作 …… } else { …… }
11.
关系运算符
判断对象是否相等 • 关系运算符==用于判断两个对象是否指向同一 个对象, 如果指向同一个对象则返回true, 否则 返回false; • 示例: Integer i1 = new Integer(4); Integer i2 = new Integer(4); i1==i2; // 返回false, 因为i1和i2指向两个不同的对象. Integer i3 = i1; i1==i3; // 返回true, i1和i3指向同一个对象 • 通过覆盖Object类中的equals方法来实现对象 的比较, 将会在以后介绍.
12.
逻辑操作符 • 逻辑操作符&&(与), ||(或),
!(非) 返回一个布尔值 (boolean); 逻辑与: 表达式1&&表达式2, 当两个表达式同时为true, 结果为true否则为 false; 逻辑或: 表达式1&&表达式2, 当两个表达式有至少一个为true, 结果为true 否则为false; 逻辑非: !表达式, 表达式返回true结果为false否则为true; • 示例: if(i==1 && j==2) { // 逻辑与 ……. } if(k!=3) { // 逻辑非 ……. }
13.
逻辑操作符
短路运算 • 对于逻辑与&&操作, 从左到右依次计算表达 式, 遇到返回为false则停止计算并返回false; 如果所有的表达式都返回true则返回true; • 对于逻辑或||操作, 从左到右依次计算表达 式, 遇到返回为true则停止计算并返回true; 如果所有的表达式都返回false则返回false; • 这种短路设计的好处是避免不必要的运算, 对于性能有好处; • 示例: demo/Demo6.java
14.
位操作符 • 位与(&), 如果参与运算均为1则返回1,
否则返回0; • 位或(|), 如果参与运算的至少有一个为1则返回1, 否 则返回0; • 示例: int i = 100; int j = 120; print(Integer.toBinaryString(i)); // 1100100 print(Integer.toBinaryString(j)); // 1111000 print(Integer.toBinaryString(i&j)); // 1100000 print(Integer.toBinaryString(i|j)); // 1111100 • 示例: demo/Demo7.java
15.
位操作符 • 左移(<<), 将比特位向左移指定的位数;
比如: i<<5 表示i 的比特位向左移动5位, 并返回位移操作之后的数字, i的 值不变; • 右移(>>),将比特位向右移指定的位数, 空出来的比特位 如下处理: 1), 如果该数值为正数则补0; 2), 如果该数值为负数则补1; • 无符号右移(>>>), 与>>操作的不同之处在无符号右移始 终在高位补零; • 取反(~), 对某个数进行取反操作, 如果比特位为0则置为1, 否则置为0; 取反是一个一元操作符. • 示例: demo/Demo8.java
16.
三元if-else操作符 • java中唯一一个三元操作符, 用于条件判断然后返回一个结果,
格 式:expression?val1:val2; expression需要返回true或者false, 如果true则 返回val1, 否则返回val2; • 该表达式等价于if/else条件判断, 示例: return i<100?i*100:i*10; 等价于: if(i<100) { return i*100; } else { return i*10; } • 示例: demo/Demo9.java
17.
字符串合并
操作符 • 字符串合并操作符: +/+=, 与加法运算相同; 示 例: “hello” + “world” 返回hellworld; • 在字符串合并操作中如果操作数不是一个字符 串类型, 那么会将该操作数转换为字符串, 分两 种情况: 1, 原语类型, 直接转换为字符串. 比如: “string” + 1 返回string1 2, 对象类型, 则调用该对象上的toString方法转换 为字符串 • 示例: demo/Demo10.java
18.
强制类型转换 • 对于整数类型(int, long),
由字节数较少的转换为字节数较多的, 无需强制类型转换; 反过来则需要强制类型转换, 示例: int i = 200; long lng = i; // 无需转换 long lng = (long)i; int j = (int)lng; // 必须强制类型转换 • 在浮点型(double, float)与整型之间进行转换时, 会将小数点之后 的部分给截掉, 示例: int i = (int)2.5f; // i = 2 • 在强制类型转换中, 如果超出了目标类型的范围则会出现字节被 截断的情况, 比如: long lng = 2147483648L; // 超出了int类型的范围 int i = (int)lng; // i= -2147483648 • 对象类型转换通常发生在将一个对象转换为该对象对应的具体 类型, eg: Object obj = new Integer(4); Integer itg = (Integer)obj;
19.
溢出 • 对于数字类型(int, long,
double, float等) 都有它 们对应的范围, 比如int是-2147483648 – 2147483647, 如果在进行算术运算时结果超出 了该范围则会出现溢出. • 示例: int big = Integer.MAX_VALUE; System.out.println("big = " + big); int bigger = big * 4; System.out.println("bigger = " + bigger); // -4 • 当出现溢出时, java不会提示仸何错误, 因此必 须小心在程序中避免这种情况发生.
20.
END