数据类型和类型转换
数据类型
-
强类型语言(java)
-
要求变量的使用要严格符合规定,所有变量都必须先定义然后才能使用 ( 安全性高但是速度略慢)
-
弱类型语言(JS)
-
没有要求严格符合规定,安全性低,速度快
-
Java的数据类型分为两大类
-
基本类型(primitive type)
-
整数类型
-
byte 占1个字节范围
-
short 占2个字节范围
-
int 占4个字节范围
-
long 占8个字节范围
-
浮点数
-
float 占4个字节范围
-
double 占8个字节范围
-
字符类型
-
类型char 占2个字节
-
boolean类型
-
占一位(值只为Ture or false)
-
-
引用类型(reference type)
除基本数据类型以外其他类型都叫引用类型
-
类
-
接口
-
数组
相关内容在 D:\百度云盘\JavaSe\基础语法\src
Demo_02 Demo_03
-
-
尽量避免使用浮点数进行比较
银行,金融类使用的数据类型
Class BigDecimal
字符转换为数字
char a = 'f';
char a1 = '赵';
System.out.println(a);
System.out.println((int)(a)); //强制转换类型
System.out.println(a1);
System.out.println((int)(a1));//强制转换类型
//输出结果
f
102
赵
36213
所有的字符本质都是数字
编码 Unicode 表 : 'f'=102, '赵'=36213, 'a'= 0061
转义符
System.out.println("Hello\tWord");
System.out.println("Hello\nWord");
//转义字符
// \t 制表符相当于加了个tab
// \n 换行符
//布尔值扩展
boolean flag = ture;
if (flag == ture){}; //此代码和下面的意义完全相同
if (flag){}; //一般使用此方法判断,满足条件则执行后面的操作
//Less is More! 代码要精简易懂
类型转换
-
由于Java是强类型语言,所以进行有些运算的时候,需要用到类型转换
低---------------------------------------------------高 (容量)
byte, short, char ➡➡int➡➡long➡➡float➡➡double
小数优先级一定大整数
-
运算中,不同类型的数据先转换成同一类型,然后进行运算
-
强制类型转换
高到低需要强制转换
格式 (类型)变量名
-
自动类型转换
低--高
/*
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换成不相干的类型
3.在把大容量转换到低容量的时候需要强制转换,反之则不需要
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println("===========================================");
System.out.println((int)23.7); // 转成 23 内存溢出
System.out.println((int)-45.89F); // 转成 -45 精度问题char d = 'a';
int e = d+1 ;
System.out.println(e);
System.out.println((char)e); // Unicode编码按顺序排队,a+1结果为b
将字符'a'转换为int类型,加1后转换回char类型则变为'b'
//操作比较大的数的时候,注意溢出问题
//jdk7的特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int year = 20;
int total = money * year; //计算的时候溢出了,结果为-1474836480
System.out.println(total);
long total2 = money * year;//先计算出结果,类型为int,计算完之后再转换类型没有作用
System.out.println(total2);
long total3 = money * ((long)year);// 先把一个数转换为long,输出的结果为long类型
System.out.println(total3);

浙公网安备 33010602011771号