java基础学习总结.docx

上传人:b****2 文档编号:1164007 上传时间:2023-04-30 格式:DOCX 页数:16 大小:26.95KB
下载 相关 举报
java基础学习总结.docx_第1页
第1页 / 共16页
java基础学习总结.docx_第2页
第2页 / 共16页
java基础学习总结.docx_第3页
第3页 / 共16页
java基础学习总结.docx_第4页
第4页 / 共16页
java基础学习总结.docx_第5页
第5页 / 共16页
java基础学习总结.docx_第6页
第6页 / 共16页
java基础学习总结.docx_第7页
第7页 / 共16页
java基础学习总结.docx_第8页
第8页 / 共16页
java基础学习总结.docx_第9页
第9页 / 共16页
java基础学习总结.docx_第10页
第10页 / 共16页
java基础学习总结.docx_第11页
第11页 / 共16页
java基础学习总结.docx_第12页
第12页 / 共16页
java基础学习总结.docx_第13页
第13页 / 共16页
java基础学习总结.docx_第14页
第14页 / 共16页
java基础学习总结.docx_第15页
第15页 / 共16页
java基础学习总结.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java基础学习总结.docx

《java基础学习总结.docx》由会员分享,可在线阅读,更多相关《java基础学习总结.docx(16页珍藏版)》请在冰点文库上搜索。

java基础学习总结.docx

java基础学习总结

java基础学习总结

【篇一:

第一阶段java基础学习总结】

java基础学习总结

第一阶段任务:

搭建环境,学习myeclipse的使用,java基础语法的掌握。

从10月28日到公司,在技术总监为我安排明确每一阶段的学习任务后,我就进入相关知识的补充,现在将第一阶段的学习情况做一个总结汇报。

之前接触java较少,只是简单了解过,这几天主要对java的语法知识进行了相关的学习,在学习中相对来说,由于之前系统的学习过c++面向对象语言,因此学习起来并不觉得有多大困难,学习也是采用二者的不同点来进行参考学习,并且对于java的特殊地方予以特别的注意。

并且对于每一个知识点,都尝试写有实验代码,通过补充理论知识与实际动手,希望能够快速的将其基本掌握。

现在总结一些自己总结的知识点。

java与c++不同点:

(1)、java属于解释型语言,但是它还是需要编译,但它并不是将源代码编译成二进制代码,而是编译为字节码,然后解释执行字节码,因此具有很好的跨平台性。

这与c++的编译型(编译成二进制代码)语言是不同的。

(2)、在java中不区别定义与声明,c++中需要使用extern来声明一个已经定义过的变量。

并且在java中如果变量没有初始化,就直接使用的话,程序在编译时就会报错,而c++中只会在执行时给出一个随机值。

(3)、在java中const成为保留关键字,并不使用它,在定义一个常量的时候,java中使用final。

而c++中可以使用const、#define、enum来定义常量。

final修饰的表示只能够被赋值一次,赋值后便不可更改。

(4)、在java中goto也被作为保留关键字,当需要跳出循环时,可以使用break、continue都可以用来带标签,而跳出当前循环体。

而在c++中break与continue不具备此功能。

(5)、在java中不能在嵌套的两个块中声明名字相同的变量与常量,而在c++中不存在此限制,c++中会依据不同的块,给予变量不同的作用范围与生命周期。

(6)、java中没有运算符重载的功能,但是我们在使用“+”来连接字符串的时候,这确实又体现了运算符的重载,可并不能因此就说它具有运算符重载的功能。

而运算符重载是c++的一大特点与难点。

(7)、java与c++的内联机制不同,c++中使用inline关键字来声明内联函数,而java是否内联,是交由虚拟机来决定的。

(8)、java中,一个构造器可调用另外一个构造器,使用this(...)与super(...)c++中是不能够这样的。

并且java的垃圾回收是由java虚拟机来进行操作,因此它没有析构器。

这与c++需要手动回收资源也是不同的。

(9)、java与c++的继承也是有些不同,最大的区别是java不支持多继承,只能够单继承。

java中继承使用的关键字是extends代替了c++中的“:

”,并且java中的所有继承都是public的,而c++可以设置多种权限的继承。

(10)、java中一个类只能继承一个父类,但是可以实现多个接口,它提供了接口的概念,而c++中没有此概念,c++中使用纯虚基类实现了接口的功能。

但是二者是有很大差别的。

(11)、java中的数组与c++的数组也是不尽相同的。

