2023年JAVA学习笔记完整版.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

周澈 + 关注
实名认证
内容提供者

天堂湖

1亿VIP精品文档

相关文档