- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一些JAVA学习笔记
准备工作
1、JDK:javadevelopkit,java开发工具包;
2、JRE:javaruntimeenvironment,java运营时环境;
3、JDK的三个版本:
J2SE:java标准版,桌面程序和小应用程序的开发
J2EE:java公司版,公司级的开发(WEB开发)
J2ME:重要是手持移动设备程序的开发;
4、JAVA的特性:
a简朴的
java屏弃了c++中一些复杂的操作,如指针、结构等
b面向对象的
java是完全面向对象的
c健壮的
java通过检查编译和运营时的错误来保证程序的可靠性
java提供的垃圾回收机制,保证了内存不会泄露
d安全的
e解释的
java是解释执行的,而不是编译执行的,通过生成java的字节码,来解释执行
f平台无关的
java生成字节码,由java解释器来解释
g多线程的
在语言级上支持多线程
h动态的
java将变量或方法的引用转换成符号引用保存下来,传递给解释器,由解释器来动态决定其加载;
5、java跨平台的原理:
.java的跨平台是通过JVM来实现的。Java的编译器在编译java的源代码的时,并不是将变量和方法的引用编译为数值引用,也不拟定内存布局,而是将这些信息保存在字节码中,由解释器在运营时候拟定内存布局。也就是说,java的编译器生成的字节码中,并不包含与特定硬件平台相关的信息。
.java解释器的执行过程分为:字节码的装载、校验、执行。在装载过程中,由装载器装载字节码,所有本地代码都被装载到同一个内存命名空间里,而所有外部引用的代码都有自己的内存命名空间,本地代码只是保存了对其引用的符号信息。当所有字节码都装载完毕后,java解释器就拟定了内存布局。
.通过实现不同平台下的JVM,来实现字节码的跨平台;
6、jdkbinjar.exe可以对程序进行打包、发布;
7、在java中,文献名必须与被声明为public的类相同,所以在java文献中,最多只能有一个public的类;
8、java解释器加载的是类,因此,对类名的大小写是敏感的;
9、/**…..*/这种注释可以自动生成一个注释的文档;
10、当定义了classpath后,java解释器就会按照classpath进行查找,而不查找当前目录,若想查找当前,则在classpath中加入。;
11、java提供了8种基本数据类型:
byte有符号的1字节的整数(-128---127)
注byte类型参与运算时,java会将其类型自动提高为int,
如bytea;a=(byte)(a*2);
short有符号的2字节的整数注同上
int(4)
long(8)注默认1.3这样的数,默认为double
float(4)
double(8)
char无符号的2个字节unicode编码,表达
boolean
12、java数组在定义时,不能直接分派空间;
Int[]array;
Array={1,3};//这种写法是error的
13、java中二维数组,列数可以不相同,事实上每一行都是一个一维数组;
14、inti=3,count;
Count=(i++)+(i++)+(i++);
Out:count=12;
Count=(++i)+(++i)+(++i);
Out:count=15;
位运算
?
1、计算机数据常用16进制表达;
2、原码:第一位为符号位,0表达正,1表达负;
反码:正数的反码是原码自身,负数的反码是符号位不变,其他各位按原码取反;
补码:正数的补码是原码自身,负数的补码是符号位不变,其他各位取反加1;
3、计算机采用补码进行数据解决;
4、位运算符:
按位与只有两位都为1时,结果为1;
|按位或两位任意一位为1时,结果为1;
^按位异或只有两位不同时,结果才为1;
~按位取反
5、移位运算符:
左移
带符号右移(负数:所有空位都补1)
无符号右移
6、API
Java.lang.Integer.toHexString(inti);//整型转换为其相应的十六进制数
7、移位运算的效率要高于存储运算,在一些讲求效率的程序中,应考虑使用移位运算;
8、1左移一位,相称于乘以2;
1右移一位,相称于除以2;
?
?
Java的面向对象编程
?
1、OOP:描述的是对象和对象之间的互相作用;
2、面向过程和面向对象编程的区别:
.面向过程编程,一般是先拟定算法,然后考虑数据结构,而面向对象编程,则是先拟定数据结构,在设计算法;
.面向过程编程,往往是将数据保存到数据结构中,并通过方法来操作
文档评论(0)