Java数据类型

Java数据类型与语句结构


数据类型转换

数据类型概念
  • Java是强类型语言
  • 对于每一种数据,都定义了明确的数据类型
  • 不同的数据类型,在内存当中分配不同的大空间
数据类型分类
  • 基本数据类型
    • 数值型
      • 整数
        • byte
        • short
        • int
        • long
      • 小数
        • float
        • double
    • 不同的整数类型在内存占用的内存空间大小是不一样的
    • 字符型
      • char
    • 布尔型
      • boolean
    • 引用数据类型
      • 接口
      • 数组
数据类型占用空间大小
  • 在这里插入图片描述
常用数据类型
  • boolean类型
    • 通常用于逻辑运算和程序流程控制(条件选择/循环)
    • 该类型的值只能是true或false,表示真或假
    • 不可以使用0或非0的证书来代替false和true
  • 整数类型
    • byte、short、int、long
      • 相同点都是存放整数类型的数据,不同点开辟的空间大小不一样
    • Java语言的整形常量默认是int型
    • 声明long型变量后加上’l’ 或 ‘L’
      • 注:因小写的l用以和数字1相混淆,建议使用大写L

示例:

byte b = 30; //8位
//b = 128;
short c = 32767; // 16位
int d = 324; //32位
long e = 68978L; //64位
//默认是int类型
System. out. println(100) ;
byte b = 30; //8位
		//b = 128;
		short c = 32767; // 16位
		int d = 324; //32位
		long e = 68978L; //64位
		//默认是int类型
		System.out.println(100);
  • 小数类型
    • float、double
    • float表示单精度类型
    • double表示双精度类型
    • 浮点类型的字面量默认是double类型,若要声明一个常量为float型、则须在常量后加上 f 或 F
    • double常量后面的 d 或 D 可省略

示例:

//小数(float double)
double money = 100. 5;
//相同点都是存放小数类型的数据,不同点开辟的空间大小不-样,
//默认情况下,小数是属于double
System. out. println(80. 5) ;
//float money2 = 80. 5;此行错误
float money2 = 80. 5f;
//小数(float double)
		double  money = 100.5;
		//相同点都是存放小数类型的数据,不同点开辟的空间大小不一样,
		//默认情况下,小数是属于double
		System.out.println(80.5);
		//float money2 = 80.5;此行错误
		float money2 = 80.5f;
  • 字符类型

    • 什么是编码

      • 计算机只能表示0和1两个数,于是人们做规定使用一个数字去表示一个特定得字符

        比如a使用97表示

    • char概述

      • char字符, 字母和符号
      • char类型:表示16位得无符号整数或者Unicode字符
      • Unicode手机了世界上所有语言文字中得符号,是一种跨平台得编码方式,Java得字符两个字节,可以表示一个汉字
    • char常量有3种表示形式

      • 直接使用单个字符来指定字符常量,格式如’◆’、‘A’,‘7’
      • 直接作为十进制整数数值使用,但是数据范围在[0,65535],格式如97,但是打印出来的值依然是ASCII码表对于的符号,如97打印出来是字符
      • 和2一样,只不过表示的是16进制的数值,格式如’\uX’,X表示16进制整数;如:97的16进制是61
  • ASSCII表

    • 在这里插入图片描述
      ​ 示例:
  /**
  *字符本质是16位无符号小数
  *使用-.个数字去表示-个特定的字符
  *字符类型
  System. out. println(' a');
  //字符型变量
  charC=”a’;
  C
  System. out. println(c);
  //编码 01字符类型
  char cl = 66; //ASSIC
  Sys tem. out. println(c1);
  //直接输出的是int类型
  System. out. println (65);

    /**
    		 *字符本质是16位无符号小数
    		 *使用一个数字去表示一个特定的字符
    		 *字符类型
    		 */
    		System.out.println('a');
    		//字符型变量
    		char c = 'a';
    		c  = 'b';		
    		System.out.println(c);
    		//编码  0 1  字符类型
    		char c1 = 66; //ASSIC
    		System.out.println(c1);
    		//直接输出的是int类型
    		System.out.println(65);
  • 基本数据类型转换

    • 8个基本数据类型占用空间大小

      	一个字节等于8位
      	8个基本数据类型 
      ------------------------------------------
      整数  byte->8    short->16 int->32 long->64 
      小数 float->32  double->64
      字符 char->16  
      布尔 boolean -> 8
      
      
  • 数据类型转换概念

    • 把一种类型赋值给类外一种类型
    • 一种数据类型变化为另外一种数据类型
  • 数据类型得转换

    • 在运算过程当中,如果不同得数据类型进行运算,可能运行的结果发生错误,把一种数据类型赋值给另一种数据类型
    • 所以在运行之前,把类型统一
  • 数据类型转换的原则

    • boolean不属于数值类型,不参与转换
    • 系统可以完成自动类型转型
      • 不能(直接)把一个大的数据类型直接赋值给小的数据类型
  • 自动类型转换

    • 当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量
  • 强制类型转换

    • 当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成转换,需要加上强制转换符
    • 但这样的操作可能造成数据精度的降低或溢出,所以使用时要格外注意。

示例
在这里插入图片描述

自动类型提升
  • 当一个算术表达式中包含多个基本数据类型(boolean除外)的值时
  • 整个算术表达式的数据类型将在数据运算时出现类型自动提升
  • 所有的byte、short、char类型被自动提升到int类型
  • 整个表达式的最终结果类型被提升到表达式中类型最高的类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值