(搞自:Java经典入门教程)

http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyLwuWChpWiYC3hQhzpws5fV2fuH-k1zp4iXh6AFVkpibvtDfLpBvwp1tC

六:运算符

1:算术运算
算术运算是指:+、-、*、/ 等基本运算
需要注意的是:
%是求mod运算;
整数的除法要小心:
5/2 = 2 // 不是 2.5

2:比较运算
比较运算是指:>、<、>=、<=、==、!= 等类似运算
需要注意的是:
字符可以比较大小;(用它们的ascii 码,化为整数)
小心浮点数的相等比较
instanceof也是一个比较运算,用来判断一个对象是否属于某个类。(以后介绍)
==运算中,对于基本类型是比较的“内容”,而对于引用类型,比较的是地址。(小心)

3:逻辑运算
运算符&& (定义为“与”)和||(定义为“或”)执行布尔逻辑表达式。请看下面的例子:
MyDate d = null;
if ((d != null) && (d.day() > 31)) {
// 利用d 执行些什么
PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215

形成if ()语句自变量的布尔表达式是合法且安全的。这是因为当第一个子表达式是假
时,第二个子表达式被跳过,而且当第一个子表达式是假时,整个表达式将总是假,所以不
必考虑第二个子表达式的值。类似的,如果使用||运算符,而且第一个表达式返回真, 则
第二个表达式不必求值,因为整个表达式已经被认为是真。
4:++、---运算
++运算相当于:运算的变量加1,如:x++ 等同于x=x+1;
--运算恰好相反,相当于运算的变量减1
注意:x++ 和 ++x 并不是一回事情。x++是先使用,然后再加;++x是先加然后再使用。
5:=赋值运算
x=5 相当于把5 这个值赋给变量x

6:位运算
位逻辑运算符(Bitwise Logical Operations)。
算术逻辑运算符&(与),|(或),~(补码Complement),^(异或);
位运算示例

7:移位运算
Java 编程语言提供了两种右移位运算符和一种左移运算符,右移一位( >> )相对于
除以2:左移( <<)相对于乘以2。
(1):运算符>>进行算术或符号右移位。移位的结果是第一个操作数被2的幂来除,而
指数的值是由第二个数给出的。例如:
128 >> 1 gives 128/21 = 64
256 >> 4 gives 256/2
4
= 16
-256 >> 4 gives -256/2
4
= -16
(2):逻辑或非符号右移位运算符>>>主要作用于位图,而不是一个值的算术意义;它
总是将零置于符号位上。例如:
1010 ... >> 2 gives 111010 ...
1010 ... >>> 2 gives 001010 ...
在移位的过程中, >>运算符使符号位被拷贝。
PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215
(3):运算符<<执行一个左移位。移位的结果是:第一个操作数乘以2 的幂,指数的值
是由第二个数给出的。例如:
128 << 1 gives 128*21 = 256
<<2 gives 16*22 =64
(4):负数等于正数取反加一。
示例:


注意:
(1):移位运算符将它们右侧的操作数模32简化为int类型左侧操作数, 模64简化为long
类型右侧操作数。因而, 任何int x, x >>> 32 都会导致不变的x 值, 而不是你可能预计的
零。
(2):值得称赞的重要一点是: >>>运算符仅被允许用在整数类型, 并且仅对int 和long
值有效。如果用在short或byte值上, 则在应用>>>之前, 该值将通过带符号的向上类型转
换被升级为一个int。有鉴于此,无符号移位通常已成为符号移位。

8:用加号(+)进行串链接
运算符 + 能够进行String 对象的链接并生成一个新的String:
String salutation = "Dr. ";
String name = "Jack " + "Arthur";
String title = salutation + name;
最后一行的结果是:
Dr. Jack Arthur
如果+运算符中有一个自变量为String 对象,则其它自变量将被转换成String。所有
对象都可被自动转换成String,尽管这样做的结果可能是意义含糊的。不是串的对象是通
过使用toString() 成员方法而转换成串的等价物的。

9:三目运算?:
三目运算符?:表达的是:判断问号前面的条件表达式是否为真,如果为真,返回冒号前
面的值,否则返回冒号后面的值。
例如:
PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215
public class Test {
public static void main(String[] args) {
int i = (5>3) ? 6 : 7;
System.out.println("the i="+i);
}
}
运行结果为:the i=6
其实三目运算符的基本功能相当于if-else(马上就要学到了),使用三目运算符是因为
它的表达比相同功能的if-else更简洁。上面的例子改成用if-else表达如下:
public class Test {
public static void main(String[] args) {
int i = 0;
if (5 > 3) {
i = 6;
} else {
i = 7;
}
System.out.println("the i=" + i);
}
}
运行结果为:the i=6

JAVA 基本运算符(摘)的更多相关文章

  1. java移位运算符具体解释

    java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的全部位都左移 ...

  2. JAVA的运算符和条件结构

    一.JAVA的运算符. 1.赋值运算符 赋值就是把一个变量的值赋给另一个变量. 语法: 变量名=表达式     例如  n = m + 5 2.算术运算符      算术运算符是数学中常用的加.减.乘 ...

  3. java位移运算符3 转

    https://www.cnblogs.com/winsker/p/6728672.html 移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数. 理解java移位运算符 运算 ...

  4. java位移运算符 转

    https://blog.csdn.net/qq_36134429/article/details/78286416#commentsedit java移位运算符不外乎就这三种:<<(左移 ...

  5. Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.<.>=.<= # 逻辑运 ...

  6. 【java】运算符

    Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=   ...

  7. java 增量运算符

    //java 增量运算符 public class Test16{ public static void main(String args[]) { int x1=10; x1+=3; //x1=x1 ...

  8. java三元运算符详解

    最近在带领实习生中遇到很多新手问与三元运算符有关的java题目,多数为代码结果题,少数为应用题.鉴于很多资料上对于java三元运算的讲解过于简单,网上的资料与题目也不是很完善,对于结果答案分析不一,故 ...

  9. 利用Java位运算符,完成Unsigned转换(无符号)

    方案二:利用Java位运算符,完成Unsigned转换. 正常情况下,Java提供的数据类型是有符号signed类型的,可以通过位运算的方式得到它们相对应的无符号值,参见几个方法中的代码: publi ...

  10. java移位运算符详解

    http://soft.chinabyte.com/database/195/11553695.shtml java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和 ...

随机推荐

  1. CnBlogs自定义博客样式

    弄了半个晚上的时间,总算马马虎虎搞好了博客的样式. 整个博客是蓝色的基调,比较激情,我喜欢. 比较郁闷的是,rightmenu 和 main都是position:absolute 布局的.要添加一个f ...

  2. Java中的GOF23(23中设计模式)--------- 单例模式(Singleton)

    Java中的GOF23(23中设计模式)--------- 单例模式(Singleton) 在Java这这门语言里面,它的优点在于它本身的可移植性上面,而要做到可移植的话,本身就需要一个中介作为翻译工 ...

  3. RDBMS架构的开源DW/DSS引擎列表

    因为笔者早期以oracle为主要RDBMS进行设计和优化,所以几乎即使单表超过5000w,多张超过300万以上的表做任意复杂的统计和风控计算都没出过性能问题.如今全面mysql为主线或者说open s ...

  4. hibernate(四)__由表逆向创建Domain对象和对象关系映射文件

    之前我们是手写Domain对象和对象关系映射文件->然后生成数据库中的Table. 现在我们反过来先在数据库中建好Table->然后用工具生成Domain对象和对象关系映射文件. 步骤: ...

  5. jQuery cxSlide 焦点图轮换

    cxSlide 是一个简单易用的焦点图展示插件,支持水平.纵向切换,透明过渡切换. 已支持 CSS 动画过渡切换.通过 CSS 动画切换,可以展示更多效果. 版本: jQuery v1.7+ jQue ...

  6. Electron - 创建跨平台的桌面客户的应用程序

    Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序.它是基于io.js 和 Chromium 开源项目,并用于在 ...

  7. CSS基础知识之文本属性二三事

    line-height 可以给某个元素指定一个不带单位的缩放因子,这样它的后代元素就会继承这个缩放因子,再根据自身的字号大小来计算自己的行高(line-height)值, body { font-si ...

  8. Sharepoint 文档库根据文件夹层级展示

    类似于资源管理器,效果如下 步骤 打开Sharepoint Desinger,编辑Allitems.aspx页面 在PlaceHolderMain里面插入代码,黄色部分需要替换 <table s ...

  9. Autodesk Cloud Accelerator Program 开始报名

    如果你没有注意到这个消息,那你就会错过一个前往旧金山和硅谷工程师一起工作数周的机会. 摘要一下: 时间: 1月10前提交你的提案,3月飞往旧金山 地点: 旧金山. 包住宿哦~ 不过,既然要去美国,既然 ...

  10. GDataXMLNode应用

    一.GDataXMLNode的安装配置过程 1.将GDataXMLNode文件加入至工程中 2.向Frameworks文件中添加libxml2.dylib库 3.在Croups & Files ...