args在java中什么意思,switch在java中什么意思

  args在java中什么意思,switch在java中什么意思

  什么是关系运算符“==”比较?下面这句话摘自《Java编程思想》这本书:‘关系运算符生成一个布尔结果,它们计算操作数的值之间的关系’。

  这句话看似简单,但仍需仔细理解。简单来说就是用==来比较数值是否相等。

  下面先看几个例子:

  公共类Main {

  /**

  * @param args

  */

  公共静态void main(String[] args) {

  //TODO自动生成的方法存根

  int n=3;

  int m=3;

  system . out . println(n==m);

  String str=新字符串( hello );

  String str1=新字符串( hello );

  String str2=新字符串( hello );

  system . out . println(str 1==str 2);

  str1=str

  str2=str

  system . out . println(str 1==str 2);

  }

  }输出结果为:

  真实的

  错误的

  Truen==m结果为真,很好理解。变量n和变量m的存储值都是3,必须相等。为什么str1和str2的结果不一样?要理解这一点,我们只需要了解基本数据类型变量和非基本数据类型变量的区别。

  对于这八种基本数据类型的变量,变量是直接存储“值”的,所以用关系运算符==进行比较时,比较的就是“值”本身。注意浮点型和整型都是有符号的,char型是无符号的(char型的范围是0 ~ 2 ^ 16-1)。

  也就是说比如:

  int n=3;

  int m=3;变量N和变量M都直接用值‘3’存储,所以与==比较时结果为真。

  对于不是基本数据类型的变量,在一些书中称为引用类型。例如,上面的str1是一个引用类型变量,引用类型变量存储的不是“值”本身,而是其关联对象在内存中的地址。

  比如下面这行代码:

  字符串str1这句话声明了一个引用类型的变量,这个变量此时不与任何对象相关联。

  而通过new String("hello")来产生一个对象(也称作为类String的一个实例),并将这个对象和str1进行绑定:

  str1=新字符串( hello );然后str1指向一个对象(str1在很多地方也被称为对一个对象的引用)。此时,变量str1存储的是它所指向的对象的内存地址,而不是“值”本身,也就是不直接存储的字符串‘hello’。这里的引用非常类似于C/C中的指针。

  因此,当第一次使用==比较str1和str2时,结果为假。因此,它们指向不同的对象,这意味着它们的实际内存地址是不同的。

  第二次比较,str1和str2都指向str所指向的对象,所以结果无疑是真的。这就是Java中==的具体含义。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: