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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柳雷 中级黑马   /  2012-7-21 17:12  /  1481 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
public class Copy {
        public static void main(String[]args){
                int int1=128,int2=123;
                byte byte1=127;
                char char1='a';
                short short1=129;
                long long1=156;
                float float1=2222222;
                double double1=123.456;
                aa a=new aa();
                System.out.println(int1);
                System.out.println(int2);
                System.out.println(int1-int2);
                System.out.println(byte1);
                System.out.println(short1);
                System.out.println(long1);
                System.out.println(float1);
                System.out.println(double1);
                System.out.println(a);
               
        }
}

最后一行代码是什么情况啊,println()什么情况下能把变量或对象能正确转换并输出,
还有最后哪行输出具体是什么意思啊?

评分

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

查看全部评分

4 个回复

倒序浏览
最后一行  
哈希值

评分

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

查看全部评分

回复 使用道具 举报
最后一行就是哈希值了,至于你想正确转换
看你想输出什么类型的了
想输出字符就加引号‘ ’,想输出字符串就加双引号“ ”
如果想要正确的强制转换数据类型就用(数据类型)你要输出的数据
回复 使用道具 举报
最后的a是对象类型的,
你可以看一下API中的
public void println(Object x)打印 Object,然后终止该行。此方法首先调用 String.valueOf(x) 获取打印对象的字符串值,然后的行为如同先调用 print(String) 再调用 println() 一样。会调用Object对象的toString()方法,

public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())

返回:
该对象的字符串表示形式
回复 使用道具 举报
1、System.out.println(x):方法会调用 x的toString方法,将放回结果输出,对于基本类型int、double之类的的会被包装成类类型再调用toString()方法

1、你写的那个 aa类没有重写toString()方法,就会调用父类Object的toString,建议重写toString方法

2、而父类Obeject的toString()方法为:
       ① public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
         ②Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
             getClass().getName() + '@' + Integer.toHexString(hashCode())

   类名包括完整的包名

3、还有一点,你的类名怎么叫 aa,命名有点不规划,要大写字母开头。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马