在java中比如定义一个数组int[]a;首先是在栈区分配了一段空间,名字为a,当再次使用a=newint[10];的时候,

它会在堆区分配10个位置,名字分别是a[0]、a[1]...这与c++中是有很大差别的,c++中一维数组分配的位置都在栈区,并且可以通过a++这种方式来遍历数组,它定义数组也不需要new,可以直接给出数组的大小。

(12)、在参数传递方面,二者也略有不同,java中都是值传递,而c++中有值传递与引用传递(指针传递实质上也是值传递,只不过传的是地址)。

由于java中都是值传递,它具备以下几个特点:

①一个方法不能修改一个基本数据类型的参数(即数值型与布尔型);②一个方法可以改变一个对象参数的状态,③一个方法不能让对象参数引用一个新的对象。

java的特性:

(1)、java具有两大类的数据类型,分别是:

8种基本数据类型,对象引用数据类型。

其中java将布尔类型,原来在c++中false就是0,true就是1。

java中直接定义为false与true。

(2)、java中string的字符串为不可变字符串,stringbuffer为可变字符串,也就是string的值一旦被创建它就不可被修改。

因为这个类前面使用了final来修饰。

(3)、在一个java源文件中,只能有一个公有类(public),但可以有任意数目的非公有类。

如果在其中此时再定义接口,接口的属性也只能是默认,不能是public。

(4)、在类中的静态方法,没有this指针,因为它是属于一个类的,而不是某个对象。

在静态方法中不能直接访问非静态变量(可通过调用方法来访问变量),但是可以直接访问本类中的静态变量。

非静态方法可以直接访问静态变量。

(5)、java中的super与this的区别:

super不是一个对象的引用,不能将super赋给另外一个对象的变量,它只是一个指示编译器调用父类方法的特有关键字。

而this是一个对象的引用,它指向它自身,同一个类不同对象拥有不同的this。

(6)、关于final的几个重点:

final定义的类,不能够被继承。

如果在某个类中(非final类)某个方法使用了final来修饰,那么在子类中不能使用重写这个方法。

final类中所有方法自动地成为final方法,但是其中的变量并不是final的。

(7)、在java中有一个关键字,instanceof来判断一个类b是否属于类a的子类,常常用于在类型转换时,进行检查类的匹配问题。

(8)、不能构造接口对象,但是可以声明接口变量;不能构造抽象类对象,但是可以声明抽象类变量。

(9)、接口的修饰符只能为默认的default或者public,它其中的所有方法都是抽象的,被自动设为public,变量自动设为publicstaticfinal。

(10)、java中抽象类与接口的差别:

①抽象类用class来修饰,接口用interface来修饰,抽象类可以继承,接口也可以继承;②一个类可以实现多个接口,但是只能继承一个抽象类;③抽象类可以有非抽象的方法,继承它的子类可以对这些方法重写;但是接口中的方法全部为抽象方法,实现这个接口的类,必须全部用重写接口中的方法;④在抽象类中定义的方法,他们的修饰符可有这些选择:

publicprotecteddefaultprivate。

而接口中的方法全部是public的;⑤抽象类可以有构造函数,而接口没有构造器。

(11)、java

异常处理用try{}catch{}来扑捉,一般在catch末尾finally来释放掉一些稀有资源,不管释放扑捉到异常,finally中的语句一定会被执行的。

一般来说,对于异常也可不出,某个方法有异常,在调用它的方法中继续用thows继续抛出异常,让上一级处理。

一般规定除runtimeexception以外其他的异常,在程序中出现时,都必须处理。

以上内容,是我这几天学习整理所得,由于初学,有些地方不准确、不严谨,希望刘老师给予指正与指导。

很多更深入的java知识,需要在实践中得到不断的补充,在后面实际工作中,希望得到刘老师刘总监帮助。

何磊

2013年10月31日

【篇二:

java基础部分学习心得】

一.java

数据结构,链表~

一.java简介

java核心机制:

java虚拟机(实现了一处编程,到处运行),因为其运行过程是先编译成.class字节码文件,然后在jvm(javavirtualmachines)运行,不同的操作系统有不同的虚拟机,所以实现了一处编程,到处运行。

垃圾收集机制(:

帮助解决了一些健壮性的问题,不像c/c++那样内存管理那样麻烦),在编程过程中,会创建许多对象,存储在堆空间里,占用内存,但是java的垃圾回收机制,会不定时的自动回收在堆空间里没有任何引用指向的对象,所以在编程时应习惯性及时将不用的引用设置为null。

