数据类型
强类型语言
要求变量的使用要严格符合规定,变量要先定义后才能使用 如 Java c
安全性好,处理速度慢
弱类型语言
JS和VB也是弱类型语言
例如'12'+3 = 123字符串和整型可以直接计算的
python swift 写起来是真的舒爽,大三上期安了个黑苹果写IOS应用开发,就感觉自由度高的很,分号都不用写。但最后还是觉得java这种把变量规定好的舒适度高,不会让人摸不着头脑。
Java的数据类型
基本类型(Primitive Type)
-
整数类型
byte -128-127
short -32768-32767
int -2147483648-2147483647 正负21亿
long 太长了不想写 在数字后面加L
整数拓展
进制
int i =10; int i2 = 010; // 八进制 0 int i3 = 0x10;// 十六进制 0x //输出i i2 i3 10 8 16
-
浮点类型
float:4个字节 在数字后面加F
有限 离散 有舍入误差 大约 接近但不等于
所以 最好完全避免使用浮点数进行比较double:8个字节
浮点数拓展
//银行业务怎么表示? BigDecimal //一个数学工具类
-
字符类型
char:2个字节
字符拓展
String sa = new String("hello world"); String sb = new String("hello world"); sa≠sb String sc = "hello world"; String sd = "hello world"; sc=sd //new一个内存就会创建一块空间(字符串常量池),和JVM相关 所以不相等,字符串比较要用equals() //对象 从内存进行分析
-
布尔类型
boolean类型:1 0 ;true false
引用类型(Reference Type)
类
String 字符串
Integer MIN_VALUE = 0x80000000 -2的31次方
MAX_VALUE= 0x7fffffff 2的31次方-1
Byte
接口Interface
数组ArrayList
JAVA的类型转换
//容量
低------------------------------------->>高
byte,short,char->int->long->float->double
在数据运算中,不同类型的数据先转化为同一类型,然后再进行运算。
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
转换的时候可能存在内存溢出或者精度问题
强制类型转换(高--低)
(类型)变量名
int i = 128;
byte b = byte(i);
//i = 128;b = -128
//============================
int(23.7);
int(-45.89f)
//i = 23; i = -45
自动类型转换(低--高)
int i = 128;
double b = i;
//i = 128;b = 128.0
网友评论