1.Java特性:1 ) 简单性 2 ) 面向对象 3 ) 分布式 4 ) 健壮性 5 ) 安全性 6 ) 体系结构中立 7 ) 可移植性 8 ) 解释型 9 ) 高性能 10 ) 多线程 11 ) 动态性
- 简单性、面向对象、健壮性是相对于c语言来说
- 能在很多服务器一起运行,分布式比较擅长
- 安全性是代码逻辑的检测性,安全性检测
- 体系结构中立、可移植性:根据操作系统决定
- 解释性比c语言稍微差点,但是逼近,是相对于其他慢的语言来说的
- java速度逼近c属于高性能
- 线程通过c实现,java中已经封装好了,c实现代价太大
- 动态生成,c不支持
2.
- JDK-->XX.java---XX.class
- JRE-->XX.class---解释给操作系统执行
- SE-->最初java核心功能
- EE-->java社区开发
- SDK-->代码样本/样例(样例代码+解释说明)
3.
char 根据编码决定位数:ACII 编码(8)unicode(16)util-8(16-32)
boolrean在java中 32位
byte类型是8位,256种信息,-128~127,中间有个0
short 16位;long 64位(long类型后面加L long x3=87987L) ,由他们的排列组合决定
同一类型的占位一样,int x1=64;int x2=57887;1和2 的占位是一样多的
二进制 0b开头 ;八进制0开头;十六进制0x开头
E+38 = 10^38
float类型(要以F结尾)和int类型表现的位数是相同的,但是float精度并不一定高,距0越近,精度越高,距0 越远精度越低,float在一定范围内比int精度高,因为它平均间距更大
N进制转M进制(10进制转2进制就是不断的除余,商为0 为止)N进制的1后面有M个0-->N^M
任何N进制向左移动M位,都是相当于乘N^M,向右移动就相当于除以这个数
float 1+8+23 0 00000000 00000000000000000000000 (有效位数6-7位,大概八百多万)
0-255 x y
(2^(x-127))* y
double 1:11:52(有效位数15位)
char类型用‘’表示,存编码
如果一个数在asc和unicode里面都是70,它占的位数在asc里是8位,在unicode里占16位
int转float有精度丢失,float23位,int32位,float容纳不了int
4.
final作用
- final修饰常量,值不可以被二次修改
- final修饰的类不可以被继承
- final修饰的方法不可以被重写
- final防止多线程下的指令重排序,保障线程安全
5.
- 基本类型不管怎么改,它所占的大小是不变的
- 引用类型没法在原地址预测申请多大的空间,大小会改变
6.
==:
- 基本类型和基本类型:比较数值是否相等
- 引用类型和引用类型:比较是否引用同一个地址