A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高志鹏 中级黑马   /  2012-10-15 10:54  /  1744 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 高志鹏 于 2012-10-15 14:38 编辑

提一个比较基础的问题哈,也困扰我很久。
是不是单引号''中加上字符就是表示取该字母的ASCII值?
而双引号""中加上的不管是字母还是数字都是字符形式的?
能不能解释的详细点。
先谢谢各位啦!

未命名.jpg (50.31 KB, 下载次数: 36)

未命名.jpg

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

8 个回复

倒序浏览
单引号是字符类型
双引号是字符串类型
类型不同啊
回复 使用道具 举报
1、单引号引的数据 是char类型的,双引号引的数据 是String类型的
单引号只能引一个字符,而双引号可以引多个,在这里的单引号完全可以换成双引号

2、之所以能转成ASCII码,是因为你输出的参数有int型的,char的被强制转换成int了,所以输出是ASCII码;

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 赞一个!

查看全部评分

回复 使用道具 举报
都双引号的不说了。。代表固定输出的字符串,  
1:这里+表示运算符了, 因为int型比char型范围大,所以后面个字符会转换成int型 之后输出
2:直接""括起来。表示只要执行就固定输出的字符串。
3:这2个都是”“括起来的。用+字符串连接符连接。跟2实际上一样的。
4:'如果是单个字符会直接输出该字符。这里+号其实表示+运算符了,会把2个字符在字符集中对应的数字相加,得出结果。
   如果想打印多个字符的字符串,又不想用双引号,可以在最前面加上"" 表示后面+都是字符串连接。不是运算符
  //java里面只要遇到""括起来的就表示字符串连接,之后没()括起来的,都用相应的字符串形式,这个字符串形式是通过对象的toString()方法返回的,通过+l字符串连接符连接起来,而基本类型在.java1.5以后都有包装类,会自动的封装成对象,也就是调用这个包装类的toString()方法返回该类型的字符串形式。所以会直接打印,不会再运算。
5:同1,
6:因为只有一个+,第一个是char类型,第二个是字符串类型,当处理到+"6"的时候,虚拟机就知道你要连接字符串,所以就会直接输出字符串,不会做其他运算

说得不是很好,但大概就这意思。你理解就行了。

{:soso_e100:}

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. package com.itcast.practise;

  2. public class Demo4 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 //6是整型,'a'是字符,整型和字符相加,先把字符自动提升为整型再相加,所以结果是整型103
  9.         System.out.println(6+'a');
  10.         //""里就代表字符串,所以输出双引号中的字符串6+a
  11.         System.out.println("6+a");
  12.         //字符串与任意类型相"+"结果为字符串,所以下面结果为6a
  13.         System.out.println("6"+"a");
  14.         //两个char型,先自动提升为整型再相加为整型型,所以字符'6'的ascill码54与'a'的ascill码97相加为151
  15.         System.out.println('6'+'a');
  16.        //6是整型,'a'是字符,整型和字符相加,先把字符自动提升为整型再相加,所以结果是整型103
  17.         System.out.println('a'+6);
  18.       //字符串与任意类型相"+"结果为字符串,所以下面结果为a6
  19.         System.out.println('a'+"6");
  20.         }

  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
双引号里面不管多少内容 都是String 单引号里面是char类型 char可以转换为int 也就是你说的ASCII值
回复 使用道具 举报
各位的回复我都看啦,受益匪浅,谢谢各位啦,我也清楚之间的区别了,嘿嘿!
回复 使用道具 举报
王龙 中级黑马 2012-10-15 18:59:59
8#
单引号是字符类型,双引号是字符串类型
回复 使用道具 举报
王龙 中级黑马 2012-10-15 19:00:05
9#
单引号是字符类型,双引号是字符串类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马