public class Test2 {
char c;
void ptintTest2(){
System.out.println("????");
}
public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2();
}
}
我想在问号里面写一条语句,使得输出的结果为:c=[]。请问一下大家怎么写?谢谢!
char c;
void ptintTest2(){
System.out.println("????");
}
public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2();
}
}
我想在问号里面写一条语句,使得输出的结果为:c=[]。请问一下大家怎么写?谢谢!
解决方案 »
- 关于java中对象的转型问题
- 听说jdk1.6对线程池有个什么优化来着,有人知道么?
- 我想问一下怎么样在Swing中JLabel组件获取数据库中存放的图像?
- 关于g.drawString的问题
- [求助]关于JComboBox<组合框>如何提取的问题~<----------高手来啊-------->
- 日期转换的问题,请各位帮忙!
- 关于Properties类的问题
- 谁能推荐一个人气较旺的Java新闻组?
- :请问:高手请进来:在midp中如何访问手机的内部文件呀“例如:通讯录”,最好有例子呀!!!!一片绿叶在吗??????!!!!!!
- java sftp通道建立连接时报错,在channel.connect()时报("session is down");
- 请教前辈们:Java怎样连接数据库?
- 如何改造一下,实现网络涂鸦板功能?
char c; void ptintTest2(){
System.out.println("c=[]");
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
void ptintTest2(char c){
System.out.println("c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2('[]'); }
}
是不是这样
char c; void ptintTest2(){
System.out.println("c="+????);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
问号里面的语句怎么写才能输出结果为:c=[]。我写这个程序的目的是为了验证c的初始值为Null。
引号里是什么 就输出什么
System.out.println("c="+????);
改成
System.out.println("c="+c);
结果是 c=
System.out.println("c="+????);
这里的问号是什么意思
你想输出什么
public class Test2
{
public static void main(String[] args)
{
System.out.println("c=[]");
}
}
System.out.println("????");
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2('[]'); }
}
在程序中你定义了c类型为char(字符类型), 而char的默认初始值是\u0000,就是空值。
public class Test2 {
char c; void ptintTest2(){
System.out.println(c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
} 在这语句System.out.println(c)加上字符c,这样就可以验证c字符类型的初始值了
输出结果为空
if(c == null)
System.out.println("C 为空值");
else System.out.println("C 不为空值");
System.out.println("c=" + Arrays.toString(new char[]{c}));
public class Test2 {
static void ptintTest2(String s){
System.out.println("c=" + "["+ s + "]");
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2("asd"); }
}
char c;
void ptintTest2(){
System.out.println("c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2('[]'); }
}
按你的意思,这个应该对了
char c; void ptintTest2(){
System.out.println("c" + c);
//这点你要输出什么就写什么,但是你就申请了一个char变量没办法你现在只能输出char c;
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
基本数据类型没有属性和方法,仅仅用于保存值。
第二种是对象类型。String就属于这种类型。
对象类型有属性和方法,如果想调用属性和方法必须首先实例化它(即new)。接着说初始化的问题:
如果是基本数据类型,你又是在类中声明的(即不是在方法中声明的),那JVM会对它们进行自动初始化。比如int会初始化为0,float会初始化为0.0f,boolean会初始化为false,char会初始化为''(即前面有位兄弟说的'\u0000')。
如果是对象类型,你又是在类中声明的(即不是在方法中声明的),那JVM也会对它们进行自动初始化,自动初始化的结果就是null。所以,楼主所说“检测char为null”是无法实现的,因为char类型的变量永远不可能是null。既然char类型不可能是null那楼主的问题也就无法解决了。
还有就是前面有几楼的朋友认为以下代码是对的:
public class Test2 {
char c;
void ptintTest2(){
System.out.println("c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2('[]'); }
}希望各位本着实事求是的精神,亲自用编译器编译一下,你就会发现,里面有一个很明显的错误。即传的参数'[]'不对。为啥不对?因为char表示一个字符,而[]是两个字符(一个左括号字符,一个右括号字符),所以不可能拿单引号把它们括起来。另外,如果你只是声明了一个char类型的变量,那你就只可能保存'['或者是']',也就是一半括号。不可能把两个括号同时保存下来的。
String c; //String没赋值时默认值为null,满足条件
void ptintTest2(){
System.out.println("c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
char c; void ptintTest2(){
System.out.println("c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
下面给出几种默认输出结果:
类型 默认输出结果
boolean false
char [ ] //空格
byte 0
int 0
long 0
float 0.0
double 0.0
String null ...至于LZ所说得
char c; void ptintTest2(){
System.out.println("c=[" + c + "]");
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2();
}}
char c; void ptintTest2(){
System.out.println((int)c==0?"c=[]":"c="+c);
} public static void main(String[] args){
Test2 T=new Test2();
T.ptintTest2(); }
}
楼主是这个意思吗???呵呵..
static char c; public static void main(String[] args){
System.out.println("c="+c); }
}