zoukankan      html  css  js  c++  java
  • java基础之操作符

    一:赋值

      1.对基本数据类型的赋值,int a=b;   //把b的值复制给a,如果修改了a的值,b 的值不会受到影响。

      2.对引用类型的赋值,

    public class Text {
    		public static void main(String[] args) {
    			Person a=new Person();
    			Person b=a;
    			//System.out.println(b.age);
    			b.age=14;
    			System.out.println(a.age);
    		}
    }
    class Person
    {
    	int age=15;
    }
    输出结果:14

     解: 引用a指向一个堆空间,接着b也指向这个空间,ab共用一个堆空间,当b.age=14改变时候,a也跟着改变。(String虽然也是引用,但是)

    二:自增自减

    • 前缀递增(递减):++i(--i) :先执行递增(递减)操作,再执行语句。
    • 后缀递增(递减):i++(i--) :先执行语句,在执行递增(递减)操作。
                int i=1;
    			System.out.println(i++);
    			i=2;
    			System.out.println(++i);

    结果:1
       3

    三:关系操作符

     

    • 组成:大于(>) 小于(<) 小于等于(<=) 大于等于(>=) 等于(==)  不等于(!=)
    • 结果:生成的是boolean类型的结果。
    • 等于(==)和不等于(!=)适用于所有的基本类型,而其他比较符不适用于boolean类型,比如true>false 没有实际意义。
    • 等于(==)和不等于(!=)比较的是对象的引用
    • 我们知道==和!=是用于比较对象的引用,但是如果我们想直接比较对象的值呢?这里可以用equlas()方法来比较,但是这个方法不适用与基本数据类型,基本数据类型用==和!=就可以比较。   注意:equals()默认的是比较引用,但是大多数类都覆盖了equals()以便比较对象的内容,如果是我们创建类中,equals()就不能比较对象的内容因为我们没有重新定义并覆盖这个方法。
    public class Text {
    		public static void main(String[] args) {
    		String a=new String("abc");
    		String b=new String("abc");
    		System.out.println(a.equals(b));   //true a的类String覆盖了equlas()以便比较对象的内容,所以ab相等
    		
    		Person a1=new Person();
    		Person b1=new Person();
    		System.out.println(a1.equals(b1));  //false  自定义类Person中没有覆盖equals(),故还是原来的equals()只能比较地址。
    		}	
    }
    class Person
    {
    	int i=15;
    }
    结果: true
        false

    四、逻辑操作符

    1.组成

      &&(短路与)   ||(短路或)  (非) &  |

    2.应用范围

      与或非只可适用于布尔值,!flag  中flas只能是true或者false,int a=true; 这种表达方式是错误的

  • 相关阅读:
    Oracle Core 学习笔记二 Transactions 和 Consistency 说明
    Oracle AUTO_SPACE_ADVISOR_JOB 说明
    Windows 下 ftp 上传文件 脚本
    Oracle 11g 中 Direct path reads 特性 说明
    Linux 使用 wget 下载 Oracle 软件说明
    Oracle 10g read by other session 等待 说明
    Oracle 11g RAC INS06006 Passwordless SSH connectivity not set up between the following node(s) 解决方法
    SecureCRT 工具 上传下载数据 与 ASCII、Xmodem、Ymodem 、Zmodem 说明
    Oracle RAC root.sh 报错 Timed out waiting for the CRS stack to start 解决方法
    Oracle RESETLOGS 和 NORESETLOGS 区别说明
  • 原文地址:https://www.cnblogs.com/shyroke/p/6279978.html
Copyright © 2011-2022 走看看