java数据类型及其转换
基本数据类型
-
强语言类型:变量要严格符合规定,先定义后才能使用
-
基本数据类型
-
1byte=8bit
-
1024B=1KB
-
1024KB=1M
-
1024M=1G
-
int的长度:-2^31 到 2^31-1
public class Demo02 { public static void main(String[] args) { //八大基本数据类型 //整数 bit(计算机内部数据存储最小单位) int n1 = 10;//最常用,4字节,1字节=8bit byte n2 = 10;//1字节,范围:-128到127 short n3 = 10;//2字节 long n4 = 10L;//8字节,后面加L方便辨别 //浮点 double n5 = 3.1415926;//8字节 float n6 = 3.14F;//4字节,后面加F //字符 char n7 = '中';//2字节,里面只能有一个值 //字符串,String不是关键字是类 //string name = "中国"; //布尔值:对错 boolean n8 = true;//1bit,只有1位,只能是true或false boolean n9 = false; } }
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组(arr)
-
-
弱语言类型:JavaScrip
转换
- byte–>short>char–>int–>long–>float–>double
- 强制转换(由小到大)
package com.sund.base;
public class Demo04 {
public static void main(String[] args) {
int i = 128;//(21亿)
byte s = (byte)i;//强转 内存溢出(byte-128到127)
float d = i;//自动转换
System.out.println(s);
System.out.println(d);
System.out.println("=====================");
//精度问题
System.out.println((int)3.14);
System.out.println((int)3.66F);
//jdk7新特性,数字可以用_隔开
System.out.println("================");
int money = 10_0000_0000;
int years = 30;
int total = money*years;
long total2 = money*years;
System.out.println(total);//-64771072 内存溢出
System.out.println(total2);//-64771072 默认是int,转换之前已经存在问题
long total3 = money*((long)years);
System.out.println(total3);
}
}
- 自动转换:由大到小