新手小记01

大家都知道,在java中有一个特殊的String类,其中在String类中使用运算符“+”的时候并不是做加运算,而是连接两个字符串。但是有一点是新手很容易忽视的问题,一不小心就容易出错。

下面举一个例子来说明:

 

 

  1. public class testString{
  2.    public static void main(String[] args){
  3.       int x=2;
  4.       int y=3;
  5.      System.out.println(x+y); 
  6.      System.out.println("the sum of x plus y is"+x+y); //注意看这两个输出语句的结果有什么不同?为什么不同?
  7.     }
  8. }

输出结果为:5

            the sum of  x plus y is 23

从这个输出语句中大家是不是看出了什么问题,本来也是想输出the sum of x plus y is 5的,但是最后的输出结果不是我们想要的!为什么?来分析一下:大家应该知道表达式求值是从左到右的循序,既然两个加号中的第一个分隔了一个字符串常量和整数变量:

             System.out.println("the sum of x plus y is"+x+y);

 这个加号被解释成字符串的连接运算符,其结果是产生了中间字符串"the sum of x plus y is 2"。第二个加号分隔了这个中间字符串和整数变量,因此第二个加号也被解释成字符串的连接运算符,最终产生了字符串" the sum of x plus y  is 23"。

为了达到我们开始的目的,通过使用括号可以做到;System.out.println("the sum of x plus y is"+(x+y)); 。       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值