char 如何赋空的初值

zimingforever 2008-08-31 11:02:26
怎么赋值?
我用 char=''不行

D:\javawork>javac CharInput.java
CharInput.java:7: 空字符字面值
char c='';
^
CharInput.java:7: 未结束的字符字面值
char c='';
^
CharInput.java:8: 需要 ';'
System.out.println("please input a char!");



用char="" 也不行
D:\javawork>javac CharInput.java
CharInput.java:7: 不兼容的类型
找到: java.lang.String
需要: char
char c="";
^
...全文
2248 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
tendzone1 2011-06-01
  • 打赏
  • 举报
回复
char x = '\0';
zimingforever 2008-09-04
  • 打赏
  • 举报
回复
不好意思,今天上课我们也讲了个类似的列子,我回来实验了一下,用CHAR C=' '可以使用,楼上有正解。特此说明下
zimingforever 2008-09-01
  • 打赏
  • 举报
回复
谢谢大家,经验证,char c =''是会报错的,就像我发出的错误提示一样,按照大家给的方案,char c=0 可以,char c='\u0000'是可以的,\u0020也可以,不过我还不知道这两个有什么区别。再简单的直接赋个 任意字符也可以。
可以参考beguile的回复。yirentianran的回复也很有帮助:只有引用类型的才能赋值为空 char是基本数据类型
cwjieNo1 2008-09-01
  • 打赏
  • 举报
回复
char c = '\u0000';
或者
char c = 0;
nzz1985 2008-09-01
  • 打赏
  • 举报
回复
bu xing de
yuweizhi 2008-09-01
  • 打赏
  • 举报
回复
这样是不对的,实际上并没有给c赋值:
char c = '';
应该要给c赋是在的值,像这样:
char c = 'a';
即使你不用也要先给他赋一个再说
liaoyi_ipanel 2008-09-01
  • 打赏
  • 举报
回复
char c = '';
这样写是错误地!单引号里必须有内容!
char c = '\u0020
System.out.println("the char is "+ c);
胡矣 2008-09-01
  • 打赏
  • 举报
回复
只有引用类型的才能赋值为空
char是基本数据类型
KevinGarnett1984 2008-09-01
  • 打赏
  • 举报
回复
'\u0000'和'/u0020'不一样吗?
ooo19841080xinxin 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 beguile 的回复:]
这么写就行了~
char c = '\u0000';
System.out.println("the char is "+ c);
[/Quote]
/u0020才是空格
ooo19841080xinxin 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 newtypebao 的回复:]
传说用单引号引起来是字符
双引号引起来是字符串
char是字符~
[/Quote]
正解
newtypebao 2008-09-01
  • 打赏
  • 举报
回复
传说用单引号引起来是字符
双引号引起来是字符串
char是字符~
bugming1982 2008-09-01
  • 打赏
  • 举报
回复
char c = ' ';
热带鱼2020 2008-09-01
  • 打赏
  • 举报
回复
这么写就行了~
char c = '\u0000';
System.out.println("the char is "+ c);
热带鱼2020 2008-09-01
  • 打赏
  • 举报
回复
不过还真奇怪 我这么赋值 会报错
		char c = \u0000; 
System.out.println("the char is "+ c);


用 char c = 0; 吧
热带鱼2020 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zimingforever 的回复:]
引用 5 楼 beguile 的回复:
char c = ' ';



Java codeimport java.io.*;

public class CharInput
{
public static void main(String []args)
{
char c='';
System.out.println("please input a char!");
try{
c=(char)System.in.read();
}
catch(IOException e){}

System.out.println("you entered is "+ c);
}

[/Quote]
我明白你的意思了 你是想像用空值初始化int一样初始化一个char c]
这个问题我也是第一次遇到 我试了一下 用char c = 0; 可行
用 char c=' '; 会报错~


变量或对象引用的默认值如下:

int : 0
byte : 0
long : 0
shor : 0
float : 0.0
double : 0.0
boolean : false
char : \u0000
object reference : null

http://book.51cto.com/art/200708/54140.htm

-------------
我开始理解成如何给一个char 赋值一个 空格 了。


humcomm 2008-08-31
  • 打赏
  • 举报
回复
试试Character.MIN_VALUE吧
justinavril 2008-08-31
  • 打赏
  • 举报
回复
char c = '';
热带鱼2020 2008-08-31
  • 打赏
  • 举报
回复
char c = ' ';
mayuanfei 2008-08-31
  • 打赏
  • 举报
回复
恩。是可以的
2中方法初始化为空格
char c = '\u0020';
char c = ' ';
加载更多回复(7)

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