java学习总结.docx
- 文档编号:27486560
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:14
- 大小:22.86KB
java学习总结.docx
《java学习总结.docx》由会员分享,可在线阅读,更多相关《java学习总结.docx(14页珍藏版)》请在冰豆网上搜索。
java学习总结
java学习总结
【篇一:
java学习总结】
新疆轻工职业技术学院
j
a
v
a
学
习
笔
记
总
结
班级:
姓名:
一:
java标识符指用户自己定义的类别、变量名、方法名等。
命名标识符应该遵从以下几点原则:
1.区分大小写,长度不限。
2.英文、数字、下划线、美元符号均可使用,但不能以数字开头。
3.不能使用java关键字。
正:
abcde、abc12、_hi、$abc、abc123abc
误:
3abc、#abc、this、super(this、super是java关键字)
二:
java关键字
(1)基本数据类型boolean、byte、char、short、int、long、float、double
(2)访问控制private、protected、public
(3)与类有关的关键字class、abstract、interface、extends、implements
(4)与对象有关的关键字new、instanceof、this、super、null
(5)与方法有关的关键字void、return
(6)控制语句if、else、switch、case、default、for、do、while、break、
continue
(7)逻辑值true、false
(8)异常处理try、catch、finally、throw、throws
(9)其他transient、volatile、package、import、synchronized、native、
final、staticstrictfp
(10)停用的关键字goto、const
三:
java变量与常量
变量是指在程序运行过程中可以改变的量;常量是指一经建立,在程序运行过程中其值保持不变的量。
变量的声明格式如下:
[访问控制符]数据结构变量名1[[=变量初值],变量名2[=变量初值],.....]例如:
inta=10;
常量在程序中可以是具体的值,例如,123,12.3,‘c’。
也可以用符号表示使用的常量,称为符号常量。
符号常量声明的基本格式如下:
final数据类型常量名=常量值
例如:
finaldoublepi=3.14159;
通常,变量和方法均已小写字母开头。
类名以大写字母开头。
四:
java数据类型
1:
基本数据类型
a.逻辑型(logical,也称布尔型)----boolean(1byte)
b.字符型----char(2byte)
c.整型(integral)----byte(1byte)short(2byte)int(4byte)long(8byte)
d.实数型(floating,也称浮点数)----float(4byte)double(8byte)
2.对象数据类型(objecttype)
注意:
:
对于整型数据,把超过其表示范围为的大整数赋给了变量时程序会出现错误。
在超过int型表达范围的整数后,一定要加上字母l(或小写的l)。
整型常数有int型与long型之分,long型常数后,一定要加上字母l或小写的l.。
如:
int型常数:
1,123,-12345,012,0x12
long型常数:
1l,2l,300l,0x12l
对于实数型如果想用float型小数,则要在小数后面添加上字母f或f。
如:
floata=1.23f
五:
java类型转换
(1)自动类型转换系统会自动地将两个字节型数据相加的结果转换成整型,这就是java中所谓的自动类型转换。
如下:
x1byteb1=1;
x2byteb2=2;
x3byteb3=b1+b2;
事实上当编译时会出现错误,就是因为java中这种自动类型转换机制。
x3应改为intb3=b1+b2;。
(2)强制类型转换格式为:
(int)x[与c++不同c++有两种形式:
(int)x和int(x)]。
六:
java运算符:
注意:
优先级的高低(由高到低)
单目运算符-?
算术运算符-?
位移运算符-?
关系-?
逻辑-?
三目-?
赋值运算符
(1)逻辑非(!
)经常用在条件语句中。
(2)位非运算符(~)运算规则:
逢0变1,逢1变0。
一个例题的疑问:
bytea=7;
byteb=a;
system.out.println(b);//会输出-8?
很遗憾上面的代码会报错,原因在于我们把~a这个整型数赋给了一个字节型变量。
改正为byteb=(byte)~a;怎么回事呢?
(3)位移(shift)运算符(,,)
“”将比特位左移一位,右端空位全部填0。
规律:
每左移一位其值就增加1倍。
“”将比特位右移一位,被移动的若为正数,最左端填0;若为负数,其最左端填1。
规律:
每右移1位,其值就减半。
“”表示右移1位,并且无论被移的是正数还是负数,其最左端均填0。
所以,用“”运算符操作负数后,将得到正整数。
注意:
这些运算符操作的数据是原始数据的副本,所以,操作后的原始值不变。
(4)与||
ab:
若a为false,则整个表达式即位假,与b的真假无关,所以运算时b并不被运算(即保持着原来的值)。
a||b:
一样。
运算时一定要注意。
所以与||又被称为短路运算符。
(5)位运算符:
位与()、位或(|)、位移或(^)
ab:
比较两个操作数的比特位,若都为1,则结果为1,否则为0。
如果a=3,b=10,则ab是2。
a—1110
b—1010
【篇二:
关于java学习的总结】
关于java学习的总结
java是一门编程语言。
想对java有所了解,必须清晰的认识到这一点。
但是java又不仅仅是编程语言那么简单。
从它的产生到发展壮大都离不开编程思想的指导。
因此想深入学习java就必须深刻理解编程思想。
当然业务的指导的作用才是开发人员的最终技术解决方案。
以下是个人学习java的一些经验。
首先,学习java的基础。
java的基础与其他编程语言一样有他们自身的编程规则,熟练的掌握其编程规则是学习好一门语言的最重要的基础。
比如说,java是一门强类型的语言,强类型语言是指,每一个对象都必须是属于某种类型,无论是变量,还是类对象,必须精确的定义其所属类型;又比如说java是一门面向对象的高级语言。
面向对象的理解是一切皆为对象。
对象是现实世界的一种抽象,是人们对事物的理解后形成的一种思想在经过共性与个性中不对抽象的产物。
因此学习java基础的时候不要拘泥于语法的学习,而是多使用抽象思想去对象化现实事物。
其次,掌握了java基础,就需要学习编程思想。
编程思想,我个人认为一种指引使用编程语言的逻辑达到自己想要的目的的一种思想指导。
学习编程思想的意图很明显就是有效的有意识的使用编程语言的特性去实现目的。
比如说有人喜欢在一个方法里面实现所有的逻辑;而有人却喜欢把逻辑拆分成一个一个的小逻辑,再把小逻辑组合之后实现目的。
这就是编程思想的不同而导致实现过程不同的结果。
正所谓条条大路通罗马,只是每个人想走的方式不同而已。
当然理解
别人的编程思想那是会对自己有莫大的收益。
特别是一些开源项目的源码。
再次,有了自己的编程思想那就得学习具体的业务逻辑了。
计算机软件的世界是纷繁复杂的。
每一家公司所经营的东西都有他们自己的范围和特色。
比如所有人做oa,有人做路由,而我们公司做的是绩效考核等等。
那么学习绩效考核的业务知识就是重中之重了。
java在我们绩效系统所处的角色是前台数据展现的部分。
那么如何更好的展现数据呢?
答案就是要有良好的业务知识基础知识。
比如说:
要考核就必须要要有数据源,那么数据源怎么来呢?
就是从业务系统中抽取所需要考核的数据;有了数据之后怎么去考核呢?
那就得设定考核项,指标就是考核项了;有了考核项怎么计算出考核项的值呢?
那就是业绩关系的分配了,当每个考核对象的分配关系确定后,统计数据自然而然的可以统计出来了。
当然这只是一个粗略的业务逻辑而已,具体的详细逻辑还必须要深刻体会和学习。
最后,技能服务于业务。
只有把业务理解深刻后,才能够好的去运用各种技术。
java是一种技术,同时也是一种技能,只有把业务学精学透才能更好的为绩效系统添砖加瓦。
【篇三:
java学习总结】
java的一些规定
1、若在源文件中定义了声明为public的类,需要将类所在的源文件的文件名取名为类名
2、在同一个源文件中有且只能有一个定义为public的类
3、编译时文件名大小写是不敏感的,执行的时候加载的类名是大小写敏感的
java的语法
1、byte类型是一个有符号的8位的整数(-128~127)。
其他语言的字节类型通常是无符号的整数。
2、为了保持精度,byte型与byte型或整数运算时,将转换为整型后运算。
将结果赋值给byte变量需要类型转换。
3、short类型(-32768~32767)
4、java中的char类型可以表示0~65535个字符,利用unicode编码格式
5、可以使用单引号字符或者整数对char型赋值
6、java中小数常量被认为double型,若要表明为float型,在其后加f
7、float是4个字节,double是8个字节
8、java中的boolean只有两个取值true和false
9、java中条件判断只能使用true或者false
java中的数组
1、java中一维数组在定义的时候是不能够分配空间的,例:
intnum[];//中括号中不能写大小
只有在定义完成之后为数组分配大小
num=newint[3];
java中数组定义建议采取下面的形式:
int[]num;
数组可以在定义时进行初始化:
int[]num={1,2,3};
或者
int[]num=newint[]{1,2,3};
注意不要写为:
int[]num=newint[3]{1,2,3};
2、java中的二维数组
定义:
int[][]num;
分配空间:
num=newint[1][2];
3、java中二维数组每行的列数可以不相同:
int[][]num;
num=newint[3][];
num[0]=newint[1];
num[1]=newint[2];
num[2]=newint[3];
有些像c/c++中的指针数组
4、java中定义一个数值型数组的时候,会自动将数组的元素全部赋值为0
5、当用初始值填充数组时,不要在中括号中填写大小,例:
int[][]num=newint[2][]{{1,2,3},{4,5,6}};//error
6、java支持不规则数组元素
int[][]num={{1,2,3},{4,5},{6}};
java中的自增操作
1、表现形式与c/c++中一样
java的移位运算符
1、左移
带符号右移
无符号右移
java的包
1、package语句必须是java源文件中的第一条语句。
如果不加package语句,则指定为缺省包或者无名包。
2、包对应着文件系统的目录层次结构。
在package语句中,用“.”来指明包(目录)的层次。
如果在源文件中定义了package(给类取了包名),则类的完整的名字为:
包名.类名。
3、java中提供的包(package)和文件系统的目录层次结构是相对应的。
当为类定义了包名时,
要求在硬盘上有相应包名的目录,该目录下有类文件。
4、可以使用“/”分隔包名和类名,通常使用“.”。
5、包名可以使用多重限定名,例:
packagep1.p2.p3;//即顶层包p1有子包p2,p2有子包p3,包
p3中有当前类。
注意:
文件系统中应该有相应的目录层次结构。
6、可以使用javac的-d参数指定在什么位置生成类的文件,并且会根据源文件中定义的包名生成相应的目录层次结构。
未指定-d则在当前目录生成类文件,并且不会生成package指定的目录
层次。
import语句
1、引入包中的类:
importjava.io.file;
2、引入整个包:
importjava.io.*;
3、在同一包中的类可以相互引用,无需import语句。
4、java.lang包是自动导入的,不需要显式的加上import语句。
5、除非有必要尽量避免导入一个包中的所有类。
类的说明符
1、类的访问说明符
(1)public
(2)default(不加访问说明符时)
2、类的其它修饰符
(1)final表明类为最终类,不能派生其它子类
(2)abstract抽象类
3、将目录下的所有源文件都编译生成:
javac-d.*.java
好处是不需要考虑哪个类先生成了。
4、class关键字前没有加任何访问说明符时,类为缺省类。
不同包中的类无法访问。
5、在不同的包之间访问类时,只能访问到包中声明为public的类。
6、缺省的类访问说明符,表明类只能被同一包中的类访问。
方法的访问说明符
1、方法的访问说明符
(1)public
(2)protected
(3)default(不加访问说明符时)
(4)private
publicprotecteddefaultprivate同类vvvv
同包vvv
子类vv
不同包v
2、方法的其它修饰符
(1)static
(2)final
(3)abstract
(4)native
(5)synchronized
3、final方法:
为了确保某个函数的行为在继承过程中保持不变,并且不能被覆盖(overridden),可以使用final方法。
4、抽象的方法和抽象类:
*在类中没有方法体的方法就是抽象方法。
*含有抽象方法的类,即为抽象类。
*如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。
*我们可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象。
*抽象类需要声明abstract
垃圾回收
1、java虚拟机退出之前
,会去调用函数finalize()
2、java虚拟机中,垃圾回收是作为一个低优先级的线程在运行。
在内存不够的情况下,才会运行垃圾收集器。
3、使用system的静态方法gc()运行垃圾回收器。
接口
1、接口中所有的方法都是抽象的,定义了一类行为的集合,行为的实现由其实现类来完成。
2、使用interface定义接口,而不是class。
3、类使用implements关键字实现接口。
4、接口中所有的方法都是publicabstract。
5、实现一个接口时,如果类需要实例话,则要实现接口中所有的方法。
6、接口不能实例化为一个对象,但实现了接口的类可以作为接口的实例。
7、在接口中声明方法时,不能使用native、static、final、synchronized、private、protected等修饰符。
8、和public类一样,public接口也必须定义在与接口同名的文件中。
9、接口中可以有数据成员,这些成员默认都是publicstaticfinal。
10、访问接口的数据成员的几种形式:
接口.接口数据成员名称
实现了接口的类的名称.接口数据成员名称
实现了接口的类的实例.接口数据成员名称
11、一个接口可以继承自另一个接口。
12、java中不允许类的多继承,但允许接口的多继承。
13、在java中,一个类可以实现多个接口。
14、一个类在继承另外一个类的同时,可以实现多个接口。
内部类
1、内部类:
在一个类中定义另外一个类,这个类就叫做内部类或内置类(innerclass)。
2、内部类可以让我们将逻辑上相关的一组类组织起来,并由外部类(outerclass)来控制内部类的可见性。
3、当我们建立一个innerclass时,其对象就拥有了与外部类对象之间的一种关系,这就是通过一个特殊的thisreference形成的,使得内部类对象可以随意的访问外部类中的所有的成员。
4、内部类可以随意的访问外部类中所有的成员方法和成员变量(包括私有的成员方法和
成员变
量)。
5、java中凡是用new产生的对象,都是在堆内存中分配的。
6、在内部类中引用外部成员变量可以使用以下形式:
外部类名.this.成员变量
例:
outer.this.varname
7、若main函数不在外部类中,引用外部类中的内部类,如声明一个内部类,形式如下:
outer.innerinner;
8、如果想要直接实例化一个内部类对象,必须要有一个引用指向外部类对象
如何在main方法中直接产生内部类对象:
outer.innerinner=outer.newinner();
9、内部类定义可以放在函数、条件语句、语句块中,并且不管内部类嵌套的层次有多深,都可以访外部类的成员。
10、若方法的内部有内部类,方法定义的局部变量需要被内部类所访问,则需要将变量声明为final。
11、对于一个类,访问权限可以是缺省的或者是public的。
而对于一个内部类,还也可以声明为
protected或者private、abstract、final、static。
如果内部类声明为
abstract,则内部类就不能实例化了。
需要在外部类中再定义一个内部类,从声明为abstract的类派生出来,然后再实例化。
一个静态的内部类,只能访问外部类中静态的成员变量或者一个静态的成员方法。
12、静态的内部类可以有静态的成员函数或变量,非静态内部类中不能有静态的声明。
13、在方法中定义的内部类,如果要访问方法中定义的本地变量或者方法的参数,则变量必须被声明为final。
14、内部类可以声明为private或protected;还可以声明为abstract或final。
15、内部类可以声明为static的,但此时就不能再使用外部类的非static的成员变量和非static的成员方法;
16、非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可以声明static成员。
17、产生一个派生类对象的时候,会调用基类的构造函数,产生一个基类的对象。
18、要产生一个内部类对象,首先需要产生一个外部类的对象,然后才能产生内部类对象。
从而建立起内部类对象到外部类对象的一个引用关系。
19、为什么使用内部类?
*在内部类(innerclass)中,可以随意的访问外部类成员,这可以让我们更好地组织管理我们的代码,增强代码的可读性。
*内部类可以用于创建适配器类,适配器类是用于实现接口的类。
使用内部类来实现接口,可以更好地定位与接口关联的方法在代码中的位置。
java中的异常处理
1、java通过异常类表明异常,所有的异常都有个叫做exception的基类。
2、派生自exception的异常类,不一定都在java.lang包中。
3、exception类派生自java.lang.throwable,从throwable派生了2个类:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学习 总结