A今天学了什么
1.Java的基本结构
java源文件(.java)---->字节码文件(.class)----->jvm(汇编)---->结果
JVM: java虚拟机
JRE:java运行环境 包含JVM+java核心类库(给java程序的用户使用)
JDK:JRE+开发环境(给程序员使用)
2.变量
变量的声明:
变量声明的同时内存为它开辟一个新的空间,未经声明的变量不能使用,先声明类型再声明变量名。可以在一条语句中同时声明多个变量,加,号隔开即可。
变量的初始化:
未经初始化的变量不能使用。
变量的命名:
1.由字母、数字、下划线_、$ 组成
2.首字符不能使用数字
3.不能使用关键字、保留字(goto)
4.中文也可以作为变量名,但不提倡
5.声明变量时要“见文知意”,驼峰法命名,方法名、变量名通常首字母小写,类名通常首字母大写
变量的访问:
对变量的操作就等价于对变量存储内容的操作
对变量的赋值或者操作与其类型要匹配
3.八种基本类型
byte,int,long,short,float,double,char,boolean
.int
int 是最常用的一种整数类型,一个int类型占4个字节,最值表示范围:-2^31~2^31-1 即:-2147483648~2147483647
整数直接量:直接写出来的整数,默认类型是int类型,如果超过int类型表达范围,将出现错误
两个整数相除,会舍弃小数部分而不是四舍五入。
.long
一个long类型占8个字节,64位,最值范围-2^63~2^63-1
如果表示long类型的直接量,需要在赋值后面加 l 或 L 强调, long a=22222222222L
System.currentTimeMillis();
.double和float
float-单精度浮点数 占4个字节
double-双精度浮点数 占8个字节
浮点数的直接默认类型是double
float类型的直接量:3.13f ;在小数的末尾加 f 或 F
double 运行时会出现舍入误差,二进制系统中无法精确的表示1/10,就好像十进制中无法精确表示1/3一样,所以二进制表示十进制会有一些舍入误差,对于一些要求精确运算的场合会导致代码的缺陷。
如果后期需要精确运算可以采用:BigDecimal 类
.char
char占2个字节
字符类型实际是一个16位无符号整数,这个值就是对应字符的编码(0~65535)。java字符类型采用Unicode字符集编码,Unicode是世界通用的定长字符集,所有字符都是16位,2个字节。
字符直接量: 'a' , 变量中实际存储的是该字符的Unicode 编码值,一个char型变量智能存储一个字符。
可以对char类型变量直接赋值整数,结果对应Unicode相应数字的字符。
.boolean类型
只能赋值true 和 false;
适用于逻辑运算,表示条件的判断,一般用于程序的流程控制。
经常用于存储关系运算的结果,即比较变量之间大小相等等关系。
.4类型之间的转换
数据类型大小关系:byte<--char/short<--int<--long<--float<--double(从小到大)
自动转换(隐式转换):从小类型到大类型的转换
强制转换:从大类型到小类型的转换;这种类型转换有可能造成精度损失
数值运算中的自动转换:当多种类型参与表达式运算,计算结果取最大类型转换
.5 byte(一个字节-128~127 -27-(27-1)) short(2个字节) char 三种类型参与运算
运算规则:Int 类型直接量可以给它们直接赋值,但不能超过其表示范围
byte char short 参与运算时都默认转换为int类型,再进行运算
三种类型实际存储的数据都是整数
网友评论