晋江文学城
下一章 上一章  目录  设置

5、Java编程05 ...

  •   第二章 java编程基础

      1、基本格式、注释、标识符、关键字、常量
      (1)基本格式:P24

      JAVA程序代码分为结构定义语句和功能执行语句。结构定义语句用于声明一个类和方法,功能执行语句用于实现具体功能,每条功能执行语句最后必须用分号(;)结束。

      JAVA语言严格区分大小写;编写JAVA程序,通常使用良好格式进行排版,也可在两个单词或者符号之间插入空格、制表符、换行符等任意空白字符;常用排版方式是一行只写一条语句,符号“{”与语句同行,符号“}”独占一行。

      JAVA程序中一个连续符号串不能分成两行书写。若长字符串分两行书写,可讲字符串分成两个短的字符串,然后用加号(+)将这两个字符串连接起来,在加号+处换行。

      (2)注释 P24

      单行注释://
      多行注释:/* */
      文档注释:/* *
      *@author
      * @version
      */
      (3)标识符
      在编程过程中,经常需要在程序中定义一些符号标记一些名称,如包名、类名、方法名、参数名、变量名等。
      标识符可以由字母、数字、下划线-、和美元$符号组成,但标识符不能以数字开头,不能是JAVA中的关键字。
      标识符原则:包名所有字母一律小写,如cn.itcast.test
      类名和接口名每个单词的首字母都要大写,如ArrayList
      常量名的所有字母都要大写,单词与单词之间用下划线连接,如DAY_OF_MONTH
      变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词1首字母大写,lineNumber
      在程序中,应该尽量使用有意义的英文单词定义标识符。userName定义用户名,password定义密码

      (4)关键字:
      关键字是编程语言里事先定义好并赋予了特殊含义的单词
      关键字原则:
      (1)所有关键字都是小写;(2)不能使用关键字命名标识符
      (3)const和goto是保留关键字,虽没有意义,但在程序中不能用来作为自定义的标识符 (4)true、false null虽不属于关键字,但它们也有特殊意义,也不能作为标识符使用

      (5)常量
      整型常量:整型常量是整数类型的数据,有二进制,八进制,十进制和十六进制4种表示形式
      二进制,主要是由数字0和1组成的数字序列。从JDK7开始,允许使用字面值表示二进制数,前面要以0b和0B。如,0b01101100
      八进制,主要是以0开头并且其后由0~7范围内(包括0和7)的整数组成的数字序列,如0342
      十进制,由数字0~9范围内(包括0和9)的整数组成的数字序列,如198
      十六进制,以0X或者0x开头并且其后由0~9、A~F(包括0和9、A和F、字母不区分大小写,组成的数字序列),如0x25AF

      注意:在程序中为了标明不同进制,数据都有特定标识,八进制必须以0开头,如0711;十六进制必须以0X或者0x开头,如0Xff;整数以十进制表示时,第一位不能是0,本身是0除外,如十进制的127,二进制表示时0b1111111,八进制表示为0177,用十六进制表示是0X7F

      浮点数常量:浮点数分为单精度浮点数(float)和双精度浮点数(double),也可以表示成指数形式。单精度后面以f或者F结尾,双精度后面以D或者d结尾。结尾处不加任何后缀,JAVA默认浮点数为double。

      字符常量(char):单引号''括起来,也可以英文字母、数字、标点符号和由转义序列表示的特殊字符

      字符串常量(string):表示一串连续字符,一个字符串可包含一个字符或者多个字符,也可以不包含任何字符,即长度为0,需要用双引号“”括起来

      布尔常量:布尔常量有true 和false两个值
      null常量:只有一个值NULL,表示对象的引用为空

      十进制与二进制之间的数值转换:
      (1)十进制转换成二进制:指的是一个除以2取余数的过程。把要转移的数除以2,得到商和余数,将商继续除以2,直到商为0,最后将所有余数倒序排列,得到得数就是转换结果
      (2)二进制转换成十进制:从右到左用二进制位上的每个数乘以2的相应次方。如,将最右边第一位的数乘以2的0次方,第二位乘以2的1次方,第n位的数乘以2的n-1次方,然后将所有1相乘后的结果相加,得到的结果就是转换后的十进制数。

      2、变量定义、数据类型、类型转换、作用域
      变量定义:这些用于标识内存单元的标识符称为变量,内存单元中存储数据就是变量的值。

      变量数据类型:
      一、基本数据类型:
      数值类型:(整数类型byte、short、int、long;浮点类型(float、double))
      字符类型:char
      二、引用数据类型:(类class、接口interface、数组、枚举enum、注解annotation)

      byte---8位(1字节)
      short--16位(2字节)

      int---32位(4字节)
      long--64位(8字节)

      float--32位(4字节)
      double-64位(8字节)

      取值范围中的E表示以10为底的指数,E后面的+和-代表正指数和负指数,如,1.4E-45表示为1.4×10^(-45)

      变量类型转换:
      1、自动类型转换:两种数据类型相互兼容;目标类型取值范围大于源类型取值范围
      2、强制类型转换:两种数据类型之间的转换需要进行显式声明。
      注意:整数类型之间可以实现转换;整数类型转换成float类型;其他类型转换成double类型。

      作用域:变量需要在它的作用范围内才可以使用,这个作用范围称为变量的作用域。在程序中,变量一定会被定义在某一对大括号中,该大括号所包航的代码区域便是这个变量作用域。

      3、运算符、运算符的优先级
      自增(前)--++i;先对变量i+1,然后带入其他运算
      自增(后)--i++;先进行其他运算,然后变量i加1

      4、选择结构语句(IF、三元运算符、switch) p38

      5、循环结构语句(while、do...while、for、循环嵌套和跳转语句break、continue) P45
      若循环体条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do-while循环体会执行一次。

      for循环 p46

      6、方法(定义、方法重载)
      方法就是一段可以重复调用的代码,有些书中把方法称为函数。
      方法重载:就是在同一个作用域内方法名相同但参数个数或者参数类型不同的方法。如,在同一个作用域内同时定义3个add()方法。

      7、数组(二维数组)
      数组是指一组类型相同的数据集合,数组中的每个数据称为元素。数组可以存放任意类型元素,但同一个数组里存放的元素类型必须一致。数组可分为一维数组和多维数组。p53
      数组遍历:在操作数组时,经常需要依次访问数组中的每个元素 p56
      二维数组 p59

      第三章面向对象(上)
      1、类的定义(成员变量【属性】和成员方法)、对象创建(new)、对象属性和方法、访问控制(四种访问级别)

      面向对象三大特点:封装性、继承性、多态性。
      类的定义(成员变量【属性】和成员方法:p63

      类定义:类是对象的抽象,用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法。成员变量,也被称为属性,用于描述对象的特征;成员方法用于描述对象行为。

      对象创建与使用:p64

      类名 对象名称= new 类名();

      访问控制:p67

      private:私有;default:默认; protected:受保护访问权限; public:共有

      2、构造方法(重点、特点、构造方法的重载)

      构造方法:是类一个特殊方法,在类实例化对象时自动调用 p70
      构造方法名称必须与类名一致;构造方法名称前不能有任何返回值类型的声明;不能1在构造方法中使用return返回一个值,但可以单独写return语句作为方法结束。

      构造方法重载:在一个类中可以定义多个构造方法,只要每个构造方法参数类型或者参数个数不同即可。在创建对象时,可以通过调用不同构造方法为不同属性赋值 p71

      3、this关键字,static关键字,静态属性(类属性,全局属性,图)

      this关键字:当成员变量与局部变量重名时,需要使用this关键字分辨成员变量与局部变量。·使用this关键字调用本类中属性,成员方法,构造方法 p73
      static关键字:静态属性(全局属性),可以使用类名直接访问。static关键字只能修饰成员变量,不能修饰局部变量。静态方法:使用static关键字修饰的方法称为静态方法,可通过类名和对象访问。

      注意:静态方法、属性---类;非static方法、属性---对象 p79

      第四章 面向对象(下)
      1、继承概念、方法重写(多态表现)、多态重写和重载、this和super区别、

      继承概念:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 p81

      类只支持单继承,不允许多重继承。多个类可以继承一个父类。在JAVA中,多层继承也可以,即一个类的父类可以再继承另外的父类。在JAVA中,子类和父类是一种相对概念,一个类可以是某个类的父类,也可以是一个类的子类。

      方法重写:子类重写父类方法,不能使用比父类中被重写方法更严格的访问权限 p84

      super关键字:super关键字可以在子类中调用父类的普通股属性、方法和构造方法 p85

      final关键字:使用final修饰的类不能有子类,修饰的方法不能被子类重写,使用final修饰的变量是常量,常量不能修改。p87

      2、final关键字
      final关键字修饰类,方法,变量 p88
      final声明变量,要求全部字母大写,若一个程序中的变量使用public static final声明,此变量为全局变量。

      3、抽象类(abstract)有抽象方法类必须申明抽象类、怎么写抽象方法、接口、多接口语法和继承接口
      (接口与抽象类有什么区别)

      抽象类:包含抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需要声明不需要实现;若一个类继承抽象类,该子类必须实现抽象类中的全部抽象方法

      接口:一个抽象类的所有方法都是抽象的,则可以将这个类定义接口;接口中除了可以包括抽象方法外,还可以包括默认方法和静态方法(也叫类方法),默认方法使用default修饰,静态方法使用static修饰,且这两种方法都允许有方法体。一个接口可以有多个父接口,父接口之间用逗号分隔,java使用接口的目的是克服单继承的限制,因为一个类只有一个父类,而一个接口可以同时继承多个父接口

      4、多态(重写重载)、instanceof关键字

      多态:由于参数类型不同而导致执行效果不同的现象。JAVA多态两种形式:方法重载;对象的多态性(方法重写)

      对象类型的转换:向上转型、向下转型 。在进行对象向下转型前,必须发生对象向上转型,否则将出现对象转换异常。p95

      instanceof关键字:使用instanceof关键字判断一个对象是否是某个类(或者接口)实例 p97

      object类:所有类的父类。每个类直接或者间接继承object类 p97

      内部类:允许在一个类的内部定义类,内部类所在的类称为外部类,在实际开发中,根据内部类的位置、修饰符和定义方式的不同,内部类可分为成员内部类(定义在类内)、局部内部类(定义在方法内部)、静态内部类(用static修饰成员内部类)、匿名内部类 (没有名称内部类)p98

      5、异常结构、处理异常、抛出异常,出现各种异常情况(单列集合和双列集合区别p138,143),迭代器,遍历集合中的所有元素

      error类:错误类,表示JAVA程序运行时产生系统内部错误或者资源耗尽的错误。

      exception类:异常类,表示程序本身可以处理错误
      try...catch:try代码块编写可能发生异常JAVA语句,在catch代码块中编写针对异常进行处理代码。当try代码块中的程序发生异常,系统会将异常信息封装成一个异常信息,并将这个对象传递给catch代码块进行处理

      throws关键字:对外声明该方法可能发生的异常,调用时,就能明确知道该方法是否有异常,并且必须在程序中对异常进行处理,否则编译无法通过。 p104
      出现编译时异常的两种解决方式:
      (1)try..catch异常捕获(2)throws声明抛出异常,调用者对异常进行处理

      第六章接口(了解) p139
      1、集合、collection接口、List接口

      集合:这些类可以保存数目不确定对象,也可以存储任意类型的对象,并且长度可变。集合类都位于java.util包中,使用时必须导入包。集合按照其存储结构可以分为两大类,即单列集合collection和双列集合Map。

      单列集合collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是List和Set。其中list特点是元素有序、可重复,list接口的主要实现类有ArrayList 和LinkedList。set特点是元素无序并且不可重复,set接口主要实现类有Hashset 和Treeset。

      双列集合Map:双列集合类的根接口,用于存储具有键(key),值(value)映射关系的元素,每个元素都包含一对键值,其中键值不可重复并且每个键最多只能映射到一个值,在使用map集合时可以通过指定的key找到对应value。如,依据一个学生学号就可以找到对应的学生。map接口的主要实现类有Hashmap 和Treemap

      lterator接口:collection与map接口主要用于存储元素,而lterator主要是用于迭代访问(即遍历)collection中的元素

      通过迭代器获取arraylist集合中的元素时,这些元素类型都是object类型(父类),若获取到特定类型元素,需要对数据类型进行强制转换

      foreach循环:用于遍历数组或者数组中的元素 p145

      与for循环相比,foreach循环不需要获得容器长度,也不需要根据索引访问容器中的元素,但它会自动遍历容器中的每个元素。foreach循环只能访问集合中的元素,不能对其中元素进行修改。for循环可以通过索引方式来引用数组中的元素并对其值进行修改。

      2、set接口、Map接口、泛型、JDK8新特性-Lambda

      set特点是元素无序并且不可重复,set接口主要实现类有Hashset 和Treeset。hashset是根据对象散列值来确定元素在集合中的存储位置,具有良好的存取和查找性能。Treeset以二叉树方式来存储元素,它可以实现集合中的元素进行排序。

      Treeset集合能对添加元素进行排序,是因为元素的类可以实现comparable接口(基本类型的包装类,string类都实现该接口),comparable接口强行对实现它的每个类对象进行整体排序,这种排序称为类的自然排序,comparable接口的comparTo()方法称为自然比较方法。当comparaTo()方法返回正数时,集合会正常存取;反之,返回负数,集合会倒序存储。

      Treeset集合两种方法能实现排序:自然排序和实现comparator接口,重写compare()方法和equals()方法。由于所有类默认继承object,而object中有equals方法,因此自定义比较器1类时,不用重写equals方法,只需要重写compare()方法,这种排序称为比较器排序。p151

      map接口 p152
      遍历map中的所有键值,有两种方式:一是,先遍历map集合中的所有键,再根据键获取相应的值;二是先获取集合中的所有映射关系,然后从映射关系中取出键和值。调用map对象的entryset()方法获取存储在map中的所有映射set集合。

      泛型:泛型是程序设计语言的一种特性,它允许程序员在使用强类型程序设计语言编写代码时定义一些可变部分,这些部分可变部分在运行前必须做出指明。在编程中用泛型来代替某个实际类型,而后通过实际调用时传入或者推导类型来对泛型进行替换,以达到代码1复用目的。在使用泛型过程中,操作数据类型被称为一个参数,这种参数类型在类1、接口和方法中,分别称为泛型类、泛型接口、泛型方法。相对于传统上的形参,泛型可以使参数具有更多类型上变化。p158

      类型通配符 p161
      类型通配符,可以解决集合无法协变问题。使用通配符?接收泛型对象,通配符修饰对象只能接收,不能修改,也就是不能设置。

      JDK8新特性-Lambda p162
      Lambda 表达式由参数列表、箭头符号1->和函数体组成。

      第七章 IO输入输出
      1、File类,遍历目录下文件
      2、字节流(InputStream)
      3、字符流(OutputStream)

      第八章多线程
      1、实现的2种方式,生命周期以及状态转移

      进程:在一个操作系统中,每个独立执行的程序都可称为一个进程,也就是正在运行的进程;

      线程:每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时运行,这些执行单元可以看做程序执行的一条条线索。

      单线程程序:代码都是按照调用顺序依次往下执行的,没有出现两段程序代码交替运行的效果

      多线程程序:若希望程序中实现多段程序代码交替运行的效果,则需要创建多个线程。

      (1)在JAVA中提供两种多线程实现方式:p183

      继承java.lang包下的Thread类,覆写Thread类的run(方法),在run()方法中实现在线程上的代码

      实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码
      2、多线程对比
      p186

      第十章 JDPC
      1、实现第一个程序
      2、JFRAME,创建窗口,窗口大小设置,窗口布局
      3、事件处理器

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>
关闭
安装