文章目录

  • 数据类型
  • 释义
  • 分类
  • 基本数据类型
  • 整型
  • 浮点型
  • 布尔型
  • 字符型
  • 引用数据类型
  • 基本类型转换


数据类型

释义

数据类型是为了把数据分成所需内存大小不同的数据,编程的时候需要用大的数据才申请大内存,这样可以充分利用内存。

Java语言是一种强类型语言,要求所有变量先声明后使用。目的就是为了保证变量或者表达式在编译时就能够确定其类型,并为其分配相应的内存。

分类

基本数据类型

整型

  1. Java整型
byte/short/int/long
  1. 整型取值范围

类型

占用存储空间字节数

数值范围

byte

1

-128~127

short

2

-2的15次方2的15次方-1(-3276832767)

int

4

-2的31次方~2的31次方-1

long

8

-2的63次方~2的63次方-1

  1. Java整型常量的三种表示方法
十进制:如123=1100+210+31=123
 八进制,八进制0开头:如:013=18+31=11
 十六进制,十六进制0x开头:如:0x23=216+3*1=35

【进制转换】

  • 10进制到二进制
示例:求十进制数10的二进制
 6/2=3 余 0
 3/2=1 余 1
 1/2=0 余 1
 将余数逆序输出就是6的二进制表示:110,位数不够补零
  • 二进制到十进制
示例:求二进制110的十进制 规则:取出最后一位,从2的0次方开始乘,将得到的结果相加即可
 02的0次方=0
 12的1次方=2
 1*2的2次方=4
 110的十进制为:0+2+4=6
  • 八进制与二进制、十进制转换类同

浮点型

  1. Java浮点型
float/double
  1. 两种表示形式

十进制形式:例如:123.456 0.314 科学计数法:例如:1.23456E2 3.14E-1

  1. Java浮点型取值范围

浮点声明默认是double类型,若要是float,请在尾部添加f或是F。如:float myFloat=1.23

float myFloat = 1.23f;

类型

占用存储空间字节数

数值范围

float

4

-3.4E38 ~ 3.4E38

double

8

-1.7E308~ 1.7E308

布尔型

适用于逻辑运算,用于程序流程控制

只允许取值为true,false,不可以任何其它形式代替

boolean real = true; // 正确
boolean notReal = false; // 正确
boolean read2 = 1; // 错误
boolean notReal2 = 0; // 错误

字符型

Java字符型

  • 通常意义上的字符,用单个引号括起来的单个字符
    如’1’,‘a’,'b’等等
  • Java采用Unicode编码(即为全球统一语言编码),均可以用十六进制表示编码值
char c = '\u0012';
  • 转义字符,用’\n’来表示,即为转变之前的意义,但依然是个字符
char c = '\n'; // 表示换行符

引用数据类型

类(class、abstract)
接口(interface)
数组(array)

基本类型转换

Java中八种基本数据类型中 除了 boolean类型以外,其他的都可以进行类型转换

小容量到大容量是自动类型转换( 隐式转换 )

容量大小排序为:byte,char,short<int<long<float<doubleByte

short char 三者之间 不能相互转换
但是 byte b = 1 ; short s = b ; 这种转换是没有问题的

大容量到小容量是强制类型转换( 显式转换 )

强制类型转换 需要用 (类型)

int i_1 = 0;
Byte b = (byte) i_1;

强制类型转换会有损精度,并且数据可能出错

!!! 注意 byte,short,char,int 任意 一种或多种在进行运算时 结果为 int值
如果运算中有大于 int类型的数据时,结果为类型最大的这个类型