3.操作符

3.操作符

 

3.1 更简单的打印语句

    import中插入了static关键字,import static net.mindview.util.Print.* ; 打印直接通过:print("Hello,World") ;可以简化代码。

3.2  使用Java操作符

    利用操作符作用于操作数,生成一个新值。

3.3 优先级

    先乘除后加减,还可以用括号明确计算顺序。打印语句中包含“+”操作符,进行字符串连接。

3.4 赋值

    赋值就是说,取右边的值(常数、变量或表达式),把它复制给左边(必须为明确、已命名的变量)。

    基本类型赋值:复制的是内容。

    对象的“赋值”:复制的是引用。如对象 a=b,那么a和b复制了同一个引用(原来只有d指向的那个对象)

 

    3.操作符

        t1和t2两个对象在指向了同一个引用之后,当t1指向的对象被改变,t2也随之改变。

3.操作符

    以上的f()并不只是在作用域内进行参数Letter y的复制,而是将引用传入,而进行了指向对象的修改。

3.5 算数操作符

    “+”,“-”,“*”,“/”,“%(取模:从整数除法中产生余数)”,操作符紧跟等号实现运算、赋值。

    产生随机数:Random rand = new Random(),当创建过程没传递参数时,Java利用当前时间作为随机数生成器的种子,所以每次都会产生不同的随机数,如果传递参数,那么种子既定,每次都会产生相同的随机数。调用Random对象的nextInt(),nextFloat,nextLong(),nextDouble()方法可以产生相应类型的随机数。

    一元加减号和二元加减号相同,x=-a,和x=c-a编译器可以自动判断,一元减号可以改变符号,一元加号只是与一元减号对应并将操作数提升为int。

    3.6 自动递增/自动递减

    他们不仅使用了自己的值,还改变了操作数,前缀加减(++i)是先运算再生成值,后缀加减(i++)是先生成值再运算。

    3.7 关系操作符

    关系操作符(<,>,<=,>=,==,!=)计算操作数间关系,结果为true或false,==和!=使用包括boolean类型的所有类型,其余比较符不适用于boolean类型,true和false无法比较。

    ==和!=可以比较对象和基本类型,比较对象:比较的是引用;比较基本类型:直接比较的是内容。

    equals():默认比较对象引用,当在新类中覆盖equals方法时,可以来比较对象内容(大多数java类库都实现了equals()方法,所以通常情况比较对象内容)。

    3.8 逻辑操作符

    逻辑操作符:与(&&)、或(||)、非(!)只能判断布尔值,对浮点数比较时,极微小的差异也认为“不相等”。

    操作符&&和||两边条件并不是全部运行,if((....)&&(...)&&(...)):前面有一个不符合,后面即不运行。if((....)||(...)||(...)):前面有一个符合,后面也不再浪费时间运行,获得潜在性能提升。

    代码:

public static void main(String args[]){

int i=3;

int j =4;

if((i<5)||(i>j++)){

System.out.println("短路"+j);  //j结果为4

}

 

public static void main(String args[]){

int i=3;

int j =4;

if((i>5)&&(i<j++)){

    System.out.println("i>5");

}

System.out.println(j);  //j结果为4

 

}