JAVA简单问题,高手进下帮帮忙,谢谢!

public class E
{
public static void main(String args[])
{
for(int i=20302;i<20322;i++)
{
System.out.println((char)i);
}
}
}
这短程序中System.out.println((char)i); 中的((char)i); 是什么意思?运行结果是什么?为什么是这样的结果?





















这是运行结果,解释:i是从20302开始循环,然后将其强转成char类型进行输出,由于你直接把int类型赋值给char类型,就相当于你把ASCII码直接赋值给了char类型,所以打印出来的是ASCII码所对应的汉字追问

((char)i);
这样就是直接把int类型赋值给char类型吗?

追答

正确的声名赋值:char ch = 'abc';
(char)i是表示把int类型强制转换成char类型
还有另外一种方式:char ch = (char)(int类型的数值或者变量)

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-09
(char)i 这是强制转换类型

这里面存在一个问题,i 是int类型的
从高类型往低类型转存在精度丢失的问题
正常情况下都是从低类型往高类型转

而且这代码执行后,结果为unicode

中文中每一个中文字符都对应一个unicode
java语言中,字符统一采用Unicode编码,每个字符占两个字节,所以可以用十六进制编码形式表示。
java语言把字符作为无符号的整数对待,所以可以参与整数的相应运算

楼主程序 char型变量被当成了一个无符号的整数来运算
第2个回答  2011-07-09
1:((char)i)是将int类型的数据强制转换成char字符.
2:打印的先是ASCII码然后是UTF—8亚洲地区的通用单字符了(和默认的编码方式的字符)。或者说是乱码字符了
首先:你要理解ASCII码得来历和作用.
ASCII码因为计算机中底层只有数字,所以前人为了方便就用数字代表字符了,这是一个硬性规定没有为什么,目前这是一个java中的一个运用.

参考资料:http://baike.baidu.com/view/15482.html?wtp=tt

第3个回答  2011-07-09
(char)i的意思是将整型的i强制转换为char(字符)型。运行结果是十几个汉字,还有几个空格。这是字符编码的原因
第4个回答  2011-07-09
i是从20302到20321,(char)i应该取的是ACII码为20302到20321的字符,你把i设置为97看看输出的是不是a
第5个回答  2011-07-09
(char)是将i强转成字符型,运行结果就不写出来了,这个循环20次我才不蛋疼给你打出来。去看一下循环的原理

JAVA简单问题,高手进下帮帮忙,谢谢!
低 住 佐 佑 佒 体 占 何 佖 佗 佘 余 佚 佛 作 佝 佞 佟 你 佡 这是运行结果,解释:i是从20302开始循环,然后将其强转成char类型进行输出,由于你直接把int类型赋值给char类型,就相当于你把ASCII码直接赋值给了char类型,所以打印出来的是ASCII码所对应的汉字 ...

java问题,求各路高手齐来踊跃解答。。。我想知道正确答案啊
答案:JavaSE\\JavaME\\JavaEE 2、在Java中如何定义变量名?变量的作用是什么?答案:path:\\Java路径 3、定义变量分哪两个步骤?是否必须在Java程序的前面声明变量?答案:自己看书去,这是书上原话,字太多了,所以我就不打了 4、以下程序段的输出结果为___。for(i=0;i<5;i++){for(j=0;j<5;j...

java问题,帮忙回答下,谢了
10对;11对;12错, Vector 可以将简单类型自动转换成其封装类。填空 1.MyApplet.java 2.javac MyJavaApplication.java java MyJavaApplication 3. 单 双 4.package MyPackage 最上边 5.204060

java问题求解!!请高手帮忙啊!我是新手!!
1、新建系统变量JAVA_HOME变量(JAVA_HOME指明JDK安装路径。)设定值为:C:\\Java\\jdk1.6.0_04 2、在系统变量中的path中添加(Path使得系统可以在任何路径下识别java命令。):;%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;%CATALINA_HOME%\\bin 3、新建系统变量CATALINA_HOME 设定值为:C:\\Java\\apache-t...

java初学提问 关于执行过程 和继承的一些问题,请各位大虾帮忙 谢谢
1.首先,你的main方法是写在Demo类里的,当运行这个main方法时,执行A a = new A()时;需要new一个A类的对象,在new出这个对象之前,JVM会在堆中装载A类,这时候,会初始化A类的所有静态成员,所以static会被执行一次,然后执行new A()。不过,所有静态成员都只会初始化一次。(静态成员...

JAVA高手帮帮忙。帮忙做几个题目。
5.B (我不确定) JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。6.A 7.A 8.C...

java题目,请高手帮忙解决。
从安全性的观点看,Java 应用程序所受的安全性限制与 iSeries 服务器上的任何其它程序相同。要在 iSeries 服务器上运行 Java 程序,您必须对集成文件系统中的类文件具有权限。程序一旦启动,它就在该用户权限控制下运行。 您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。沿用...

求助,java基础问题。。
haha,我帮你写,不够地方显示阿。点下面那个参考资料有完整答案拉 一、 填空题(2*15=30)1..class 2. javac java 3. 4,4,12 4 int i = 12 5. true flase 6.float[] floatAry ={2.3, 7.5} 7.方法 属性 8.abstract 9. jar myjava 10.inner 二、简...

JAVA习题,请高手帮忙解答一下,急急急
01.X 父类中私有的方法和字段不会被继承 02.O java类只能单继承和多实现 03.O Exception为所有异常的父类,所以,他包含所有的异常 04.X Class1类的方法可以访问 05.X 抽象类有构造方法,因为抽象类中有非抽象方法,可以被继承。06.X 如果父类中的构造方法没有要求参数,则可以省略super();07...

JAVA编程问题求大神帮忙看看解答谢谢!
for(String strone : str){ System.out.println(strone);} } 以上我的代码供参考 你的问题:1 、定义的数组类型有问题 讲解:字符数组用该用char 或者String 你这个由于是中文字符串,所以用String char 和String 定义是需要引号引起来,2 、java中,结束一段表达式的时候要用英文的分号结...

相似回答