可以通过system.gc();来快速执行垃圾回收机制。

j2sdk(jdk):

javadevleopmentkit软件开发包,,开发需要jdk(包含jre,编译运行开发工具)。

jre:

javaruntimeenvironment运行环境,,用户只需要jre(包含系统类库和jvm)。

软件格式:

每一个类都对应一个class文件

如果一个源文件文件中包含public类,则该文件名必须以该类命名,每个源文件中最多有一个public类

java的执行入口是main()方法,固定格式:

publicstaticvoidmain(string[]args){…}数组名字可以改变。

区分大写小~

二.java语言基础

变量取名:

标识符选取取名:

一定要注意“见名知意”,,但不能和java语言的关键字重合‘字符常量’“字符串常量”

变量使用:

先声明,再赋值,才可以使用变量

基本类型:

4类8种;

boolean类型:

逻辑运算,用于程序流程控制,只能取true,false

char类型:

字符类型eg:

charechar=’中’,unicode编码(每个字符对应有一个编码)每个字符占两个字节,无论中午,英语,数字,每个字符都是占两个字节。

整数类型:

byte占一个字节-128-127

short2个字节

int4个字节对应包装类integer

long8个字节

浮点类型flaot4个字节

double8个字节对应包装类double

格式很重要

1.大括号对齐

