`
君心可晴
  • 浏览: 16927 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

java基础入门学习阶段小结一

阅读更多
     (主要根据学习过程进行的总结,所以基础知识点的在结构安排上有点乱
1.java基础入门
  a)环境变量的配置
     找到jdk文件夹下bin目录所对应的路径,在计算机属性高级设置中进行环境变量的设置。
     变量名:Path     变量值:D:\Program Files\Java\jdk1.6.0_18\bin
  b)对类名、属性名、方法名以及常量名命名的时候需要注意什么?
     以其说要注意些什么,还不如说是打一开始就培养一个良好的编程习惯,为写出更优质量的代码打好基础。
    1.不能以关键字来命名,要有特定含义。
    2.类名:类名的首字母要大写,如果由多个单词组成,则每个单词的首字母要大写,
    3.只能包含数字字母和下划线,开始只能以字母或下划线开头。
    4.属性名:第一个单词的字母要小写,如果由多个单词组成,则从第二个单词开始的每个单词首字母要大些,只能包含数字、字母和下划线,开始只能以字母或下划线开头。
    5.方法名:和属性名的定义式一样的。
    6.常量名:每个字母都要大写。
  c)定义类名必须要和什么相同?
    类名必须和文件名相同,包括大小写(java是区分大小写)。
  d)Java编译和运行的命令与格式?
    编译的命令:javac 文件名.java
   运行的命令:java  文件名
  e)Java中的基本数据类型  
    int                32位
    short              16位
    long               64位
    double             64位
    float               32位
    boolean            true和false
    byte               8位           -128-127
    char               16位
    char c = ‘中’;
    每一个基本数据类型,都有一个对应的封装类型,位于java.lang包下。
    bolean类型对应着Boolean类;
    Byte类将基本类型byte的直包装在一个对象中;
    char类型对应着Charater类;
    double类型对应着Double类;
    float类型对应着Float类;
    int类型对应着Integer类
    Long类型对应着Long类;
    Short类型对应着Short类;
    除了char类型外,其他7种数据类型对应的封装类还提供了对应的数据基本类型和String间相互转换的多种方法。
  f)Java中有哪几种数据类型?
    1.基本数据类型(原始类型)
        即上面提到的8种基本数据类型
    2.引用类型(类类型,对象类型)
  g)String的常用方法有哪些?
    1.string是用class定义的类,但是因为String会经常用到,在JDK中对String做了特殊处理,它的使用方式和基本数据类型是一样的。
    2.查看String的API文档,把常用的方法总结出来。
1)charAt(int index):返回指定索引处的char值
2)lastIndexOf(int  ch):返回指定字符在此字符串中最后一次出现处的索引
3)lastIndexOf(int  Srting, int  fromIndex):从指定的索引开始反向收索,返回指定字符串在此字符串中的最后一次出现处的索引
4)compareTo(String  anotherString):按字典顺序比较两个字符串
5)compareToIgnoreCase(String str):按字典顺序比较两个字符串,不考虑大小写
6)concat(String str):将指定字符串连接到此字符串的结尾
7)contains(CharSequence s):当且仅当此字符串包含指定的char值序列时,返回true
8)endsWith(String suffix):测试此字符串是否以指定的后缀结束
9)equals(Object anObject):将此字符串与指定的对象比较
10)getChar(int srcBegin, int srcEnd, char[] dst, int dstBegin):将字符从此字符串复制到目标字符数组
11)indexOf(int ch):返回指定子字符串在此字符串中第一次出现指定字符处的索引
12)indexOf(int ch, int fromIndex):从指定的索引开始,返回指定子字符串在此字符串中第一次出现指定字符处的索引
13)intern():返回字符串的规范化表示形式
14)isEmpty():当且仅当length()为0时返回true
15)legth():返回此字符串的长度
16)subString(int beginIndex, int endIndex):返回一个新的字符串,它是此字符串的一个子字符串
17)toCharArray():将此字符串转换成一个新的字符数组
18)toLowerCase():按默认语言环境的规则将该String中的所有字符都转换成小写形式
19)toUpperCase():按默认语言环境的规则将该String中的所有字符都转换成大写形式

2.类和对象
  a)类的定义
    类是具有相同特征和相同行为对象的抽象,或说是具有共同的属性和行为特征的事物的集合。

  b)对象的定义
    对象是类的具体实现。

  c)定义类的格式
    Public  class 类名{
Private 数据类型  属性名;
Public 构造函数名(参数列表){
//函数体
    }
    Public 返回值类型 方法名(参数列表){
//方法体
    }
  d)创建对象的格式
    类名  对象名  =  new  构造函数名(参数值列表);
调用对象方法的格式:
对象名.方法名(参数值列表);

  e)方法的分类
    按返回值划分
        有返回值的方法和无返回值的方法
    按参数划分
        有参数的方法和无参数的方法

  f)方法的重载
    要实现重载必须要满足的条件有:
        1.方法名相同
        2.参数类型和参数的个数要不同。

    实现了方法重载后,如何调用?
        调用的时候,会根据你所传递的参数个数以及类型来决定最终调用的方法。
    子类是否可以重载父类的方法?
        子类可以重载父类的方法,如下代码:
class a{
            public void test( int c,int d){ }
}
        class b extends a{ 
public void test( string str,int c)  {}
}
class c{
Public static void main(String[] args){
b b1 = new b();
b.test(1,2) //call a test
b.test("haha",3)//call b test
}
        }

  g)构造函数
    1.构造函数不能有返回值。
    2.函数名必须和类名相同
    3.如果定义了构造函数,则默认的构造函数将被覆盖,不可以在使用默认的构造函数。
    4.构造函数可以实现方法的重载。
    5.构造函数调用构造函数的时候,可以使用this进行调用。
    6.构造函数是用来创建对象的。
    7.构造函数每调用一次就会创建一个新的对象。
    构造函数和普通方法的区别?
    1.一般方法不能和类名相同
    2.构造函数不能被直接调用,必须通过new运算符在创建对象的时候才会被自 动调用,一般方法在程序执行到它的时候被调用。
    3.编译器会提供一个默认的构造函数,而一般方法不存在这样的特点

  h)值传递
      值传递适用于基本数据类型。
    传递的方式?
      直接将一变量中的数据拷贝到另一变量中,两变量中的数据在栈中具有不同的存储空间
  i)引用传递
      引用适用于引用类型。
    传递的方式?
      将一变量在堆空间存储数据的首地址拷贝给另一变量,对其中一个变量中的数据进行操作时,另一变量中的数据也会改变。

  j)this关键字
    this关键字表示对象本身,当前是哪一个对象在调用方法,那么this关键字就表示当前的对象。

3.类的继承
  a)为什么需要继承?
    可以拥有父类的属性和方法,补充自己的特定的方法,可以避免不必要的定义。
    降低代码的冗余,提高了代码的重用性。更符合了现实生活中的概念。

b)继承的语法格式
    Public class  子类名 extends  父类名{

    }

  c)子类继承到父类的哪些方法和属性
      父类中所有的方法都能被子类继承到,但是不是所有的方法都能被子类调用。
    1.子类和父类在同一个包下
      除了私有的属性、方法以及所有的构造函数不能被调用,其他的都可以直接被子类调用。
    2.子类和父类不再同一个包下
      只有公有的方法和属性能被子类直接调用。

    如果创建一个子类的对象,那么父类的对象是否被创建了?
    答曰:父类对象不被创建

(载自天涯问答)1、子类在创建实例后,类初始化方法会调用父类的初始化方法(除了java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即" <init>"方法),初始化方法是由java源程序的三个部分组成的,一个部分是成员字段后的直接的初始化语句,例如 private int i=0;private Date date=new Date();等等,
    第二个部分是由初始化块组成,例如:
        public class Test{ private int i=0;//初始化第一部分
         //以下大括号内为初始化第二部分
        { this.i=4; \\do something...... }
       }
    第三个部分就是java源代码中的构造方法中的代码,java源代码中有几个构造方法,那么class文件中就有几个初始化方法,编译器会把第一部分与第二部分分别复制到每个初始化方法的前端,然后把初始化方法对应参数的构造方法的代码复制到相应初始化方法中(这里说的复制其实应该说是编译,不过为了让你更好理解所以如此说).那么说初始化方法如何追述其父类的,这也关系到初始化方法的结构,初始化方法的执行顺序以及结构就如上所说,但是每个初始化方法的第一个执行指令就是调用另外一个初始化方法,这个初始化方法可能是自身类某个初始化方法,例如你的构造函数中第一句有类似this(...)这种语句,那么初始化方法就会调用自身类的指定构造方法;如果你的构造方法中没有指定构造方法调用,那么初始化方法会默认调用父类无参数初始化方法,如果你的子类第一句为 super(....),那么初始化方法会调用父类指定初始化方法。这种调用过程会递归进行调用,直到这个类是java.lang.Object类。调用初始化方法并不代表会生成对象,你的java代码中出现new关键字加上构造方法的调用,只会生成一个对象,其父类对象不会生成,所以调用父类为抽象类的构造方法完全是合理的。而且初始化方法对于虚拟机来说只是一个名称叫做" <init>"的普通方法,区别只是生成对象以后调用而已(sun 的jdk私有包中有绕过构造方法生成对象的方式,可以证明之上说法,具体如何我这里不陈述)。
    抽象类中的构造方法其实是用来给继承的子类来用的,因为构造方法相当于初始化方法,当子类调用构造方法时必须调用父类构造方法,所以你可以在子类产生对象时抽象类中按需求初始化抽象类中的字段以及执行一些初始化代码。其实并不是一定要生成某个类的实例才调用构造方法,子类也需要调用父类构造方法。而生成实例也并不一定会调用构造方法,在某些特殊实现中或者特殊情况下,生成实例不会调用构造方法。而调用了构造方法也不一定就生成了一个实例,但是那一定是一个实例调用的,就像一个普通的实例方法一样。

  d)方法的重写
    必须满足的条件:
    1.必须要存在继承关系
    2.方法名,返回值类型,参数个数以及参数类型都必须要和父类的相同。
    3.方法的访问修饰符必须要大于或者等于父类的访问修饰符。

  e)自动转型
    必须要存在继承关系。自动转型对象可以操作子类隐藏的成员变量,也可使用子类重写的方法。自动转型的对象操作子类重写的方法,其作用等价于子类对象去调用这些方法。
    格式:
      父类名  对象名  =  new  子类构造函数(参数值列表);
     子类名  对象名B  =  new  子类构造函数(参数值列表);

     方法名(对象名B);

     Public void 方法名(父类名  对象名){

    }
    缺点:不能操作子类新增的成员变量,不可以调用子类特定的方法。
    优点:增强程序的可拓展性

  f)多态
    方法的重载,方法重写,继承,自动转型等形成多态。
    把不同的子类对象当做父类对象来看,可以屏蔽不同子类间的差异,而父类对象又可以跟据当前赋值给它的子类的特性完成特定的方法。通俗讲就是,父亲的行为象儿子。
  g)接口
    定义接口的格式:
    Public  interface  接口名{
//定义常量的格式
Public static final 数据类型 常量名 = 值;
//定义方法1
Public abstract 返回值类型 方法名(参数列表);
         //定义方法2
abstract 返回值类型 方法名(参数列表);
         //定义方法3
         返回值类型 方法名(参数列表);
    }
    实现接口的格式:
    Public class 类名 implements 接口名{
//必须重写接口中所有的方法
    }
    接口可以继承接口。Public interface 子接口 extends 父接口, 父接口,…{}

  h)抽象类
    定义抽象类的格式:
    Public abstract 抽象类名  extends 类名  implements 接口名{
Public abstract 返回值类型  方法名(参数列表);
    }
    如果抽象类实现接口,那么可以不可以不实现接口中所有的方法?
    答:可以

    抽象类是接口和类的集合。
    抽象类只能被类或者抽象类继承。
    接口和抽象类都不能用来创建对象。

    接口、抽象类和类的区别?
    答:
      抽象类在java语言中体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在“is a”的关系,即父类与派生类在概念本质上应该是相同的(这在平时的练习中要谨记)。但对接口来说则不然,并不需要接口的实现者与接口定义在概念本质上是一致的,仅仅是实现接口定义的契约而已。

4.Java的图形界面和事件
  a)Java的图形界面有几套?
    awt
    swing

    为什么要使用swing,而不使用awt ?
    答:
      Swing是由纯java代码写的,因此swing解决了java窗口类无法跨平台操作的问题,使窗口功能也具有跨平台与延展性的特性,而且swing不许需占用太多系统资源。
而awt具有C语言的成分,若想改动awt的窗口,必须手动编写C语言的代码,然后再搭配awt的native code 与JDK函数库,遇到不同平台时又要重新编写native code,耗时又耗资源。
  c)所有的图形界面都是从哪一个类继承的?
    Object是java所有的类的父类。
  d)事件流程
    1.寻找事件源
    2.给事件源添加监听器方法
    3.重写监听器类
    4.创建监听器类的对象,并绑定到事件源的监听器方法中。
  e)常用的监听器
     1.动作监听器  ActionListener
    2.鼠标监听器  MouseListener
    3.鼠标拖动监听器  MouseMotionListener
    4.鼠标的适配器   MouseAdapter
    5.键盘等监听器

    ActionEvent和MouseEvent


5.数组和队列
  a)数组
      数组是一种线性的数据结构,如果你指定了数组的类型,那么数组的类型就已经决定了。
    一维数组
      定义一维数组的格式:四种
        数据类型  []  数组名  = new  数据类型[长度];
       数据类型  []  数组名  = {参数列表};
       数据类型  []  数组名  = new  数据类型[]{参数列表};
       数组类型  [] 数据名;
       数组名  = new  数据类型[长度];

    操作数组是通过什么?
        下标可以操作数组中的每一个元素,可以通过length属性获取数组的长度。

    多维数组
        下标可以操作数组中的每一个元素,可以通过length属性获取数组的长度。
    定义二维数组的格式:四种
       数据类型  [][]  数组名  = new  数据类型[行][列];
      数据类型  [][]  数组名  = {{参数列表},{…},..};
      数据类型  [][]  数组名  = new  数据类型[][]{{参数列表},{…},..};
      数组类型  [][]  数据名;
      数组名  = new  数据类型[行][列];

    下标可以操作数组中的每一个元素,可以通过length属性获取数组的长度。
        获取行的总数格式:数组名.length;
       获取列的总数格式:数组名[i].length;

    数组的缺点:不能改变数组的大小

  b)队列
    用自定义队列来实现数组不能改变大小的问题。
    实现自定义队列一个。要可以通用。
    E  泛型
    数组必须是Object的类型。

6.重绘
    1.数据的封装
    2.Paint方法重写 
    3.Super关键,可以调用父类的方法。

7.五子棋
    1.前期基础的综合应用
    2.二维数组的使用
    3.程序结构的安排
    4.接口的运用
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JAVA语言入门基础学习

    开 始, 准 备 采 用C++,但C++太 复 杂, 安 全 性 差, 最 后 基 于C++开 发 一 种 新 的 语 言Oak(Java的 前 身),Oak是 一 种 用 于 网 络 的 精 巧 而 安 全 的 语 言,Sun公 司 曾 依 此 投 标 一 个 交 互 式...

    java基础入门教程

    所 以 有 人 说 :"现 在 第 三 方 的 开 发 商 都 团 结 在 Java大旗 周 围了 !",纷 纷 推 出 用Java 开 发 的 各 种 软 件 产 品 ,以 期尽 快 地 占 领 市 场 。 四 、 Java 语 言 的 应 用 前 景 Java 语 言 ...

    Java语言基础小结

    ### Java语言基础小结 #### 一、JDK, JRE, JVM的关系 - **JVM(Java Virtual Machine)**:Java虚拟机是Java程序跨平台运行的核心,它负责执行Java字节码(.class文件),确保Java程序可以在不同的平台上运行而...

    Java个人学习小结

    ### Java个人学习小结 #### Java发展史及重要里程碑 - **起源与发展**: Java 的起源可以追溯到 1992 年,当时的 Sun Microsystems 公司开发了一种名为 Oak 的编程语言,最初是为了家用电器的智能化而设计的。然而...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...

    java基础小结

    Java基础是编程学习的重要部分,尤其对于初学者来说,掌握好Java基础知识至关重要。这篇文档将对Java的基础知识进行深入解析,包括语法、类与对象、数据类型、控制结构、异常处理以及常用工具的使用。 首先,Java是...

    小学数学小组合作学习阶段性小结.pdf

    小学数学小组合作学习阶段性小结.pdf

    经典Java趣味入门

    ### 经典Java趣味入门——Java基础与应用实践 #### 一、Java源文件与基本概念 本章节从创建Java源文件入手,介绍了Java源文件的基本结构及其组成元素,为初学者提供了Java语言的基础概念。 ##### 2.1 创建Java...

    java小结

    ### Java基础知识精要 #### 一、关键字与标识符 - **关键字**: 在Java中具有特殊含义的单词,不能用于命名变量、类或其他标识符。例如:`class`, `public`, `void` 等。 - **标识符**: 用于命名类、变量、方法等的...

    (经典)JAVA语言入门

    开 始, 准 备 采 用C++,但C++太 复 杂, 安 全 性 差, 最 后 基 于C++开 发 一 种 新 的 语 言Oak(Java的 前 身),Oak是 一 种 用 于 网 络 的 精 巧 而 安 全 的 语 言,Sun公 司 曾 依 此 投 标 一 个 交 互 式...

    Java中类的继承学习小结

    下面是对"Java中类的继承学习小结"的详细讲解。 首先,类的继承使用关键字`extends`来实现。子类(也称为派生类)声明时,会指定一个父类(或超类): ```java public class DerivedClass extends BaseClass { //...

    java2入门经典.part01

    java2入门经典.part01 Java2入门经典 图书目录 译者序 序 前言 第一章:Java概述 什么是Java Java语言的特性 学习Java java程序 学习Java要走的路 ava环境 基于Java语言的面向对象程序设计 对象是什么 如何定义...

    JAVA IO流小结

    JAVA IO流小结 JAVA IO流是指Java语言中用来实现输入/输出操作的机制。IO流是指任何有能力产出数据的数据源对象或者有能力接收数据的数据源对象。他屏蔽了实际的I/O设备处理数据的细节。 一、流的定义和分类 流是...

    C#与java相似点和差异小结.doc

    以下是关于这两种语言相似点和差异的小结: 1. **源文件约定**: - **C#** 允许一个源文件(.cs)中包含多个顶级公共类,文件名不必与类名相同。 - **Java** 则要求每个源文件(.java)只能有一个顶级类,且文件名...

    Java基础知识小结

    Java基础知识是每个Java开发者必须掌握的核心内容,涵盖了...以上只是Java基础知识的一部分,学习Java还需要掌握异常处理、IO流、多线程、网络编程、反射、设计模式等众多内容,不断深入理解才能成为熟练的Java开发者。

    java初学者必备基础教材

    Java初学者必备基础教材主要涵盖了Java语言的核心概念和基本元素,是学习编程的入门路径。以下将详细解析这些知识点: 1. **Java语言与面向对象的程序设计**:Java是一种面向对象的语言,这意味着它强调通过类和...

    Java 正则表达式小结

    Java正则表达式是Java编程语言中的一个强大工具,它用于在字符串中进行模式匹配和查找、替换等操作。在本文中,我们将深入探讨Java正则表达式的概念、语法以及如何在实际编程中使用它们。 1. **正则表达式基础** -...

    java的基础性小结与笔记

    这篇笔记主要总结了关于Java Web开发的一些基础知识点。 1. **Web简介** 动态Web资源是指用户每次请求时,根据特定条件生成的不同内容。常见的动态Web开发技术包括Java的JSP(Java Server Pages)和Servlet,还有...

Global site tag (gtag.js) - Google Analytics