ImageVerifierCode 换一换
格式:DOCX , 页数:65 ,大小:2.74MB ,
资源ID:19244881      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19244881.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java基础部分学习心得.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java基础部分学习心得.docx

1、java基础部分学习心得一Java数据结构,链表一Java简介JAVA核心机制:JAVA虚拟机(实现了一处编程,到处运行),因为其运行过程是先编译成.class字节码文件,然后在jvm(Java Virtual Machines)运行,不同的操作系统有不同的虚拟机,所以实现了一处编程,到处运行。垃圾收集机制:(帮助解决了一些健壮性的问题,不像C/C+那样内存管理那样麻烦),在编程过程中,会创建许多对象,存储在堆空间里,占用内存,但是java的垃圾回收机制,会不定时的自动回收在堆空间里没有任何引用指向的对象,所以在编程时应习惯性及时将不用的引用设置为null。可以通过System.gc();来快

2、速执行垃圾回收机制。J2SDK(JDK): JAVA Devleopment kit软件开发包,开发需要JDK(包含JRE,编译运行开发工具)。JRE:JAVA Runtime Environment 运行环境,用户只需要JRE(包含系统类库和JVM)。软件格式:每一个类都对应一个class文件如果一个源文件 文件中包含public类,则该文件名必须以该类命名,每个源文件中最多有一个public类JAVA的执行入口是main()方法,固定格式:public static void main(String args)数组名字可以改变。区分大写小2Java语言基础变量取名:标识符选取取名:一定要注

3、意“见名知意”,但不能和JAVA语言的关键字重合字符常量“字符串常量”变量使用:先声明,再赋值,才可以使用变量基本类型:4类8种;Boolean类型 :逻辑运算,用于程序流程控制,只能取 true ,falseChar类型 : 字符类型eg:char eChar=中,Unicode编码(每个字符对应有一个编码) 每个字符占两个字节,无论中午,英语,数字,每个字符都是占两个字节。整数类型 :byte 占一个字节 -128-127 short 2个字节 Int 4个字节 对应包装类Integerlong 8个字节浮点类型 flaot 4个字节double 8个字节 对应包装类 Double格式 很

4、重要1.大括号对齐2.遇到用TAB or shift+Tab3.程序块之间加空行4.运算符两侧加空格 有特定的条件5.并排语句之间加空格6.前面有空格7.成对编程异或 相异为true逻辑& 和逻辑| 无论结果如何,后面的表达式一定会计算短路& 和短路| 第一个表达式已经可以得到结果了,后面的不算了分支循环语句If语句Ifelse ifelse ifelse ifelse 当只有一句语句要执行的时候,可以省略大括号 但是目前无论是否可以省略,都写上循环语句for循环,for(表达式1;表达式2;表达式3)语句;.;while循环 while(逻辑表达式)语句;.;do while 循环 do(语

5、句;.;) while(逻辑表达式); 注意,do while循环 while(逻辑表达式);的分号if 语句后面注意不要加分号,不容易被查错break语句 终止某个语句块的循环,用于循环中,强制跳出循环continue 语句,用在循环中,终止当前循环中下面的语句,到下一次循环switch() case xx:语句;case xx:语句;default:语句; 这里注意case和break的搭配使用,如果没有break,则程序会一直向下执行。方法 public (static) 返回值类型 方法名称(形式参数;.)方法体;java语句;return返回值当出现return时,立即返回。无返回值

6、时,类型为voidStatic是静态方法,直接使用类名调用,非静态方法,需要使用对象调用。方法只有当调用的时候,才会执行,方法中涉及的局部变量,在方法被调用时,出现在栈空间,一旦方法结束,所占用内存消失。. method(实参;.) /调用 (面试)递归三面向对象面向对象编程:运用人类正常思维方式构造系统,常使用的原则和思想方法:抽象,继承,分类,聚合,多态1.使用人类自然语言,描述这个业务的需求2.根据业务需求寻找涉及的事物类-对象3.数据模型设计:利用数据描述对象,以及对象之间的关系,将对象数据化。4.概要设计类的设计(概要设计):定义类的属性数据如何初始化:构造器,工厂方法。详细设计5.

7、利用分析数据6.根据数据设计算法实现功能7.逐一实现算法8.实现用户响应9.界面状态管理用面向对象考虑问题时,不应该考虑第一步,第二部要做什么,1.首先考虑的是,这个问题涉及哪些类和对象,2.考虑这些类和对象,每一种应该具有哪些行为和属性3.每类和类之间具备了什么关系。类是一类事物的一个抽象对象这个类具体的一个实例类和对象多为关系: 关联关系继承关系:一般和特殊的关系,eg:游泳运动员是运动员的一种,足球运动员是球类运动员的一种。聚合关系:整体和部分的关系,eg:队长和队员是球队的一部分,是聚集关系,头和手是身体的一部分,是组合关系。实现关系:多态:成员变量可以不初始化,JAVA默认会初始化对

