Java学习笔记之操作符(上)


1.赋值操作符(=) 

左值=右值;//取右边的值赋给左边的值

右值可以是任意常数、变量或者表达式(只要它能生成一个值就行)

左值必须是一个明确的已命名的变量,也就是说必须有一个物理空间可以存储左边的值。常数是不可以做左值的。

Key:基本类型赋值:是直接将一个地方的内容复制到了另一个地方

           int a=2;
           int b=a;
           b=3;
           System.out.println(a);
           System.out.println(b);

            output:2

                     3

        ‍‍ 引用类型赋值:是将引用从一个地方复制到了另一个地方           

Dog dog1 = new Dog();
dog1.weight = 2;
Dog dog2 = dog1;
System.out.println(dog1.weight);
System.out.println(dog2.weight);
dog2.weight = 3;
System.out.println(dog1.weight);
System.out.println(dog2.weight);

Dog是定义的一个类,weight是其一个成员变量。

output:2 

             2           

             3              

             3

2.算术操作符

         算术操作符:+、-、*、/、%(求模)

Key:  Java支持C和C++的简化符号同时进行运算与赋值操作。运用操作符后紧跟一个=表示,这对于Java中所有的操作符都适用,只要其具有实际意义就行。

         整数做除法结果会自动取整        

int c=14;
int d=3;
System.out.println(c/d);

output:4

一元+、-号:表示正负数

3.比较操作符

        比较操作符:<,<=,>,>=,==,!=

        比较操作符的结果是产生一个boolean的值,即true或者false

‍‍Key:==和!=比较的是两个引用是否相等,即是否引用了同一个对象     

Dog dog1 = new Dog();
Dog dog2 = new Dog();
System.out.println(dog1 == dog2);
dog2 = dog1;
System.out.println(dog1 == dog2);

output:false

           true

         如果想要两个对象的实际内容是否相同,则需要用到equals()方法,不适用于基本类型,默认比较的是引用。

4.逻辑操作符

       逻辑操作符:&&(与)、||(或),!(非)

       逻辑操作符的操作数是boolean的值,不是则出错。

Key:短路:即一旦能够明确无误地确定某个表达式的值,就不在计算表达式余下部分了,因此,整个逻辑表达式靠后的部分可能不会被运算。

       

boolean test1() {
System.out.println("test1 true");
return true;
}
boolean test2() {
System.out.println("test2 false");
return false;
}
boolean test3() {
System.out.println("test3 true");
return true;
}
      boolean result=test1()&&test2()&&test3();

output:test1 true

            test2 false

可以看到由于test()和test2已经可以确定表达式结果为false,所以test3()没有被执行。

5.三元操作符

        Boolean-statement ?value1:value2;

    如果 Boolean-statement为真,则计算value1的值,否则计算value2的值,就相当于if-else语句。建议使用一些简单的语句,不要重复的嵌套,否则令人很难理解。



你可能感兴趣的:(比较,逻辑,算术,三元操作符,Java运算符(上)之赋值)