Java入门——数据类型、自动类型转换、强制类型转换

目录

数据类型

基本数据类型

自动类型转换

 表达式的自动类型转换

强制类型转换


计算机中表示数据的最小单元

  • 计算机中表示数据的最小单元:一个字节byte,简称B,是使用8个二进制位组成的)
  • 字节中的每个二进制位就称为位(bit,简称b),1B=8b

十进制转二进制

  • 除二取余法

Java入门——数据类型、自动类型转换、强制类型转换_第1张图片

字符在计算机中的存储方式

  • 采用ASCII编码存储
  • ASCII编码表:即美国信息交换标准编码,规定了现代英语、数字字符、和其他西欧字符对应的数字编号。
char ch = 'a' ;

记住常用的A65) ~Za97)~z048)~9

图片数据-彩色图

  • 图片就是无数个像素点组成的
  • 每个像素点的数据:用0~255*255*255表示其颜色

声音数据本质上也是由二进制的形式进行存储的 

Java入门——数据类型、自动类型转换、强制类型转换_第2张图片

数据类型

基本数据类型

  • 基本数据类型:4大类8种。
数据类型 内存占用(字节数) 数据范围
整型 byte 1 -128~127
short 2 -32768~32767
int(默认) 4 -2147483648~2147483647(10位数,大概21亿多)
long 8 -9223372036854775808~9223372036854775807(19位数)
浮点型(小数) float 4 1.401298E-45到3.4028235E+38
double(默认) 8 4.9000000 E-324到1.797693 E+308
字符型 char 2 0-65535
布尔型 boolean 1 true, false

注意:任意写一个整型字面量,要使它为long类型,则需要在后面加上L(默认为int);而要使小数字面量类型为float,则在后面加上F(默认为double)。 

  • 引用数据类型  ——  String  (后续再详解)

自动类型转换

  • 类型范围小的变量,可以直接赋值类型范围大的变量。

byte -> int

Java入门——数据类型、自动类型转换、强制类型转换_第3张图片

自动转换类型的其他形式

 表达式的自动类型转换

  • 在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

byte 、short、char  →  int  →  long  →  float  →  double

注意: 

  • 表达式的最终结果类型由表达式中的最高类型决定
  • 在表达式中,byte、short、char直接转换成int类型参与运算的。

强制类型转换

类型范围大的数据或者变量,直接赋值给类型范围小的变量,会报错。

int a = 20;
byte b = a; //会报错

强制类型转换

强行将类型范围大的变量、数据赋值给类型范围小的变量。

数据类型 变量2  =  (数据类型)变量1、数据 ;

int a = 20;
byte b = (byte) a;

执行原理

Java入门——数据类型、自动类型转换、强制类型转换_第4张图片

  • 强制类型转换可能造成数据(丢失)溢出
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

END


学习自:黑马程序员——JavaSE入门课程

你可能感兴趣的:(JavaSE,java,开发语言,学习,笔记)