java基础知识--数据类型
1、java数据类型可以分为基本数据类型和引用数据类型
(1)基本数据类型:
a)整型:byte(1)--short(2)--int(4)--long(8)
b)浮点型:float(4)--double(8)
c)布尔型:boolean(1)
d)字符型:char(2) (注意:在C中char只占一个字节,在java中char占两个字节)
取值范围:(重点!!)
byte----->8位-------->-2^7------2^7-1
short---->16位----->-2^15-----2^15-1
int------->32位------>-2^31-----2^31-1
long---->64位------->-2^63-----2^63-1
(2)引用类型:
a)数组:array
b)类:class
c)接口:interface
2.数据类型转换
精度排列(从低到高):byte--short--char--int--long--float--double
1)自动类型转换:精度低的转换为精度高的
double d = 2.3f;
2)强制类型转换:精度高的转换为精度低的
float f = (float) 2.3;
3)隐含强制类型转换
byte b = 123;(隐含的将int类型转换为byte类型)
注意1:整数的表现形式:(byte,short,int,long都是整数,只能默认是int类型)
1)十进制数
2)八进制数,以0开头
3)十六进制数,以0x开头
注意2:
浮点数默认是double类型,所以想要声明一个单精度浮点数时,必须加上后缀f/F,
而double类型的则可以不加上后缀d/D
<span style="white-space:pre"> </span>float f = 12.3f;
<span style="white-space:pre"> </span>double d = 12.3;
长整型long后面应该加上后缀l/L,但是不加也可以。
3.类型的转换
1)String类型转换为int类型
<span style="white-space:pre"> </span> String s = "1";
<span style="white-space:pre"> </span>int i2 = Integer.valueOf(s).intValue();
<span style="white-space:pre"> </span>System.out.println(i2);
int i3 = Integer.parseInt(s);
System.out.println(i3);
<span style="white-space:pre"> </span>如果s的是一个不是数字的字符串,比如:String s = "a",会报错:
<span style="white-space:pre"> </span>java.lang.NumberFormateExcetion:For input String "a"
2)int整型转换为字符串String类型
<span style="white-space:pre"> </span>int i = 97;
String s = String.valueOf(i);
System.out.println(s);
String s2 = Integer.toString(i);
System.out.println(s2);
String s3 = i + "";
System.out.println(s3);
3)char类型转换为String类型
char c = 'a';
String s = c+"";
System.out.println(s);
String s2 = String.valueOf(c);
System.out.println(s2);
//String s3 = c.toString();
4)String类型转换为char类型
String s = "asb";
char c[] = s.toCharArray();
System.out.println(c);
for(int i=0;i<c.length;i++)
{
System.out.println(c[i]);
}
<pre name="code" class="java" style="font-size: 18px;"><span style="white-space:pre"> </span><span style="font-family:Arial, Helvetica, sans-serif;">5)int类型转换为char类型</span>
<span style="white-space:pre"> </span>int i = 97;
char c = (char)(i);
System.out.println(c); //a
//char c2 = Integer.valueOf(i);
如果int是0--9的数字,使用以下方法可以实现:
int i2 = 2;
char c2 = (char)(i2+'0');
//'0'表示的数值48,加上1——9之后的数值的49--57(ASCII码对应的刚好是数字1-9),如果加上10,等于58,对应的是一个问号
System.out.println(c2); //2
6)char-->int自动转换
char c2 = 'a';
int i2 = (c2);
System.out.println(i2);*/