8、象的创建和使用:使用new关键词来创建对象对象.成员变量 来调用对象的成员变量(引用)对象.方法 来调用对象的方法(引用)同一类的每个对象有不用的存储空间同一类的每个对象共享该类的方法构造方法:构造方法的名字和类名要完全一样,和new一起使用来创建新对象,对对象进行初始化的。在类中用来初始化对象的一个方法(函数)Eg:public class Person /创建一个person类Int id;Int age = 20; /定义成员变量Person(int _id , int _age) /定义一个构造方法,方法名必须与类名完全一样id = _id;age = _age;Public stat

9、ic void main (String args) Person Tom = new Person (1 ,20); /创建一个对象Tom,利用构造方法进行了初始化 没有指定构造方法时,编译器自动指定一个空的,一旦自己定义了,编译器就不定义了,构造方法前面没有返回值类名首字母大写,方法名变量名小写,后面的每一个单词的首字母都要大写方法一旦执行完毕,为这个方法所分配的局部变量的存储空间将消失方法重载,构造方法的重载:方法名相同,类型相同,但是参数变量类型不同的,可以构成重载,构成多个方法,调用时会根据不同的参数选择相应的方法 构造方法与普通方法一样,可以进行重载关键字:this在那个对象,th

10、is就指向那个对象,指向对象本身自己的引用static: 在类中用static声明的成员变量是静态成员变量,分布在data seg内存空间里,在第一次使用时被初始化并且只有一份,整个类的所有对象都可以使用,可以用类名.静态成员变量,来直接调用。用static声明的方法叫静态方法,动态方法通过某一个对象来调用,静态方法没有对象照样可以使用,eg:类名.静态方法,来调用,不用写对象名字,所以在static方法里不能访问非static的成员Static里不会隐式传递this关键字,即调用不了对象属性所以当一个方法只和参数相关,则使用static方法,如果和成员变量相关,则不使用。静态的方法不针对某个

11、对象调用,非静态成员专属于某个对象,所以静态方法,不能访问,可以通过对象引用,或者类名来访问静态成员Static块:在类加载期间就被执行的语句块,软件运行时,会先在jvm上加载类,则static块可以用来加载许多初始化资源。包:package和import、在程序的第一行:package com.satisfy(公司域名倒过来).sun(具体名,项目名)class文件应该放在与正确的目录下面,另外该类的源文件可能会产生影响,最好delete或者转移其他的类要想访问的话:1.需要写全类名,2.可以使用import com.satisfy.sun.*(具体类名);来引入,3.如果两个类位于同一个包

12、,也可以。如果其他类与该类不在同一包且不在同一目录下,在其他目录想访问时,需要配置classpath环境变量,将class文件的最上层包的上一级目录配置在classpath下只要进行打包处理,生成的class都要放在正确的目录下,否则无法运行,同样要配置classpath如果一个A类位于A包,引入了B类位于B包,如果想要执行A类,则要写全包名JDK主要的包介绍:Java.lang 里面的类的不需要引入,直接使用 Jar -cvf .jar *.*(当前目录)可以打包访问控制,权限修饰符:private,default,protectde,public修饰符类内部同一个包子类任务地方privat

13、eYesdefaultYesYesprotectedYesYesYespublicYesYesYesyes类的继承:extends,什么什么是一种什么什么,那么他们之间关系就是继承,通过继承,子类自动拥有基类(父类)的所有的方法和成员变量Java只支持单继承,一个子类只能有一个基类,一个基类可以派生出很多子类子类比父类大,子类对象包含父类对象重写:1.可以根据需要对从父类继承的方法,在子类中重写 2.重写方法的返回类型,参数,方法名称必须相同3.重写方法不能使用比被重写方法更严格的访问权限Super:指向当前对象里的父对象一继承中的构造方法:子类对象的构造过程中必须调用父类的构造方法二子类可以

14、在自己的构造方法中使用super(argujment_list)来调用的父类的构造方法1.使用this(argument_list)来调用本类中的其他构造方法2.如果调用super,必须写在子类构造方法的第一行三.如果子类的构造方法中没有显示调用的父类方法,则系统默认调用父类的无参构造方法四.如果子类的构造方法中既没有显示调用的父类的构造方法,而且父类中也没有无参构造方法,则编译出错Object类:是所有java类的根基类Public class Person 等价于 public class Person extends Object方法 toString :返回该对象的字符串表示,通常是对

