Java 编程思想(第四版)学习笔记(3)操作符

第三章 操作符

一、更简单打印语句

Systme.out.println"";

用更简单的方法打印语句如下:

 Import java.util.*;

Import static net.mindview.util.print.*;

println"";

二、操作符优先级

三、赋值

=”:右边的值赋给左值,右值可以是任何常数,变量或者表达式,但是左值必须明确已命名的变量。不能把任何东西赋值给一个常数。常数不能作为左值。

四、有哪些操作符:

1、算术运算符

(1) X+=4 :  x4并将结果赋值给x

(2)产生随机数,并设置上限,下限为0

Random.nextInt(100)+1 ; random.nextFloat(100)+1 ;

Random.nextLong100)+1 ; random.nextDouble(100)+1 ;

(3)一元加减操作符

X= -a

X= a * -b

一元减号用于转变数据的符号,

一元加号唯一作用是将较小类型的操作数提升为int

(4)自动递增和递减

++a 表示a=a+1

--a  表示a=a-1

a++ a-- 会先生成值,再执行运算。

2、关系运算符

   1) 当对两个对象运用关系运算符进行比较时,比较的是object reference,如:

Integer n1 = new Integer(3);

Integer n2 = new Integer(3);

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

结果为false,因为两个object referencen1n2)值是不同的

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

结果为true

   2) quals()的缺省行为也是拿referenct来比较。不过Java中的class覆写了equals方法,如:

Integer n1 = new Integer(3);

Integer n2 = new Integer(3);

System.out.println(n1.quals(n2));//值为true

  3Equals()默认行为是比较引用

classValue{

Int i

}

Public  class Test{

Value v1= new Value();

Value v2= new Value();

v1.i =v2.i=100;

System.out.println(v1.equals(v2));//值为false

}

Equals()默认行为是比较引用 ,除非在自己的新类中覆盖equals()方法。

3、逻辑运算符

1)    只能将andornot施用于boolean值身上。如果逻辑运算符两边的值存在non-boolean值,将会出错,如:

int test1 = 1;

System.out.println((test && 1<2);//编辑出错,testnon-boolean

2)短路 获得潜在的性能提成

3)直接常量:

  例如:int i=0*2f f表示类型)

        Print(“i:+integer.toBinaryString(i);

十六进制数适用于所有整数数据类型

二进制数没有直接常量表示方法

十六进制数和八进制数计数法,以二进制形式显示结果

4、移位运算符

如果所操作的位移对象是charbyteshort,位移动作发生之前,其值会先被晋升为int,运算结果会是int

5、按位操作符

6、三元操作符和if-else

三元操作符:i<10 ? i*100 : i*10

If-else语句:

If(i<10)

Return i*100

Else

Return i*10

7、字符串操作符(+=

注意:只要比int类型小(charbyteshort)在运算之前,值会自动转换成int

如果把结果赋值给较小的类型,必须使用类型转换(可能出现信息丢失)

Java 没有sizeof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值