java初学者的一个小问题,求解。非常基础。

请看这一段代码:
public class tryagain {
public static void main(String[] args) {
String PWB = "11";
int n=0;
char M=PWB.charAt(n);
int m=M;
System.out.println(m);
}
}

我想让他输出1,按理说也应该输出1,可是输出的是49,为什么?

下面这个代码就能输出1,都是char,为啥会这样?
public class tryagain {
public static void main(String[] args) {
char M=1;
int m=M;
System.out.println(m);
}
}

各位高手帮帮忙!小生先谢过各位了。

char是ASCII码,直接赋值char M=1那是把ASCII值为1的字符赋值给了M,如果是char M='1'这才表示把字符1赋值给M,你查一下ASCII码值就明白为什么了。字符1的ASCII码值正好是49
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-21
char m='1';//不会的转型 输出1 字符
char s=1;//1认为是ascII的值 对应的字符是: 输入也就是
int M=m; 把char型的转化为 int型。就是把char型的字符转化为asc 为49 所以输出49
int S=s;就是把 转化为asc 输出 就是1的了。
我个人认为:
int接受的是整形 所以字符串必须的转换为int能接受的类型 所以字符转换为asc码
第2个回答  2012-08-21
char M=PWB.charAt(n);

这句话翻译过来就是char M =‘1’;因为1的ascill码是49,所以打印49,


char M=1;
m=1,打印肯定是1
第3个回答  2012-08-21
第一个程序输出的是1的ASCII码,即'1',所以是49。

第二个程序输出的是int型数据1, int m=M; 这条语句是低级别变量(char)的值赋给高级别的变量(int),系统会自动完成数据类型的转换,所以输出的是1。

public class tryagain {
public static void main(String[] args) {
char M=‘1’;
int m=M;
System.out.println(m);
}
}这样改了之后输出的就是49了。
第4个回答  2012-08-21
你上面输出的是1的asc码所以是输出49
而下面char M=1就已经转型了。如果你是char M='1'那就是输出49
第5个回答  2012-08-21
把第2个程序的char M=1;改为char M=‘1’;输出的就是49
对比第一个程序吧

JAVA初学者的疑问
回答1:运行JAVA必须安装JRE,但JAVA程序写完后不是把整个工程给客户的,而是打一个JAR包发过去,用户可以就像双击EXE文件一样简单的访问我们写的JAVA程序。你说你没学JAVA的时候电脑上不装JRE也一样能运行这纯是你没注意到,更多的桌面程序是用.NET写的,而.NET只需要windows环境就可以···回答2:...

初学JAVA的一个问题。
由于我们改造后的 Java 里面 int 全部是引用,所以第一行定义的 x 并不包含一个整数,而是一个引用,它指向堆里分配的一块内存,这个空间的内容是整数 1。在第二行,我们定 int 变量 y,当然它也是一个引用,它的值跟 x 一样,所以 y 也指向同一个地址,里面的内容是同一个整数:1。在第三...

JAVA初学者问题,请各位不要骂我提这么简单的问题?因为是没有任何基础...
1,说实话,并不需要什么基础,但是你要懂一点电脑的基础操作,至少要对电脑感兴趣;有一点英文基础最好,没有也可以,但是要做好以后慢慢接触英文的准备;另外,我想强调一点,如果你是想学JAVA,以后想靠这个就业,那么,你必须做好长期抗战的准备,任何一门能养活人的手艺都不是短时间能学会的。你首...

北大青鸟java培训:初学编程最常问的几个问题?
1、多久能学会编程?这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习,那么两三个月就可以学会web前端,不到半年时间就可以编写出一些软件。但是有一点可以肯定,几个月从小白成长为大神是绝对不可能的。要想出类拔萃,没有几年功夫是不行的。...

学习Java经常遇到的问题有哪些?
问题一:能看懂,但是不会写 这是很多初学者在学习的时候经常遇到的问题。在通过视频学习或是听课的时候觉得自己能够听懂,但是当自己练习的时候就会发现不知道应该如何下手。如果遇到这个问题,北大青鸟建议找一个适合自己学习的方法,课前预习、课后复习,经常练习,加深自己对代码的理解。问题二:学完就...

java实在学不明白,几个java问题请教大家
java实在学不明白,几个java问题请教大家 1、java的classpath里做什么用的? 答:你写的JAVA代码将被编译成以 .class 结尾的"类文件" classpath就是这个"类文件"所在的系统物理路径 2、java里方法重载是什么意思?什么是方法重载? 答:就是方法名相同参数不同的两个方法, 例如: public ...

JAVA初学者的几个问题...本人初学,不要用太深的理论回答,稍微带点自己...
2、用while(boolean){String s=sc.next();}这样的方式来判断输入是否符合你想要的条件 3、final修饰的变量有个特殊的属性:赋值过后就不能更改值了,因此在JAVA里被称作常量。比如圆面积s=r^2*π.π是一个恒定不变的值,这个时候就可以用final double X=3.14;来创建。4、整形直接比较值是否相等...

Java初学者问题,请教前辈谢谢(向数组中插入元素)
2.是从newmusics 数组将最后一个元素(该元素为空)将它移到你输入的歌名所要插入的位置!然后将你输入的歌名放在该空位置上!3.你是想问for循环语句里的变量int i吧!它出了for循环就没人认识他了,也就是说他只在for循环里有用 补充点:其实楼主所谓的后移是将newmusics 数组最后一个元素(该...

请java高手帮忙,解决一个难题呀?心急呀!
在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个过度性的转折,否则会感到很突兀。 最后的“几个需要注意的问题”最是奇怪,这是你提出的问题还是资料中别人提出的问题呢?我很难理解。好了。综上所述,目前我很难帮到你。希望你能够吧思路和...

100分,几道简单的Java编程题,帮忙解决一下!
1.import java.util.Scanner;public class Test_If_Switch { public static void main(String[] args) { System.out.println("输入一个数字:");Scanner sc = new Scanner(System.in);int x = sc.nextInt();System.out.println("方法1:"+methodl(x));System.out.println("方法2:"+method2...

相似回答