最近要重新学习下java,于是便想着整理下所学习的java知识点,想到以前的和看到的都会记录下来.
重要的东西我会标注出来.
java关键术语:
1)简单性(easy)
java的比C/C++更易学习,java剔除了C++中很少使用的难以理解的特性
2)面向对象(OO)
面向对象设计是把重点放在对象及对象的接口上的一个编程技术.
3)网络技能
java的网络能力强大且易用
4)健壮性
java采用指针模型而不使用指针模型,可以消除重写内存和数据崩溃的可能性。
5)安全性
java可以构建防病毒,放篡改的系统,安全性能高.
6)体系结构中立
java编译其生成体系结构中立的目标格式可以在很多处理器上执行.
7)可移植性
java不依赖于具体实现的地方,所有数据类型都有固定大小,二进制数据以固定格式进行传输和存储,字符串用标准的Unicode格式存储
8)解释性
java解释器可以在任何移植了解释器的机器上执行java代码
9)高性能
字节码(在运行时)可以快速的翻译成运行这个程序的特性cpu机器码
10)多线程
java把多线程实现交给地下操作系统或线程程序完成,带来更好的交互影响和实时行为
11)动态性
将代码添加到正在运行的程序中
JAVA基本程序结构设计
1 数据结构
1.1 整型
byte 1字节 -2^8 ~ 2^8-1
short 2字节 -2^16 ~ 2^16-1
int 4字节 -2^32 ~ 2^32-1
long 8字节 -2^64 ~ 2^64-1
**表示:
8进制在数值前加L或0(因此8进制表示容易混淆,不推荐使用);
16进制在数值前加0X;
2进制在数值前加0b;**
1.2 浮点型
float 4字节 -2^32 ~ 2^32-1
double 8字节 -2^64 ~ 2^64-1
区分:
float数值后面会跟一个F
1.3 char类型
char类型用于表示单个字符.通常用来表示字符常量
1.4 boolean类型
有两个值false和true,用来判断逻辑条件
1.5 数值转换
就两条
浮点数转整形,精度可能丢失;
大数转小数,精度可能丢失;
2 变量
在java中每一个变量属于一种类型,在声明变量时,变量所属的类型位于变量名之前.
变量声明后,必须使用赋值语句对变量进行显示初始化,千万别使用未初始化的变量.
ps:汉字也是可以作为变量使用的,但是不推荐,容易产生bug
3 常量
利用关键字final指示常量
关键字final表示这个变量只能被赋值一次.
4 运算符
4.1 算数运算符
没什么好记的
+(加) -(减) *(乘) /(除) %(取余)
**要注意的是使用类似(+=)的符号是java会执行一次类型的转换.**
还有就是除法运算,被除数不能为0(运行会报错),大家都知道,但是如果是一个浮点数的运算那么被除数是可以为0的.比如(5.0/0)会得到Infinity(无穷大),(0/0.0)会得到Nan(不是一个数).
4.2 关系运算符
等于符号(==) 不等于符号(!=) 大于符号(>) 小于符号(<)
大于等于符号(>=) 小于等于符号(<=)
4.3 位与逻辑
与(&) 非(~) 或(|) 异或(^)
&:双目运算符,当相同的位上均为1是结果为1,否则为0;
原理:运算符在运算时会把运算数转换成二进制在进行比较运算.
~:单目运算符,数字0变1,1变0;原理同上;
|:当两边操作数有一边为1时,结果为1,否则为0; 原理同上;
^:两边位数不同时结果为1:原理同上;
4.4 逻辑运算符(boolean运算符)
与(&&) 或(||) 非(!)
**上面的与或是"短路"运算符,及当左边的表达式会决定整个表达式的值的时候就不运行右边的表达式了.**
与(&) 或(|):这两个不管结果如何,都会运行全部的表达式.
4.5 运算符级别
从高到低
[] .()(方法调用)
! ~ ++ --(一元运算) ()(强制类型转换) new
* /
+ -
<< >> >>>
< <= > >= instanceof(用于判断一个变量是否某个对象的实例)
== !=
&
^
|
&&
||
?:
= += -= *= /=