intcharjava
㈠ java中int怎样转换成char
java将int类型的数字转换成char型,主要是通过强制类型转换,如下代码:
public class Int2CharDemo { public static void main(String[] args) { // 将int类型数字8转换为char类型数字8
int num1 = 8;
char ch1 = (char) (num1 + 48);
System.out.println("ch1 = " + ch1); // 将char类型数字8转换为int类型数字8
// 方法一:
Character ch2 = '8'; // char是基本数据类型,Character是其包装类型。
int num2 = Integer.parseInt(ch2.toString());
System.out.println("num2 = " + num2);
// 方法二:
char ch3 = '8';
int num3 = ch3 - 48;
System.out.println("num3 = " + num3); }
(1)intcharjava扩展阅读:
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。
C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也可以编译为不带符号的。
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。
Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
㈡ 谁跟我说说在C,C++,JAVA中int,char,各占几个字节好么
在C语言z中,int占两个字节,char占一个字节。而在vc中int占四个字节,char占一个自己而在java中charchar占两个字节。int占四个字节
㈢ java int加string类型 int加char类型
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
boolean -->Boolean
char --->Character
byte -->Byte
short -->Short
int -->Integer
long -->Long
float -->Float
double -->Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。同时为了面向对象操作的一致性,这些基本类型都有相应的封装类型:Integer、Short、Long、Byte、Float、Double、Character等。
因为封装类型是对象,所以可以进行相应的很多对象能力函数操作,这样就可以提供很多基本类型难以完成的工作的完成和实现。
你可以通过以下方式来声明该类型。
int a,a为int类型的变量
char a,a为char类型的
String对象
1. 首先String不属于8种基本数据类型,String是一个对象。
因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。
2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;
3. String str=”punkll”;
String str=new String (“punkll”);的区别:
在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。
常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。
看例1:
String s0=”punkll”;
String s1=”punkll”;
String s2=”punk” + “ll”;
System.out.println( s0==s1 );
System.out.println( s0==s2 );
结果为:
true
true
首先,我们要知结果为道Java会确保一个字符串常量只有一个拷贝。
因为例子中的s0和s1中的”punkll”都是字符串常量,它们在编译期就被确定了,所以s0==s1为true;而”punk”和”ll”也都是字符串常量,当一个字符串由多个字符串常量连接而成时,它自己肯定也是字符串常量,所以s2也同样在编译期就被解析为一个字符串常量,所以s2也是常量池中”punkll”的一个引用。
所以我们得出s0==s1==s2;
用new String() 创建的字符串不是常量,不能在编译期就确定,所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间。
看例2:
String s0=”punkll”;
String s1=new String(”punkll”);
String s2=”punk” + new String(“ll”);
System.out.println( s0==s1 );
System.out.println( s0==s2 );
System.out.println( s1==s2 );
结果为:
false
false
false
例2中s0还是常量池中”punkll”的应用,s1因为无法在编译期确定,所以是运行时创建的新对象”punkll”的引用,s2因为有后半部分new String(“ll”)所以也无法在编译期确定,所以也是一个新创建对象”punkll”的应用;明白了这些也就知道为何得出此结果了。
㈣ java中char类型和int类型相加结果是char类型还是int类型
char类型是16位的,底层采用unicode编码保存.
char类型是可以直接赋值给int类型的,因为是16位到32位低到高.
举个例子比如int
i='1';打印i的值是49.
char类型跟int类型进行计算的时候会自动转换为int类型
比如system.out.println('1'+1);输出结果是50.
char类型的'='换成int是61
㈤ java中int 转换成char 输出是什么 比如char a=(char)2; a的结果是什么
java中int直接转换成char类型,输出的是乱码,如下例子:
publicclassceshi{
publicstaticvoidmain(String[]args){
chara=(char)2;
System.out.println(a);//输出的为乱码
}
}
结果:
㈥ java 数组 int和char的区别
首先,要先弄明白java中的数组。java中实际上没有多维数组的概念。只有一维数组。多维数组实际上是一维数组的数组。这和c++中的多维数组概念是不同的。
举个例子:
int[][] int1=new int[3][2];
int1[i]引用第i个字数组,也就是二维表中的第i行。它本身也是一个数组,int1[i][i]引用这个数组的第j项。
对于 int[][] int1=new int[3][];
new语句执行后,int1被在栈中分配了空间,引用一个三维数组;三维
数组也被分配了空间(在堆中),三位数组的元素是指向int数组的引用;
而int数组没有分配空间,所以三维数组中的元素的值都是null。
对于char[][] char1=new char[3][],内存的分配情况是完全相同的。但为什么回X3就出现指针异常了呢?
这都是System.out.println()惹的祸。
对于int[][]二维数组:
System.out.println(int1)输出int1变量的值;
System.out.println(int1[0])同样输出int1[0]的值;
这些值都是引用值,从图中可以清楚的看出来。
对于char[][]数组:
System.out.println(char1);输出的不是char1变量的值,而是它指向的元素的值;
System.out.println(char1[0]);同样输出的不是char[0]变量的值,而是它指向的元素的值。因为char[0]本身的值是null,所以该语句执行时会出现空指针异常。
你可以自己试验一下。
㈦ Java中的char型怎样转换成int型
1、定义char型字符
charr='a';
2、通过int强转成int
intk=(int)r;//强转成int型,就是字符所表示的数字值
㈧ Java中怎么把int型的数字转换成char型的数字
首先定义一个int型的变量i,将这个int型变量转换成char型变量需要加上48
代码如下:
inti=1;
charc=(char)(i+48);
接下来解释下为什么加上48:
因为ASCLL中'0'的值是48,而声明的int变量加上48等于就是他本身对应的字符型的值
所以这样就把int型转换成字符型了。
㈨ java中的int与char
有两种转换方法:
一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的‘a’
另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’
为什么是a呢?因为字符‘a’对应的ASCII值是97.
自动转换一般是用于大的类型向小的类型转换,也叫窄化转换
强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换