您的位置:首页 > 编程语言 > Java开发

【Java操作符及执行流程控制】

2013-08-13 14:42 309 查看
作符

  主要操作符:+、-、*、/、=、++、--、+=、-=、==、!=、&&、||、!、&、^、~、>=、<=、>、< …..

  几乎所有的操作符只能够操作”基本数据类型”,=、==、!=可以操作所有的数据类型及对象

  String类型支持+、+=连接操作

  优先级问题:

  此处注意:任何数据类型与String类型进行+连接都将会先将其他的数据类型转变为String在连接成String类型

  而此时的+不再会做任何的计算

  demo:

  int i = 1;

  int j = 2;

  System.out.println("result:" + i + j);//result:12

  System.out.println("i == j : " + i == j);// ×

  System.out.println("i == j : " + (i == j));// √

  关于赋值操作符:取右边的值(即右值),把它复制给左边(即左值)。右值可以是任何常数、变量、或者表达式(只要它能够生成一个值就行)。但左值必须是一个明确的、已命名的变量,也就是必须有一个物理空间可以存储等号右边的值

  基本数据类型赋值:直接将一个地方的值复制到另外一个地方

  a = b;//b的内容复制给a,若修改a或b其中的一个值,另外一个值不会受到任何影响

  对象赋值:真正操作的是对象的引用,

  所以将对象赋值给另外一个对象实际上是将一个对象的引用复制到另外一个地方

  它们其实指向的是内存中的同一块内容

  demo:ObjectRefrenceTest.java

  packagejavabase.flowcontrol;

  publicclassObjectRefrenceTest{

  /**

  *对象赋值测试

  */

  publicstaticvoidmain(String[]args){

  Rowidrowid=newRowid();

  rowid.rowid="LIYIHUIZHANYUANYING";

  TiptopERPtopprod=newTiptopERP();

  TiptopERPtoptest=newTiptopERP();

  topprod.seesionId=0;

  topprod.DBType="Oracle";

  topprod.rowid=rowid;

  toptest=topprod;//对象赋值

  System.out.println("Before:");

  System.out.println("topprod:"+topprod.seesionId+topprod.DBType+topprod.rowid.rowid);

  System.out.println("toptest:"+toptest.seesionId+toptest.DBType+toptest.rowid.rowid);

  System.out.println("Afterchangetopprodobject:");

  //toptest.DBType="Informix";

  topprod.DBType="Informix";

  topprod.rowid.rowid="5201314131413141314";//此处改变了topprod.rowid对象的成员变量

  System.out.println("topprod:"+topprod.seesionId+topprod.DBType+topprod.rowid.rowid);

  System.out.println("toptest:"+toptest.seesionId+toptest.DBType+toptest.rowid.rowid);

  System.out.println("-----------------------------");

  TiptopERPerp=newTiptopERP();

  TiptopERPmrpII=newTiptopERP();

  erp.seesionId=2;

  erp.DBType="DB2";

  erp.rowid=rowid;//此处直接将先前的rowid对象直接赋值给erp.rowid

  mrpII.seesionId=erp.seesionId;//对象成员变量int单独赋值

  mrpII.DBType=erp.DBType;//对象成员变量String单独赋值

  mrpII.rowid=erp.rowid;

  System.out.println("Before:");

  System.out.println("erp:"+erp.seesionId+erp.DBType+erp.rowid.rowid);

  System.out.println("mrpII:"+mrpII.seesionId+mrpII.DBType+mrpII.rowid.rowid);

  System.out.println("Afterchangrowid:");

  erp.rowid.rowid="LIYIHUIZHANYUANYING";//此处改变了erp.rowid对象的成员变量

  System.out.println("erp:"+erp.seesionId+erp.DBType+erp.rowid.rowid);

  System.out.println("mrpII:"+mrpII.seesionId+mrpII.DBType+mrpII.rowid.rowid);

  System.out.println("Afterchangeerpobject:");

  erp.seesionId=1;

  erp.DBType="Mysql";

  erp.rowid.rowid="5201314131413141314";//此处改变了erp.rowid对象的成员变量

  System.out.println("erp:"+erp.seesionId+erp.DBType+erp.rowid.rowid);

  System.out.println("mrpII:"+mrpII.seesionId+mrpII.DBType+mrpII.rowid.rowid);

  }

  }

  classTiptopERP{

  intseesionId;//基本数据类型

  StringDBType;//String对象

  Rowidrowid;//一般对象

  }

  classRowid{

  Stringrowid;

  }

  /*输出结果:

  Before:

  topprod:0OracleLIYIHUIZHANYUANYING

  toptest:0OracleLIYIHUIZHANYUANYING

  Afterchangetopprodobject:

  topprod:0Informix5201314131413141314//rowid值改变了

  toptest:0Informix5201314131413141314//rowid值改变了

  -----------------------------

  Before:

  erp:2DB25201314131413141314//rowid值改变了

  mrpII:2DB25201314131413141314//rowid值改变了

  Afterchangrowid:

  erp:2DB2LIYIHUIZHANYUANYING//rowid值改变了

  mrpII:2DB2LIYIHUIZHANYUANYING//rowid值改变了

  Afterchangeerpobject:

  erp:1Mysql5201314131413141314//rowid值改变了

  mrpII:2DB25201314131413141314//rowid值改变了

  */

  demo:PassObject.java

  package javabase.flowcontrol;

  class Letter{

  char c;

  }

  public class PassObject {

  /**

  *对象引用

  */

  static void f(Letter y){

  y.c = 'z';

  }

更多精彩教程请关注:windows xp系统下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: