java是一种强类型语言,每个变量都必须声明其数据类型,变量的数据类型决定了变量占据空间的大小
其中大小用字节来表示
计算机的最小存储单位
字节:Byte B
计算机存储最小单位是 bit位 1b=8bit
数据类型:基本数据类型,引用数据类型
基本数据类型:数值型,字符型(char),布尔型(boolean)
引用数据类型:类(class),接口(interface),数据([ ])
数值型:整数类型(byte,short,int,long),浮点类型(float,double)
byte:1个字节,范围(-128~127)
short:2个字节,范围(-32768~32767)
int:4个字节,范围(-2的31次方~2的31次方减1)
long:8个字节,范围(-2的63次方~2的63次方减1)
float:4个字节,范围(-3.403E38~3.40E38)
double:8个字节,范围(-1.798E308~1.798E308)
char:2个字节,范围(0~65535间的任意字符)
boolean:1个字节,范围(值只有true和false)
"整数类型":
Java中各整数类型有固定的表数范围和字段长度 不受os影响,保证java程序的可移植性
byte 1b -128 ~127 256
short 2b -32768~ 32767 65536 (-2^15 ~2^15-1)
int 4b -2147483648 ~ 2147483647 (-2^31 ~ 2^31-1)约21亿 (整数默认是int)
long 8b -2(63) ~ 2(63)-1
long类型的字面值 一般会在数字后边加l或者L long l=200L
"小数类型"(浮点类型 他们的区别是精度不同 也是整数后边的小数位数不同)
Java中各小数类型有固定的表数范围和字段长度 不受os影响,保证java程序的可移植性
float 4b 1.4E-45~3.4028235E38
声明+f/F 单精度 float的精度为7~8位有效数字; 保留小数点后7位
double 8b 4.9E-324~1.7976931348623157E308
声明+d/D 双精度 double的精度为16~17位 (小数默认是double类型)
还能用科学计数法表示 double d=1.4e10; //1.4*10*10
这两个满足日常使用,但是在做一些银行,金融项目的时候这俩精度是不够的,后边会有专门的讲解
"字符型"(unicode编码 世界各国的文字都能成为char的字面值)
char 2b \u0000 (0) ~ \uffff(65535)'A'= 65 '0'=48 'a'=97
char c='A' 65 '\u0041' //0041 16进制的数转成10进制就是65
转义字符: '\t' 制表符水平跳格(相当于tab键) '\n' 表示换行; '\'' 单引号; '\"'双引号; '\\' 斜杠
char和int是相通的 可以做运算
定义: 还可以使用unicode值来表示字符 char c='\uXXXX';
"布尔类型"
boolean (理论上占用1bit,1/8字节,实际处理按1byte处理)
字面值: true /false 二者取其一
是不能参加运算 (C语言可以 false=0 true =1)
变量的定义和使用:
1 变量的基本定义格式是什么 强类型语言: 变量存储的数据要和数据类型要完全一致
数据类型 变量名 = 数据值;
举例:
int a = 10;
2 变量的扩展的定义格式(看见认识)
格式1: 数据类型 变量名; 变量名 = 数据值; 举例: int a; a = 10;
格式2: 数据类型 变量名1,变量名2,...; 变量名1 = 数据值; 变量名2 = 数据值; 变量名3 = 数据值; ... 举例: int a,b,c; a = 10; b = 20; c = 30; 格式3: 数据类型 变量名1 = 数据值,变量名2 = 数据值,...; 举例: int a = 10,b = 20,c = 30;
使用:通过变量名来获取空间中保存的数据值 一个基本数据类型空间只能存放一个值 打印变量保存的数据值 int a = 10; System.out.println(a); //通过变量名找到表示的内存空间,使用这个空间中保存的数据值10
变量的注意事项:
1.在同一个作用范围内不能定义同名变量
2.变量在使用之前要先完成赋值 必须初始化
3.定义long类型变量的时候,数据值后面加L/l (可选)
定义float类型变量的时候,数据值后面加F或者f (必须)
定义double类型的数据的时候,数据值后面可以加D/d (可选)
当运行的时候数据加的符号就消失了
4.变量只在所属的大括号内有效 (从定义开始,到定义它的大括号结束: 作用域范围)
出了所属的大括号就不能使用
5.使用变量名来访问这块区域,