15、象名+hashcode一般情况下,所有的子类都要重写这个方法,重写请copy,方法equals :指示其他某个对象是否与此对象相等当x与y是同一个对象时,才返回false,可以重写方法,改返回 一些其他的类,String ,Date也重写了equals方法, 方法hashcode:返回该对象的名字加哈希码,这里的哈希码就是返回的物理地址。一般所有类的都要重写这三个方法。对象转型:casting1.父类的引用类型变量可以指向子类的对象2.一个父类的引用不可以访问其子类新增加的成员这里a是父类animal的一个引用,当他指向其子类的一个对象时,不可以访问新增加的furname成员3.可以使用ins

16、tanceof来判断该引用变量所指对象是否该类或者该类的子类a 是父类的引用变量,a instanceof Animal判断a所指的对象是否在Animal类中。4.子类的对象可以当作父类的对象来使用,upcasting,反之,downcasting。加强制转换符多态:多态的存在条件1.要有继承2.要有重写3.父类引用指向子类对象这三个条件一旦满足,当你调用父类里面被重写这个方法时,实际当中,new的是哪个子类对象,就调用那个子类对象中重写的方法用abstrack关键字来修饰一个类,这个类叫做抽象类用abstrack关键字来一个方法时,这个方法叫做抽象方法当一个类里面含有一个抽象方法,abstr

17、ack时,这个类也必须被声明为abstrack类抽象方法,没有实现,public abstrack void method();怎么实现,不用管,子类会去实现,子类会重写这个方法如果子类也没有重写抽象方法,则出错,父类有抽象方法,子类继承了,就必须重写抽象方法,不然就需要重新再定该子类为抽象类,声明抽象方法,则该子类变为抽象类,不能new对象,他的子类来实现方法。抽象类:所以抽象类必须被继承,抽象方法必须被重写抽象类的意义:1.抽象类就是一个父类,可以封装所有子类所共有的成员变量和属性2.为子类提供一个公共的类型3.定义有抽象方法,虽然每个实现同一个行为的方法不一样,但是定义一样,抽象类可以封

18、装4.抽象类不可以被实例化关键字final,1.final定义的变量值(成员变量,局部变量)不能被改变2.final的方法不能被重写3.final的类不能被继承Interface 接口接口是抽象方法和常量值定义的集合接口是一种特殊的抽象类,这个类只包含常量和抽象方法,没有变量和方法实现public interface studentpublic static final int id = 007;public run();public study();public sleep();public sing();接口的特性:1.接口可以实现多种继承2.接口之中声明的属性,默认为public sta

19、tic final,也只能是这样,为了解决一些c+的问题3.一个接口里的方法只能是抽象方法,只能是public4.接口也可以继承其他的接口,添加自己新的属性和方法implements 当实现一个接口时,不是用extends 而是implements 多个无关的类可以实现同一个接口一个类也可以实现多个接口与继承一样,接口与实现类之间也存在多态性“内存分析 非常重要”四异常处理:运行期出现的错误:观察错误的指示和行号最重要(程序永远都是调试调出来的)概念:是java提供的用于处理程序中出现错误的一种机制这里所谓的错误是指在程序运行过程中,出现的一些异常事件(除0溢出啊,数组下标越界,读取的文件不存

20、在啊)良好的程序,应该在发生异常时,提供处理这些错误的方法,使得程序不会因为异常的发生而阻断,或产生不可预见的结果当执行java程序时,如果发生异常,可以生成一个异常类对象,该对象封装了异常事件的信息并被提交给java运行时系统,这个过程叫抛出(throw)当java运行时系统接收到异常对象时,会寻找处理这一异常的代码,并把当前异常对象交给其处理,这过程叫捕获(catch)关键字 try 有可能会发生异常的语句;有可能发生异常的方法;catch (错误类名 对象名) 抓到这个异常了,如何提示对象名.printStackTrace(); /打印这个错误的堆栈信息常见异常:ArrayIndexOu

21、tOfBoundsException用非法索引访问数组时抛出的异常。ArithmeticException 当出现异常的运算条件时,抛出此异常。 所有类的老祖宗类,throwable类 下面又分为两个类: 1.error类:java运行时出现的异常,系统内部出错,java虚拟机出错了 2.Exception类:能够处理的错误,网络故障,文件损坏,设备错误,用户输入非法等情况导致的异常可以catch,可以捕获到,A.分为普通exception,必须捕获的,B. RuntimeException,运行时出现的,经常出的,有时候可以不捕获属于非检测异常常见的5个IllegalArgumentExce

