数据类型和扩展
强类型语言
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
变量:可以变化的量
- type varName [=value] [{,varName[=value]}];
- //数据类型 变量名 = 值;可以用逗号隔开来表明多个同类型变量。
-
Java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
基本数据类型
数值类型
- 整数类型(primitive type)
-
byte占1个字节:-128-127
-
short占2个字节:-32768-32767
-
int占4个字节:-2147483648-2147486947
-
long占8个字节:-9223372036854775808-9223372036854775807
- 浮点类型-小数点
- float占4个字节
- double占8个字节
- 字符类型
- char占2个字符-单字
boolean类型:占1位其值只有ture和false
引用数据类型(Reference Type)
-
类
-
接口
-
数组
8大基本类型
//8大基本数据类型
//整数
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4=30L;//long类型要在数字后面加L
//小数:浮点数
float num5=50.1F;//float类型要在数字后面加F
double num=3.141592653589793238462643;
//字符
char name = '秦';
//字符串:String不是关键词,是类
String namea="秦将";
//布尔值:是非
boolean flag=true;
//boolean flag=false
字节
- 位(bit):是计算机内部数据储存的最小的单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1byte表示一个字节 1B=8b
- 1024b=1KB
- 1024KB=1M
- 1024M=1G
- 1024GB=1TB
数据类型的扩展
public class demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int I=10;
int i2=010;//八进制0
int i3=0x20;//十六进制0x 0-9 A-F F=16
int i4=0b10;//二进制0b
System.out.println(I);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
//浮点数拓展
//BigDecimal 数学工具类
//float 表现字长有限 离散 舍入误差 约等于 接近但不等于
//double
//最好避免完全使用浮点数进行比较
//最好避免完全使用浮点数进行比较
//最好避免完全使用浮点数进行比较
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//false(//==代表前后)相等
System.out.println(f);
System.out.println(d);
float d1=233333333333f;
float d2=d1+1;
System.out.println(d1==d2);//true
//字符扩展 单引号表示字符常量;
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码问题 Unicode 表:(97=a A=65) 占2个字节 65536个字符 EXCLE 最长2的16次方=65536
//U0000-UFFFF
char c3='\u0061';//a
System.out.println(c3);
//转义字符
//\t 制表符
//\n 换行
//....自查转义字符
System.out.println("Hello\nworld");
String sa= new String("hello world"); //new会在内存创建一块新的空间
String sb= new String("hello world"); //new会在内存创建一块新的空间
System.out.println(sa==sb);
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);
//对象 从内存分析解释
//布尔值扩展
boolean flag = true;
if (flag==true){}//新手 明确前后相等
if (flag){}//老手 已知相等
//less is more! 代码需要精简易读
}
}