频道栏目
首页 > 资讯 > Java > 正文

Java运算符

17-07-19        来源:[db:作者]  
收藏   我要投稿

Java运算符。

1.算术运算符

表格中的例子中,变量a的值为5,变量b的值为3,变量i的值为1:

- 前缀自增自减法(++i,--i): 先进行自增或者自减运算,再进行表达式运算。

- 后缀自增自减法(i++,i--): 先进行表达式运算,再进行自增或者自减运算。

2、位运算符

(1)位运算时先转换为二进制,再按位运算。

(2)表格中的例子中,变量a的值为60,变量b的值为13:

注:(1)左移运算符:

丢弃最高位,0补低位

如果运算数小于int这先转换为int后运算

左移的位数是对数据类型的位数取模(例如:对int左移32位相当于左移了

32%32=0位)

在数字没有溢出的情况下,左移1位相当于乘2

(2)右移运算符:

丢弃最低位,高位符号位扩展(保留符号位sign extension)

如果运算数小于int这先转换为int后运算

右移的位数是对数据类型的位数取模(例如:对int左移32位相当于右移了

32%32=0位)

在数字没有溢出的情况下,右移1位相当于除2

3、逻辑运算符

(1)逻辑运算符时通过运算符将操作数或等式进行逻辑判断的语句。

(2)表格中的例子中,假设布尔变量a为真,变量b为假:

4、赋值运算符

(1)将右边的操作数或运算结果赋值给左边的操作数。

5、关系运算符

(1)表格中的例子中,假设变量a为3,变量b为5:

(2)== 和 !=适用于所有的基本数据类型,其他关系运算符不适用于boolean,因为boolean的值只有true和false,比较没有任何意义。

(3)== 和!=也适用于所有对象,可以比较对象的引用是否相同。

(4)引用:Java中一切都是对象,但操作的标识符实际是对象的一个引用

例如:《1》String s;

创建的是引用,不是对象。创建引用后,一种安全的做法是对其进行初始化。

《2》 String s = “abc”;

String s = new String("abc");

通常采用new操作符生成一个新对象,然后将引用于该对象相关联。

《3》

public class Test {

public static void main(String args[]) {

Integer n1 = new Integer(2);

Integer n2 = new Integer(2);

System.out.println(n1 == n2);

System.out.println(n1 != n2);

}

}

结果是: false

true

原因:尽管两个对象的内容相同,但是它们的引用却不相同,==和!=比较的是对象的引用。

(4)比较对象的内容是否相同,用 equals(),但它不适用于基本类型

public class Test {

public static void main(String args[]) {

Integer n1 = new Integer(2);

Integer n2 = new Integer(2);

System.out.println(n1.equals(n2));

}

}

输出结果:

true

但是当自己创建了一个类时,情况又会相反,因为equals()默认比较引用,除非在自己的类中覆盖equal()方法

6、条件运算符

(1)条件运算符?: 是唯一一个三目运算符。

(2)语法形式:布尔表达式?表达式1 : 表达式2

运算过程:

如果布尔表达式的值为true ,则返回 表达式1 的值,否则返回 表达式2 的值。

7、instanceof运算符

(1)用于操作对象实例,检查该对象是否是一个特定类型(类类型或借口类型)

(2)使用格式:

( Object reference variable ) instanceof (class/interface type)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对

象,那么结果为真。

String name = "James";

boolean result = name instanceof String;

// 由于 name 是 String 类型,所以返回真


相关TAG标签
上一篇:java数据类型
下一篇:java根据月份,输出对应的季节,并输出至少描述该季节的成语和活动
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站