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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄陂酷歌 中级黑马   /  2014-4-2 21:33  /  1429 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个英文字母占一个字节,但是我们写程序是要定义一个存放字母的数组时总是用char[] ,而char是两个字节,这不是浪费内存空间吗?

3 个回复

倒序浏览
在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。
所以你愿意的话可以这么定义变量:
byte a='a';  这样就是一个字节了

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
占位符   

格式占位符(%)是在语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。

格式字符说明
  
格式占位符(%)可以以下字母配合使用用来表示某些特定的输入输出。 %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号   

格式输入输出示例   

scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔 scanf("%c", &s); //从键盘输入一个字符 scanf("%f", &f); //从键盘输入一个浮点型数据 printf("%d\n",a); //输出一个整数 printf("%f\n",b); //输出一个浮点数 printf("%s\n",c); //输出一个字符 其中\n表示换行

Void类就是一个占位符类,占位符类,也就是说这类不能实例化,只充当一种表示
回复 使用道具 举报
java采用unicode编码,一个char占两个byte,一个英文字母或汉字都是占两个byte,所以用char[]是习惯用法,可能会有中文字符。若字符传中无中文字符或其他语言字符,楼主可以定义byte[] a = {'c', 'a', 'd'};

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马