变量
特点
先声明再赋值
每一个变量属于特定的数据类型
是程序中最基本的储存单元
运行中值可变
使用前必须赋值
本质上指向内存中的一块空间
声明语法
[修饰符] 数据类型 变量名 [=值];
变量的数据类型
Java是强类型语言,所有数据必须指定类型,指导JVM运行时如何分配空间
所有数据类型都是二进制存储
基本类型
8种,便于操作,直接使用关键字声明,结构简单
数值型
表述范围:float > long
整数
byte 1字节 -128~127
short 2字节 -215~(215)-1
int 4字节 -231~(231)-1——————默认
long 8字节 -263~(263)-1——————声明时在后面加"l"或"L"
进制
二进制 0b或0B开头
十进制
八进制 0开头
十六进制 0x或0X开头 0~9 ABCDEF(不区分大小写)
浮点数
两种表现形式——十进制/科学计数法
double 4字节 -3.4003E38~3.4003E38——————默认
float 8字节 -1.798E308~1.798E308 ——————声明时在后面加"f"或"F"
字符型
char 型数据用来表示通常意义上的“字符”
char 2字节 字符用单引号括起来的单个字符 char num=‘a’ char d=‘恋’
可以涵盖世界上所有书面语的字符。
char类型是可以运算的因为char在字符编码表中有对应的数值。在JAVA中,对char类型字符运行时,直接当做对应编码表的整数来对待。
char c=‘a’+1; 先将’a’提升为int,计算结果98,对应的字符是b。
布尔型
适用于逻辑运算,一般用于程序流程控制
boolean——true/false
不可以0或非 0 的整数替代false和true,这点和C语言不同。
引用类型
除了8种基本类型以外都是引用类型.
类作为类型可以看做是符合类型,结构复杂.
还有:类(class),——包含字符串
接口(interface),
数组([])
编码
最早美国的ASCII码————缺点:不能表示所有字符
Unicode编码——采用2字节存储,Java底层存储采用
UTF-8:在文件中储存
网络传输时使用
特点:长度可变
一个中文——3字节 一个英文——1字节
基本数据类型的转换
Java的8种数据类型除布尔类型外都可以相互转换
默认转换
容量小——>容量大——直接转换
byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型
强制转换
容量大——>容量小——加强制转换符
可能造成精度降低或溢出
混合运算时小容量自动转换为大容量
public static void main(String[] args) {
//默认转换
byte a=120;
int b=a;
long c=b;
float d=c;
double e=d;
System.out.println(e);
//强制转换
double A=5201314.1314520;
float B=(float)A;
long C=(long)B;
int D=(int)C;
short E=(short)D;
System.out.println(E);
//混合运算
float m=2000.08F;
int n=4;
short p=21;
int q=(int)m+n+p;
System.out.println(q);
}
运算符
算术运算符:+加 -减 *乘 /除 %取余 ++自加 --自减
+表示 正数 字符串连接 加法运算
public class SuanshuYUnsuan {
public static void main(String[] args) {
int a=2;
int d=3;
int b=a++ +2;//先a+2再a++
int c=++d +