JAVA八大数据类型、引用数据类型

数据类型

  • 字节
    位(bit):计算机内部数据最小存储单位,10001111是一个八位二进制
    字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示,如:1B、3B
    字符:是指计算机中使用的字母、数字、符号和字
    1bit表示1位
    1byte表示一个字节1B=8bit
    1024B=1KB
    1024KB=1M
    1024M=1G

  • 强类型语言
    要求变量的使用要严格符合规定,所有变量都必须先定义再使用。
    比如:java、c

  • 弱类型语言

  • JAVA语言的数据类型分为两大类

  • 基本数据类型(primitive type)
    boolean类型:占一位;要么true要么false。
    数值类型:(整数四个、浮点两个、字符一个)

类型范围/类型
byte(1字节)-128~127
short(2字节)-32768~32767
int(4字节)-2147483648~2147483647
long(8字节)-9223372036854775808~9223372036854775807
float(4字节)单浮点型
double(8字节)双浮点型
char(2字节)字符型
  • 引用数据类型(Reference Type)

    接口
    数组
//八大基本数据类型
//整数
byte number1 = 10;
int number2 = 10;//最常用
short number3 = 30;
long number4 = 40L;//Long类型要在最后加上一个L

//浮点型(小数)
float number5 = 88.8F;//float类型要在最后面添加一个F
double number6 = 88.8888888888888;

//字符
char name = 'a';
//字符串:String不是关键字,是一个类
//String name = "中国";

//布尔值:boolean(对错)
boolean flag = true;
//boolean flag = false;

拓展

//整数拓展
//进制表示:二进制0b 十进制 八进制0 十六进制0x
int num1 = 10;
int num2 = 0b10;//二进制
int num3 = 010;//八进制
int num4 = 0x10;//十六进制
		
System.out.println(">>>num1="+num1);//>>>num1=10
System.out.println(">>>num2="+num2);//>>>num2=2
System.out.println(">>>num3="+num3);//>>>num3=8
System.out.println(">>>num4="+num4);//>>>num4=16

//浮点数拓展
//float 有限 离散 舍入误差 大约 接近但不等于
//总结:尽量避免使用浮点数进行比较
//银行业务(钱):推荐使用BigDecimal(大数)  数学工具类
float f = 0.1f;
double d1 = 0.1;
double d2 = 1.0/10;
System.out.println(f == d1);//false
System.out.println(f == d2);//false
		
float f1 = 222222222222222222221f;
float f2 = f1 + 1;
System.out.println(f1 == f2);//true

//字符拓展
//字符对应Unicode编码
char c1 = 'a';
char c2 = 'A';
//转义字符
//\t 制表符(Tab)
//\n 换行
char c3 = '\u0061'
System.out.println((int)c1);//97		
System.out.println((int)c2);//65
System.out.println(c3);//a

//字符串拓展
//new开辟新的地址,比较的是两个对象的地址
String s1 = new String("java");
String s2 = new String("java");
System.out.println(s1 == s2);//false 
//比较的是值
String s3 = "java";
String s4 = "java";
System.out.println(s3 == s4);//ture
//涉及对象的内存分析,后面内容会慢慢理解

//布尔值拓展
boolean bo = true;
if(bo){
	System.out.println("true才能执行我")
}
  • 类型转换
    byte,short,char-> int-> long-> float-> double(低到高)
    不同类型数据在进行计算之前,需要转化为统一类型,再进行计算
    两种转换方式:强制类型转换(高到低)、自动类型转换(低到高)
    强制类型转换格式 (类型)变量名
double d = 128.00;
int i = (int)d;
System.out.println(i);//128
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页