22、ption向方法传递了一个不合法或不正确的异常NullPointerException 空指针异常ArrayIndexOutOfBoundsException,数组下标越界ClassCastException非法转换实例NumberFormatException字符串非法转换为数值类型异常public void somemethod()throws SomeException 声明该方法可能抛出的异常If(someCondition) 当一些条件时throw new SomeException(“错误原因”); 构造并抛出异常对象try 捕获异常someMethod();catch(SomeE

23、xception ex)如何处理的代码 处理异常try 可能抛出异常的语句;catch(某个Exception e) 处理方法catch(某个Exception2 e) 处理方法;finally /无论如何都会执行的语句.Try try.捕获并处理例外的范围可能一种或者几种类型的异常对象,分别后面跟着catch来处理相应的异常如果没有例外发生,不执行catchCatch 相应的异常对象, 在catch语句块中可以使用一些方法来获得一些信息比如 getMessage():用来得到相关异常事件的信息 printStackTrace()用来跟踪异常事件发生时执行堆栈的内容 然后finally 异常处

24、理统一的出口,无论try是否抛出例外,finally里面的语句都要执行所以通常finally语句中可以进行资源的清楚工作:关闭打开的文件,删除临时文件使用一个方法,或者使用一个类,有可能抛出除RuntimeException意外的异常时,一定要trycatch,如果不想trycatch,则需要继续抛出这个异常,交给上级处理为程序的提供一个出口,使得程序流程在转到程序的其他部分的以前,能够对程序的状态做统一的管理抛出异常throws ,如果一个方法,无法处理这个异常,或者不想处理这个异常,那么就使用这个关键字抛出这个异常,在方法声明后面跟着写throws 异常名就可以了。抛出的异常按照先后顺序,

25、从小到大,严格的来说,每一个异常都最好抛出还有一个关键字throw,throw new ArrayIndexOfBoundException()抛出一个异常对象 定义声明自己的异常类 继承Exception异常与继承的关系,当继承的时候,重写了某方法,该方法原本是抛出某一个异常,你在重写的时候,如果要抛出异常,需要抛出与原方法一模一样的异常,或者不抛出异常,注意,如果抛出必须一模一样,范围不能大不能小注意点:A.一段代码可能产生多种异常,分别用catch捕获相应的异常,当发生这个相应的异常时候,会跳到相应的地方进行处理B.如果没有异常发生,则不执行catch里面的语句C.在catch中声明的异

26、常对象封装异常该异常的信息,在语句块中,可以使用该对象的一些方法来处理D.Catch从上到小的异常类顺序应该是从子类到父类,否则编译不通过E.关键词finally语句是最后执行的,无论有没有抛出异常,finally指定的代码都要执行,通常用来释放资源F.自行抛出异常,使用throw关键字G.方法中抛出异常,可以用throws关键字,将异常抛出,交给调用这个方法的上一级来处理H.三个方法getMessage()得到有关异常事件的信息,printStackTrace打印异常的堆栈信息,getCause()获取该异常出现的原因,有时候当一个异常由另一个异常导致的时候,这个方法很重要I.有时候还是需要

27、自己定义异常,继承Exception类自定义异常即可捕获异常,先捕获小的,再捕获大的五数组多种相同类型的数据集合,在内存里面挨着分小格,每个小格里有东西,每个小格有个下标Java的数组不能分配在栈上,属于引用类型,可以看成是一个对象,一维数组声明type var ; 或者,type var 比如int a1 ; int a1;double b;Person p; String s1; 在java里面声明数组不能指定数组的长度 比如 int a5;是错误的使用new来创建数组对象如果使用的是类名 + 来声明一个数组,则指向的是该类名的一个引用,然后new这个对象,该引用指向对象。 这里声明一个数

28、组Date days; days = new Date3;,然后days1 = new Date(构造方法);days2 = new Date(构造方法);.动态初始化:先分配空间,然后再往里面赋值静态初始化:定义数组的同时就为数组分配空间和赋值主方法中main(String args)就是声明了一个数组,如果想打印这个数组的内容,可以在执行程序时,后面增加命令行参数,来使用。System.exit 系统退出 System.exit(-1)非正常退出,0正常退出Java的数组声明,是按照从高维到低维的方式,简单一点说就是从左到右六API常用类String类 代表不可变的字符序列String 类

29、 常用构造方法String(char value)Allocates a new String so that it represents the sequence of characters currently contained in the character array argument.分配一个新的String 使其表示当前字符数组里所包含的字符序列。String(char value, int offset, int count)Allocates a new String that contains characters from a subarray of the charac

30、ter array argument.分配一个新的String,包含当前字符数组里从offset个字符开始的共count个字符,截取一部分。public boolean equals(Object anObject)Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.String类重写的equals方法,将此字符串与指定的对象比较,如果字符串序列相同,则为trueString类常用方法charAt(int index)Returns the char

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1