Java-输出字符型变量时与""双引号拼接问题

public class Demo {
          public static void main(String[] args) {
                   /**
                    * 字符型变量初始值是字符
                    * 
                    * 结论:
                    * 
                    * 当输出语句中没有拼接“”时,字符型变量被赋值什么就输出什么;
                    * 当“”前有2个及2个以上的字符型变量时,转化为int类型进行计算后输出;
                    * 当“”前有1个或者0个字符型变量时,整个输出语句都转化成字符串类型后输出;
                    */
                   char ch1 = 'A';
                   char ch2 = 'B';
                   // 初始值是什么就输出什么
                   System.out.println(ch1);                       // A
                   // 先转化为int类型,进行计算
                   System.out.println(ch1+ ch2);                 // 131
                   // 先转化为int类型,进行计算
                   System.out.println(ch1+ ch2 + "");            // 131
                   // ""双引号前先转化为int类型,进行计算,""双引号后转化为字符串类型
                   System.out.println(ch1+ ch2 + "" + 'C');      // 131C
                   // ""双引号前后都转化为字符串
                   System.out.println(ch1 + "" + ch2 + 'C');     // ABC
                   // ""双引号前后都转化为字符串
                   System.out.println(ch1 + "" + ch2);           // AB
                   // ""双引号后都转化为字符串
                   System.out.println("" + ch1+ ch2);            // AB
                   /**
                    * 字符型变量初始值是字符
                    *
                    * 结论:
                    *
                    * 当输出语句中没有拼接“”时,字符型变量被赋值什么就输出什么;
                    * 当“”前有2个及2个以上的字符型变量时,转化为int类型进行计算后输出;
                    * 当“”前有1个或者0个字符型变量时,整个输出语句都转化成字符串类型后输出;
                    */
                   ch1 = 65;
                   ch2 = 66;
                   char ch3 = 67;
                   // 初始值什么就输出什么
                   System.out.println(ch1);                     // 65
                   // ""双引号前先转化为int类型,进行计算后输出
                   System.out.println(ch1 + ch2 + "");          // 131
                   // ""双引号前转化为字符类型输出
                   System.out.println( ch1 + "");               // A
                   // ""双引号前先转化为int类型,进行计算,""双引号后转化为字符串类型
                   System.out.println(ch1 + ch2 + "" + ch3);    // 131C
                   // ""双引号前后都转化为字符串
                   System.out.println(ch3 + "" + ch1 + ch2);    // CAB         
				   /**
                    * 拼接对象是字符串时,结果和字符型变量初始值是字符相同的结果
                    * 
                    * 结论:
                    * 
                    * 当输出语句中没有拼接“”时,字符型变量被赋值什么就输出什么;
                    * 当“”前有2个及2个以上的字符型变量时,转化为int类型进行计算后输出;
                    * 当“”前有1个或者0个字符型变量时,整个输出语句都转化成字符串类型后输出;
                    */
                   int a = 1, b = 2 ;
            	   String c = "3";
             	   System.out.println(a + b + c );             // 33
                   System.out.println(c + a + b);              // 312
          }
}
      

你可能感兴趣的:(Java)