概述
JAVA的类型分为基本类型和引用类型,基本类型有整型(byte、short、int、long),浮点型(float、double),字符型(char)布尔类型(boolean)。
整型:所谓整型就是只能装整数,包括正整数、负整数和0。
byte:1字节=8位,有符号的数,范围从负的2的7次方到正的2的7次方-1。
short :2个字节,有符号的数,范围从负的2的15次方到正的2的15次方-1。
int :4个字节,有符号的数,范围从负的2的31次方到正的2的31次方-1。
long:8个字节,有符号的数,范围从负的2的63次方到正的2的63次方-1。
注意点:
A:如果直接给出一个整数,该数的默认类型是int型。如果该整数较小,且直接赋值给byte或short,JAVA也可以将其当成byte、short处理。
B:如果给出一个巨大的整数,JAVA不会将其自动当成long类型处理。如果希望JAVA把该整数当成Long处理,需要在整数后面加上“L”。
public class ZhenXin{
public static void main(String[] args){
int a = 10;
int b = 123;
/*JAVA中整型默认为Int类型。*/
byte c = 19;
/*此时不会报错,因为当数值较小时,JAVA会将该数直接视为byte类型。*/
//byte d = 128; /*此时会报错,因为128超了byte的范围。*/
long e = 2500000000L;
/*JAVA默认把整数当成int类型来处理,而2500000000超了Int的范围*/
/*所以需要在2500000000后面加上L,才能赋值成功*/
System.out.println(a);
System.out.println(b);
System.out.println(e);
}
}
整数一共有4种表示形式,十进制、十六进制、八进制和二进制。十六进制是以0X开头的,八进制是以0开头的,二进制是以0B开头的。十六进制的数,在编程中使用得十分多,原因是十六进制的数恰好换算成为四位的二进制数。
**浮点型:**只能装带小数部分的数。JAVA的浮点型有float(4个字节)和 double(8个字节)。
Q1:编程时是使用double还是float?当然是double,因为浮点数都有精度丢失,而float精度丢失更严重。出于精度的考虑我们使用double。
浮点型的注意点:
A:如果直接给一个浮点型的数,默认为double类型。如果希望得到float类型的数,需要在数的后面加上f/F。
B:浮点数会有精度丢失,所以浮点数比较时必须使用差值法。如System.out.println(f2 - f3 < 0.001); ,比较两个数的差是否小于一个十分小的数。
C:浮点数有两种表示形式:
小数形式:
科学计数法:3e5 300000.0
只要使用了科学计数法一定表示的是浮点数,不会是整数。
D:浮点值有三个特殊值,浮点数除以0得到无穷大。
正无穷大可以由正的浮点数除以正的0,负的浮点数除以负的0。Inifity
负无穷大:正的浮点数除以负的0,还有负的浮点数除以正的0。-Inifity
所有的正无穷大都相等,所有的负无穷大也相等,但是正的无穷大和负的无穷大不想等。
非数:浮点0除以0,对负数开方,得到的就是非数。NaN 非数与任何数都不相等,和它自己也不相等。
public class FuDianXin{
public static void main(String[] args){
//float f =2.3; //错误JAVA程序里面的小数默认为double类型,赋值给float可在变量后面加f
float f1 =2.3f;
float f2 = 0.01f;
float f3 = 0.05f;
double d = 2.4;//这样就是对的
double w = 3e5;
d = d * 2 - 4.5 * 1.3 - d * 1.8;
System.out.println(f1);
System.out.println(d); //输出-5.00000000001
精度丢失了
System.out.println(f2 + f3 == 0.06); //结果输出为false,因为有精度丢失。如果必须要比较两
//个浮点数是否相等,可以计算两个数的差值,再看该差值是否小于一个比较小的数。如下:
System.out.println(f2 - f3 < 0.001);
System.out.println(w);
}
}
字符型:只能装单个字符(中文,英文。日文,韩文皆可以),且单个字符要放在单引号里面。占两个字节,16位
字符型的注意点:字符型有三种表示形式,(1)单引号里面放普通字符(2)JAVA的转义字符(3)用字符的unicode编码
字符集:为了在计算机的底层保存字符,为所有的字符编号,需要保存字符时实际上是保存了该字符的二进制编号。读取字符内容时,读的是二进制编号,还需要参照编号表才能得到对应的字符。
ASCII码:只支持英文,数字和标点符号 。a~z: 97-97+25; A-Z:65-90;r :13 ; n:10;
GB2312:简体中文字符集
GBK:简体中文字符集
GB18030:目前的简体字符集
字符完全可以当成无符号的整数使用,字符当成无符号的整数使用时用的是它的编号。这样的话JAVA的基本类型就只有数值型和布尔型。
public class ZiFuXin{
public static void main(String[] args){
char a = 'a';
char b = 'j';
char c = 'r';
char d = 'u0005'; //unicode编码
int it = 2 * c - 'r' * 3; //这样是可以的,因为字符型的变量可以当成整型来用。
System.out.println(a);
System.out.println(c);
System.out.println(d);
System.out.println(it);
}
}
最后
以上就是畅快外套为你收集整理的JAVA的基本类型的全部内容,希望文章能够帮你解决JAVA的基本类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复