栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java笔记-数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java笔记-数据类型

数据类型

​ Java数据类型分为基本数据类型和引用数据类型 (引用数据类型会在面向对象的时候学到)

基本数据类型分为

    赋值型

    字符型

    布尔型

赋值型又分为整形和浮点型

    整形就是用来存放整数的数据类型:byte , short , int , long

    它们的取值范围分别是:

    整形内存空间(8位等于1字节)取值范围
    byte8位-128 ~ 127
    short16位-32768 ~ 32767
    int32位-2147483648 ~ 2142147483647
    long64位-9223372036854775808 ~ 9223372036854775807

    (Java默认的整形是int型,声明long形常量后面必须加“ l ” ,“ L ”)

    浮点型就是用来存放小数的数据类型:float , double

    它们的取值范围分别是:

    浮点型内存空间取值范围
    float32位1.4E-45 ~ 3.4028235E38
    double64位4.9E-324 ~ 1.7976931348623157E308

    (Java默认的浮点形是double型,声明float形常量后面必须加“ f ” ,“ F ”)

    //浮点数使用陷阱
    		double num1 = 2.7;
    		double num2 = 8.1/3;
    		System.out.println(num1);//2.7
    		System.out.println(num2);//无限接近2.7
    		//重点:对运算结果是小数的进行相等判断时要小心
    		//细节:不是计算得到而是直接赋予,可以判断相等
    
字符型

​ 字符型char用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时要以单引号表示:

//例子
char a1 = 65;
System.out.println(a1);//输出65代表的那一个字符,结果为A(这里涉及到了ASC||码值,可以上网去查)

字符型的本质:字符型存储到计算机中需要将字符对应的码值找出来
a ==> 码值97 ==> 二进制 ==> 存储
二进制 ==> 97 ==> a ==> 显示

布尔型

​ 布尔类型又称逻辑类型,通过boolean来定义布尔型变量,只有true和false两个值,分别代表布尔型中的 “真” 和 “假”。

boolean类型不参与转换

//例子
boolean a1 = true;//定义一个布尔型变量a1=真
	if(ai==ture){//if判断a1是否为真
        System.out.println("真");//为真输出这句话
    }else{
        System.out.println("假");//否则为假输出这句话
    }
自动类型转换

​ 精度小的数据类型转换为精度大的数据类型

​ (最好背下来)

​ (char > int > long > float > double)

​ (byte > short > int > long > float > double)

//例子
	int a = 'a';//char类型转换int
	double b = 100;
	System.out.println(a);//结果为a对应的整数97
	System.out.println(b);//整数转小数输出会加小数点,结果100.0
	//byte,short,char之间不会相互自动转换

byte,short,char三者可以运算,在计算时首先转为int类型

//例子	
	byte a1 = 10;
	byte a5 = 10;
	short a2 = 10;
	//byte a6 = a1 + a2;   错误,因为是int类型
	//short a3 = a1 + a2;   错误:a1+a2等于int类型
	int a4 = a1+ a2;
	System.out.println(a4);

自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

//例子
		byte q1 = 1;
		short q2 = 10;
		int q3 = 20;
		double q4 = 50.5;
		double q5 = q1 + q2 + q3 +q4;
		//int q6 = q1 + q2 + q3 +q4;
		System.out.println(q5);//输出为最大的数据类型double,否者报错
强制类型转换

将容量大的转换为容量小的,但可能造成精度降低或者溢出,要注意

//例子
	int a = (int)1.9;//把double类型数据强制转换为int类型
	System.out.println(a);//结果为1

	int a1 = 1000;
	byte b = (byte)a1;
	System.out.println(b);//造成数据溢出

//例子2
		char c1 = 97;
		int z = 97;
		//char c2 = z;  char类型可以保存int的常量,不能保存int变量,需要强转
		char c3 = (char)z;
		System.out.println(c3);//结果为a
		//byte,short,char在计算时首先转为int类型,需要强转
//例子3
	//强转符号只针对最近的操作数有效,往往会使用小括号提升优先级
		
		int x = (int)(10*3.5+6*2.5);
		//先算的结果=50,然后 转换(int)50 结果=50
		System.out.println(x);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737102.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号