Java总结第一篇——Java的八大基本类型

为了以后能在Java这个道路上走的稳,从今天起决定每天坚持写一篇关于Java的博客,以此激励自己学习。因为我的水平实在菜到家,所以有时候有说的不对的,请大神不吝赐教。

万里长征第一步,先总结一下Java的八大基本类型,这应该是最最基础的,但上次面试的时候,面试官问我关于Java的八大基本类型的问题,我居然没说出来,简直汗颜,当时脸红的不行,面试结果可想而知。

好了废话不说了,进入正题。

一。Java的八大基本类型都有哪些?看图





二。什么是整数类型?什么是浮点型?什么是boolean型?什么是字符型?

  (一)整数类型,顾名思义就是只能给一个变量赋整数类型的数,比如 int  i = 3; 你不能写成int i = 3.5;  若是这样肯定会造成编译错误。

   int的默认类型是int型,如果你想让他变成long型,那就必须在数字后面加一个“L” 或“l”,如: int i = 3L或int i = 3l;


   (二)浮点型代表的实数。浮点数的原理呢就是利用指数使小数点的位置可以可以根据需要而上下浮动,从而可以灵活的表达更大范围的实数。

浮点数的常量可以有以下两种表示形式,

      1.十进制形式:2.14;324.0;.314

     2.科学计数法形式:如3.14e2;3.14E2;100E-2;

浮点型的默认类型是double型,如果向让数字变为float型,就必须在数字后面跟一个“f”或“F”,如:float floatNum= 3.14F;或float floatNum= 3.14f;


(三)字符型,用来表示通常意义上的字符。

   字符常量是用单引号括起来的单个字符,因为Java使用unicode编码,一个unicode编码占两个字符,一个汉字也占两个字符,所以Java中char型不仅可以存字母也可以存汉字 ,如:char ch = ‘q’;     char  ch = '码';

 Java的字符常量可以有以下三种表示形式:

  1.用单引号括起来的单个字符:‘a’   ;     '码';

  2.用英文单引号括起来的十六进制字符代码值来表示单个字符,其形式为‘\uXXXX’;其中u是约定的前缀,而后面的四个X则表示四位十六进制数,是该字符在unicode字符集中的序号,例如‘\u0061’;

 3.某些特殊的字符可以采用转义符‘\’来表示,将其后面的字符转为其他的含义,例如,‘\t’代表制表符,'\n'代表换行符,‘\t’代表回车符等。请看以下程序及运行结果,进一步理解char的用法

public class Test {
	public static void main(String[] args){
		char ch = 'q';
		char ch1 = '桥';
		char ch2 = '\u0061';
		char ch3 = '\t';
		System.out.println("输出ch:"+ch);
		System.out.println("输出ch1:"+ch1);
		System.out.println("0061在unicode编码里代表哪个字:"+ ch2);
		System.out.println(ch3+"0061在unicode编码里代表哪个字:"+ ch2);
		
	}
}

运行结果:

输出ch:q
输出ch1:桥
0061在unicode编码里代表哪个字:a
	0061在unicode编码里代表哪个字:a

(四)boolean型,表示真或者假,只允许true或false, (不能用0或者1来表示真或者假,这点和c语言不同)如: boolean  bl= true;

   boolean适用于逻辑运算,一般用于程序流程控制。


三. 基本数据类型互相转换

   boolean类型不能和其他数据类型进行转换。整型,字符型和浮点型在混合运算中的转换 ,遵循以下原则:

   1.容量小的类型自动转换成容量大的类型。

    2.byte,short,char之间不会互相转换,三者在计算时首先会转成int型。

   3.容量大的类型转成容量小的类型的时候要加上强制转换符,但可能造成精度降低或者内存溢出,使用的时候要小心。

   4,有多种类型进行混合运算时,系统首先会自动的转换成容量最大的数据类型,然后再进行数据运算。



请看下面的代码及运行结果,进一步加深对Java基本类型转换的认识

public class Test {
	public static void main(String[] args){
		int i1 = 222;
		int i2 = 333;
		double d1 = (i1+i2)*2.9;//系统将转换为double型运算
		float f1 = (float) ((i1+i2)*2.9);//从double型转换为float型需要进行强制类型转换
		System.out.println(d1);
		System.out.println(f1);
		
		byte b1 = 88;
		byte b2 = 99;
		byte b3 = (byte) (b1+b2);//系统先转换成int型,再从int型转换为byte型,需要进行强制类型转换,
		System.out.println("88+99="+b3);//强制类型转换,数组溢出
		
		double d2 = 5.1E88;
		float f2 = (float) d2;//从double型强转为float型,结果溢出
		System.out.println(f2);
		
		float f3 = 3.14F;
		f3 = f3+0.05F;//这条语句不能写成f3= f3+005;否则会报错,因为0.05是double型,加上f3,仍是double型,不能赋给float型
		System.out.println("3.14F+0.05F="+f3);
	}
}

运行结果:

1609.5
1609.5
88+99=-69
Infinity
3.14F+0.05F=3.19

四、最后总结一下八大基本类型所占的字节数,位数和使用说明


数据类型字节数位数使用说明
byte 18取值范围:-2^7~2^7-1
short 216取值范围:-2^15~2^15-1
int 432取值范围:-2^31~2^31-1
long 864取值范围:-2^63~2^63-1   直接赋值的时候, 需在数字后加L或l
double 864取值范围:4.9E-324~1.8E308
flloat 432取值范围:1.4E-45~3.4E38   直接赋值时,需在后面加F或f
char 216使用unicode编码(2个字节)可存汉字
boolean  只有true和false两个取值

好了,完事儿!


GOOD LUCK!

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值