2.遇到{用taborshift+tab

3.程序块之间加空行

4.运算符两侧加空格

有特定的条件

5.并排语句之间加空格

6.{前面有空格

7.成对编程

异或^相异为true

逻辑和逻辑|无论结果如何,后面的表达式一定会计算

短路和短路||第一个表达式已经可以得到结果了,后面的不算了

分支循环语句

if语句

if

elseif

elseif

elseif

else当只有一句语句要执行的时候,可以省略大括号{}~但是目前无论是否可以省略,都写上

循环语句

for循环,for(表达式1;表达式2;表达式3){语句;...;}

while循环while(逻辑表达式){语句;...;}

dowhile循环do(语句;...;)while(逻辑表达式);注意,,dowhile循环while(逻辑表达式);的分号

if语句后面注意不要加分号,不容易被查错~

continue语句,用在循环中,终止当前循环中下面的语句,到下一次循环

switch(){

casexx:

语句;

casexx:

语句;

default:

语句;

}

这里注意case和break的搭配使用,如果没有break,则程序会一直向下执行。

方法public(static)返回值类型方法名称(形式参数;...){方法体;java语句;return返回值}当出现return时,立即返回。

无返回值时,类型为void

static是静态方法,直接使用类名调用,非静态方法,需要使用对象调用。

方法只有当调用的时候,才会执行,方法中涉及的局部变量,在方法被调用时,出现在栈空间,一旦方法结束,所占用内存消失。

...{

method(实参;...)//调用

}

(面试)递归~~

三.面向对象

面向对象编程:

运用人类正常思维方式构造系统,常使用的原则和思想方法:

抽象,继承,分类,聚合,多态

1.使用人类自然语言,描述这个业务的需求

2.根据业务需求寻找涉及的事物类---对象

3.数据模型设计:

利用数据描述对象,以及对象之间的关系,将对象数据化。

4.概要设计

类的设计(概要设计):

定义类的属性

数据如何初始化:

构造器,工厂方法。

详细设计

5.利用分析数据

6.根据数据设计算法实现功能

7.逐一实现算法

8.实现用户响应

9.界面状态管理

用面向对象考虑问题时,不应该考虑第一步,第二部要做什么,1.首先考虑的是,这个问题涉及哪些类和对象,2.考虑这些类和对象,每一种应该具有哪些行为和属性3.每类和类之间具备了什么关系。

类是一类事物的一个抽象

对象这个类具体的一个实例

类和对象多为关系:

关联关系

继承关系:

一般和特殊的关系,eg:

游泳运动员是运动员的一种,足球运动员是球类运动员的一种。

聚合关系:

整体和部分的关系,eg:

队长和队员是球队的一部分,是聚集关系,头和手是身体的一部分,是组合关系。

实现关系:

多态:

成员变量可以不初始化,java默认会初始化

对象的创建和使用:

使用new关键词来创建对象

对象.成员变量来调用对象的成员变量(引用)

对象.方法来调用对象的方法(引用)

同一类的每个对象有不用的存储空间

同一类的每个对象共享该类的方法

构造方法:

构造方法的名字和类名要完全一样,和new一起使用来创建新对象,对对象进行初始化的。

在类中用来初始化对象的一个方法(函数)

eg:

publicclassperson{//创建一个person类

intid;

intage=20;//定义成员变量

person(int_id,int_age){//定义一个构造方法,方法名必须与类名完全一样

id=_id;

age=_age;

}

publicstaticvoidmain(string[]args){

persontom=newperson(1,20);//创建一个对象tom,利用构造方法进行了初始化

}

没有指定构造方法时,编译器自动指定一个空的,一旦自己定义了,编译器就不定义了,构造方法前面没有返回值

类名首字母大写,方法名变量名小写,后面的每一个单词的首字母都要大写方法一旦执行完毕,为这个方法所分配的局部变量的存储空间将消失

方法重载,构造方法的重载:

方法名相同,类型相同,但是参数变量类型不同的,可以构成重载,构成多个方法,调用时会根据不同的参数选择相应的方法

构造方法与普通方法一样,可以进行重载

关键字:

this

在那个对象,this就指向那个对象,指向对象本身自己的引用

static:

在类中用static声明的成员变量是静态成员变量,分布在dataseg内存空间里,在第一次使用时被初始化并且只有一份,整个类的所有对象都可以使用,可以用类名.静态成员变量,来直接调用。

用static声明的方法叫静态方法,动态方法通过某一个对象来调用,静态方法没有对象照样可以使用,eg:

类名.静态方法,来调用,不用写对象名字,所以在static方法里不能访问非static的成员

static里不会隐式传递this关键字,即调用不了对象属性

所以当一个方法只和参数相关,则使用static方法,如果和成员变量相关,则不使用。

静态的方法不针对某个对象调用,非静态成员专属于某个对象,所以静态方法,不能访问,

可以通过对象引用,或者类名来访问静态成员

static块:

在类加载期间就被执行的语句块,软件运行时,会先在jvm上加载类,则static块可以用来加载许多初始化资源。

包:

package和import、

【篇三:

java入门基础知识总结学习教程大全【必看经典】】

第一讲java语言入门

一有一种学习叫无论你身处何地,都可以来看java现场直播

其实别看我说的头头是道的,其实在我刚准备学java的时候,也老迷茫了,当然有时候迷茫是因为才华配不上梦想,身边的朋友总是叨叨那谁谁做java工资多么多么的高,整的我心里痒痒的羡慕妒忌恨,所以就找了很多学习java的机构,后来在我们济南这边选择了一家学习,学了半年,就学了一些不着调的基础知识,勉强的能编点小程序,其实啥实战能力也没有,老师教学的时候他自己讲的都云里雾里的,让我们这小新入行的小白更是摸不着头脑了。

我一看,这样下去,我的java梦也就蔫吧了。

后来我一哥们在网上给我说了一个地方让我去学习,他们那里每天晚上都有公开课,老师现场讲的,于是我就抱着玩的态度,去听了几天他们的公开课,听的我是豁然开朗,老师讲的是通俗易懂,把抽象的java,讲解的形象生动,我就觉得和讲故事似的,这才是我想要的课程,从那时候开始,我就每天晚上去学习,如果各位小伙伴也想去学习的话,你们可以加一下他们这个群就可以去学习了,前面的第一组数字是:

一四三,中间的第二组数字是:

五一零,结束的一组数字是:

一六八。

按照顺序组合就可以了,反正我通过自己的经历发现一个道理,选择不对,努力白费。

1.1java的特点

1.1.1面向对象:

?

与c++相比,java是纯的面向对象的语言

c++为了向下兼容c,保留了很多c里面的特性,而c,众所周知是面向过程的语言,这就使c++成为一个混血儿。

而java语法中取消了c++里为兼容c所保留的特性,如取消了头文件、指针算法、结构、单元等。

1.1.2可移植(平台无关性):

?

生成中间字节码指令

与其他编程语言不同,java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。

任何操作系统,只要装有java虚拟机(jvm),就可以解释并执行这个中间字节码文件。

这正是java实现可移植的机制。

?

原始数据类型存储方法固定,避开移植时的问题

java的原始数据类型的大小是固定的。

比如,在任何机器上,整型都是32位,而c++里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像sunsparc这样的32位处理器中,整数用4个字节表示。

在intelpentium处理器上,整数类型由具体的操作系统决定:

对于dos和win32来说,整数是2个字节;对于windows9x、nt和2000,整数是4个字节。

当然,使

整数类型平台无关之后,性能必然有所下降,但就java来说,这个代价是值得的。

java的字符串,则采用标准的unicode格式保存。

可以说,没有这个特性,java的可移植性也不可能实现。

1.1.3简单

?

java在语法上与c++类似

java的语法与c++很接近,有过c或者c++编程经验的程序员很容易就可以学会java语法;

?

取消了c++的一些复杂而低效的特性比如:

用接口技术代替了c++的多重继承。

c++中,一个

类允许有多个超类,这个特性叫做多重继承,多重继承使得编译器非常复杂且效率不高;java的类只允许有一个超类,而用接口(interface)技术实现与c++的多继承相类似的功能其它被取消的特性包括:

虚拟基础类、运算符过载等

?

java的基本解释器和类支持模块大概仅40k

即使加入基本的标准库和支持线程的模块,也才220k左右。

与gui(图形用户界面)相比,明显小很多

1.1.4健壮

?

取消了指针算法

c的最关键的一个特性是它的强大指针算法,比如可以用指针访问字符串、数组甚至文件,很容易产生指针溢出,意外地改写内存和损毁数据。

java里有一个指针模型,对于普通的任务,如访问字符串、数组,根本不用指针,而一旦需要,比如访问对象、文件时,也可以获得指针的强大能力,但java同时有高度的指针安全保障,用户永远不可能访问一个坏掉的指针、不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。

1.1.5多线程

?

强大的多线程能力

多线程可以使程序有更好的交互性和实时性,并可以最大限度地利用多处理器系统。

java有着强大的多线程处理能力,因为各主流操作系统平台在线程的实施方面有重大的差异,所以java为不同的操作系统实现了专门的多线程机制。

在这点上来说,java没有做到平台无关。

1.2java简史

?

首次亮相--1995年5月

java技术起先是作为小型的计算机语言,用于消费类设备,比如有线电视交换盒等。

因为这些设备的功能和内存均不足以运行大程序,所以程序要尽可能小;另外,由于不同的厂商可能选用不同的cpu,所以要求这种语言不能受限于任何一种独立的体系结构。

1995年5月23日召开的sunworld95

大会上,一种全新的浏览器(今天的hotjava的前身)亮相,标志着java的诞生。

?

开始流行--1996年1月

那时网景公司决定在netscape2.0加入对java的支持,netscape2.0在1996年1月发布,从这一版本开始,所有netscape浏览器均支持java。

注册了java使用许可证的还有ibm、symantec、inprise和其他许多公司。

就连微软,也加入了这一行列(尽管他们支持的java和标准的java稍有不同)。

?

sun的第一个java版本--1996年初

sun公司于1996年初发布了java1.02,遗憾的是,java1.02还未摆脱其小型语言的影子,只适合用来做诸如网页上一个随机移动的文字之类的工作,并不适合用来做正规的程序开发。

java1.02作为一种正规的编程语言,可以说,准备得很不充分。

?

成熟--1998年

1998年12月,java1.2问世了。

它是一个功能全面的、具有高度扩展能力的新版本。

3天后,java1.2被改进成java2,向一次编写,到处运行的目标前进了一大步。

?

现状

现在最新的java版本是jdk1.4,它是一个测试版,稳定的正式版是jdk1.3。

用户可以到

1.3jdk的安装与编程环境的设定

1.3.1java程序的开发过程

经典的java工具包是jdk。

尽管可以用任何文本编辑器,如记事本,都可以直接编写java程序然后用jdk的命令编译和运行,为了调试方便,也为了初学者容易上手,本教程课件将使用一个叫jpadpro的java编写工具来调用jdk的工具。

用户可以到下载这个工具。

1.3.2jdk的安装

1.3.3安装运行之后,应该首先设置jdk工具包所在的路径。

菜单栏的jdk-〉selectjdkdirectory-〉选择刚才安装的jdk路径-〉ok。

1.3.4新建一个project

菜单栏的file-newprojects-选择路径,输入project的名字。

1.4两个简单的程序示例

1.4.1java应用程序:

hello.java

?

编写

新建一个.java文件。

file-〉new-〉javafile-〉输入一个名字:

hello-〉点creatfile.出现了一个空的java文件。

?

编译

jdk-〉compilehello.java或者点击如演示所示的按钮。

实际上是执行jdk工具包里的javac.exe命令,与javacg:

java2jiaochengexampleeach1hello.java是等价的。

便已完成之后在同一个文件夹就会有一个同名的.class文件。

?

看编译结果,改错

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2