数据类型
强类型语言:安全性高,速度慢
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
要求变量的使用要符合规定,所有变量都必须先定义后才能使用
Java的数据类型分为两大类
基本类型(primitive type)
引用类型(reference type)
public class demo2 {
public static void main(String[] args) {
//八大数据类型
//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//Long类型要在数字后面加个L
//小数、浮点数
float num5 = 50.1F;//float类型要在数字后面加个F
double num6 = 3.1415926;
//字符
char a = '嗲';//只能一个字
//字符串String不是关键字,类
String b = "激怒";
//布尔值:是非
boolean flag1 = true;
boolean flag2 = false;
}
}
什么是字节
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位数二进制数
字节(byte0):是计算机中数据处理的基本单位,习惯上用大写B表示
1B(byte,字节0)=8bit(位)
字符:是指计算机中使用的字母、数字、字、字符
1bit表示1位
1Byte表示一个字节 1B=8bit
1024B=1KB
1024KB=1M
1024M=1G
数据类型扩展
import java.math.BigDecimal;
public class Demo3 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("==============================");
//==============================================================================
//浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//==============================================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0 / 10;//0.1
System.out.println(f == d);//false
float f1 = 23232323f;
float f2 = f1 + 1;
System.out.println(f1 == f2);//true
//==============================================================================
//字符拓展
//==============================================================================
System.out.println("==============================");
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强制转换
System.out.println(c2);
System.out.println((int) c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode表:(a=97,A=65) 2字节 0-65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
//......
System.out.println("==============================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb);//false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd);//true
//对象 从内存分析
//布尔值拓展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
//两行是一样的
//代码精简易读
}
}