一、Java语言的特点(养成经常查看Java在线帮助文档的习惯)

(1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言。它去掉了C和C++最难正确应用的指针和最难理解的多重继承技术等内容,通过垃圾回收机制简化了程序内存管理,统一了各种数据类型在不同操作系统平台上所占用的内存大小。

(2)网络特性:Java语言是目前对网络支持最全面,与网络关系最密切的计算机语言之一。

(3)面向对象:由于Java语言是一种新型计算机语言,没有兼容过程式计算机语言的负担,因此Java语言在面向对象的特性上比C++语言更为彻底。

(4)平台无关性/可移植性:Java语言的设计目标是让程序不用修改就可以在任何一种计算机平台上运行。

(5)稳定性:Java在编译和执行的过程中都会进行比较严格的检查,以减少错误的发生。Java语言的垃圾自动回收机制和异常处理机制在很大程度上提高了程序的稳定性。另外,Java语言的简单性也在一定程度上提高了程序的稳定性。

(6)安全性:在网络上运行的Java程序是符合网络安全协议的。在执行Java程序的过程中,Java虚拟机对程序的安全性进行检测。

(7)多线程性:这主要用来处理复杂事务或需要并行的事务。组成Java虚拟机的各个程序本身一般也采用多线程机制。采用多线程机制是提高程序运行效率的一种方法,但同时也增加了程序的设计难度。

(8)解释性:Java语言是一种解释性语言。这是Java语言的一个缺点,因为解释执行的语言一般比编译执行的语言(例如:C或者C++)的执行效率要低。

二、环境变量path和classpath的作用

运行路径(path)变量记录对的是各个运行程序所在的路径。系统根据这个变量的值来查找运行程序。

类路径(classpath)通常用来记录当前路径和J2SE类库所在的路径,这是J2SE需要的一个环境变量。

在J2SE类库中包含J2SE系统提供的各种软件包,其中包括各个类和接口等。在设置好类路径(classpath)环境变量之后,可以在程序中直接使用当前路径和J2SE类库所在路径下的各种Java软件包的类或者接口等。

三、修饰词abstract、static、final简介

(1)abstract(抽象):Java允许类、接口或者成员方法具有抽象属性,但不允许成员域或者构造方法具有抽象属性。如果在定义类修饰词列表中含有关键字abstract,则该类具有抽象属性。这时,这个类称为抽象类。无法通过抽象类的构造方法生成抽象类的实例对象。接口总是具有抽象属性。因此,不管在定义接口的接口修饰词列表中是否含有关键字abstract,该接口都具有抽象属性。如果在定义成员方法的方法修饰词列表中含有关键字abstract,则该成员方法具有抽象属性。抽象成员方法一般在定义抽象类的类体或者定义接口的接口体中定义。

抽象成员方法的定义格式与不具有抽象属性的成员方法的定义格式之间的区别:除了是否含有方法修饰词abstract之外,抽象成员方法的定义以分好结束,而且不含方法体;而不具有抽象属性的成员方法的定义在成员方法声明之后不能立即出现分号,而且必须含有方法体。

(2)static(静态):除了内部类之外,类一般不能具有静态属性。类的构造方法不能具有静态属性。类的成员域和成员方法可以具有静态属性。如果在定义成员域的域修饰词列表中加上修饰词static,则该成员域具有静态属性。如果在定义成员方法的方法修饰词列表中加上修饰词static,则该成员方法具有静态属性,称为静态成员方法。

在Java语言中,类是其实例对象的模板,同时类本身也可以看作一种对象,简称为类对象。类的静态成员隶属于该对象。可以直接通过类名访问类的静态成员域或者调用类的静态成员方法。具体形式如下:类名.静态成员域,类名.静态成员方法名(成员方法调用参数列表)。

(3)final(最终):关键字final(最终)可以用来修饰不具有抽象属性的类、类的成员域、接口的成员域以及类的不具有抽象属性的成员方法。如果在定义类的修饰词列表中含有类修饰词final,则称该类具有最终属性。

如果在定义成员域的修饰词列表中加上修饰词final,则称该成员域具有最终属性。如果该成员域同时具有最终属性和静态属性,则该成员域只能在定义时赋值,而且在此之后就不能修改该成员域的值。如果成员域具有最终属性,但不具有静态属性,则该成员域只能在定义时或者在构造方法中赋值,而且只能赋值一次。

如果在定义成员方法的方法修饰词列表中加上修饰词final,则称该成员方法具有最终属性。这时要求该成员方法不具有抽象属性。如果一个类的成员方法具有最终属性,则该成员方法不能被当前类的子类的成员方法覆盖。

四、向量简介

向量在功能上与数组类似,只是其元素个数可以改变,而且向量元素的数据类型必须是引用类型。向量的基本原理是预先给向量对象分配一定的存储空间,然后再给向量对象添加元素或设置元素值。向量对象的存储空间大小称为向量对象的容量,其单位是元素个数。向量对象的实际元素个数,称为向量对象的长度。如果向量对象的长度发生变化,当新长度超出在长度变化之前的向量对象旧容量时,向量对象的容量会自动扩大。在向量对象中还定义有一个量,称为容量增量。

向量变量的声明格式是:Vector<向量元素的数据类型> 变量名;

向量实例对象的创建方法:通常通过类java.util.Vector的构造方法创建向量对象——public Vector()可以创建向量对象,其初始容量默认值为10,容量增量为默认值0。

向量对象实例对象的操作主要有增加元素(成员方法有add、addElement、insertElement等)、修改元素(成员方法有set、setElement等)、删除元素(成员方法有clear、remove、removeElement、removeElement等)、信息查询(成员方法有contains、equals、capacity等)。

五、哈希表简介

数组和向量按顺序存储元素,因此通过元素的下标可以非常方便地获得该元素。但反过来,如果知道元素而要获得该元素的下标,则相对要困难一些,通常需要顺序进行查找。如果数组或向量已经按照某种方式排序,则可以采用二分法进行折半查找,加速查找过程。一般认为从元素查找该元素所对应的存储位置的最快方式是采用哈希表。哈希表也称作散列表。

哈希表详解链接:http://www.cnblogs.com/vamei/archive/2013/03/24/2970339.html#undefined

Java基础知识笔记(一:修饰词、向量、哈希表)的更多相关文章

  1. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  2. Java基础知识笔记(五:多线程的同步问题)

    编写多线程程序往往是为了提高资源的利用率,或者提高程序的运行效率,或者更好地监控程序的运行过程等.多线程同步处理的目的是为了让多个线程协调地并发工作.对多线程进行同步处理可以通过同步方法和同步语句块实 ...

  3. Java基础知识笔记(八:集合类)

    目录 1  集合类简介  2  List介绍及简单使用 2.1  LinkedList介绍及简单使用 2.2  ArrayList介绍及简单使用 2.3  Vector介绍及简单使用 2.3.1  S ...

  4. Java基础知识笔记(七:接口、变量作用域和参数传递)

    一.接口 Java语言不允许一个子类拥有多个直接父类,即任何子类只能有一个直接父类.但允许一个类实现多个接口,即在定义类的接口名称列表中可以包含1个或多个接口名称,从而实现多重继承的特性.接口的定义格 ...

  5. Java基础知识笔记(二:泛型和枚举)

    1.泛型 与面向对象的多态性相类似,应用泛型可以提高程序的复用性.与多态性不同的是,应用泛型可以减少数据的类型转换,从而提高代码的运行效率.泛型实际上是通过给类或接口增加类型参数实现的.不带泛型的类的 ...

  6. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

  7. JAVA基础知识笔记

    1.类只能用Public修饰,不能使用protected.private修饰.也可以不加修饰符,称做友好类. 2.类的实体元素包含成员变量和方法的定义,成员变量分为实例变量和类变量(static修饰的 ...

  8. Java基础知识笔记(六:网络程序设计)

    一.统一资源定位地址(URL) (1)网络地址 在网络上,计算机是通过网络地址标识.网络地址通常有两种表示方法,第一种表示方法通常采用4个整数组成,例如: 166.111.4.100表示某一网站服务器 ...

  9. Java基础知识笔记(三:文件与数据流)

    一.输入流与输出流 输入流将数据从文件.标准输入或其他外部输入设备中加载到内存.输出流的作用则刚好相反,即将在内存中的数据保存到文件中,或传输给输出设备.输入流在Java语言中对应于抽象类java.i ...

随机推荐

  1. 数据结构(c语言第2版)-----了解链表,栈,队列,串

    关于链表我觉得这都是最基本的东西,但是不常见,在实际的应用中很少的使用,了解它会用就OK,不需要研究的那么深,除非做那种内存压缩,存储方面工作. C语言中动态申请空间 malloc() q=(dlin ...

  2. JS产生随机数的几个用法!

    <script> function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.random(); ret ...

  3. hotcss用法

    1.0 GitHub下载地址: https://github.com/imochen/hotcss 或者我的百度网盘:http://pan.baidu.com/s/1pKlLqHX 使用方法看demo ...

  4. 使用EncryptByPassPhrase和DecryptByPassPhrase对MS SQLServer某一字段时行加密和解密

    在数据库实现加密与解密的文章,Insus.NET较早前也有写过,可以在本博客中可以搜索得到. 今天使用EncryptByPassPhrase和DecryptByPassPhrase来简单实现. 在数据 ...

  5. jQuery手机菜单

      效果展示 http://hovertree.com/texiao/nav/4/ 手机扫描二维码查看效果: 源码下载 http://hovertree.com/h/bjaf/kroft6c7.htm ...

  6. sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )

    通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下.   其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...

  7. win10下装Ubuntu双系统

    本机状况: ssd在笔记本原来的硬盘位,已经安装win10 机械硬盘在光驱位 现在安装Ubuntukylin16到光驱位的机械硬盘建立双系统,并用Windows管理启动 1,将下载的Ubuntu镜像用 ...

  8. 9、ASP.NET MVC入门到精通——Controller(控制器)

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Controller主要负责响应用户的输入.主要关注的是应用程序流,输入数据的处理,以及对相关视图(View)输出数据的提供. 继承自:Sy ...

  9. PHP如何连接MySQL数据库

    * PHP连接MySQL数据库 * 准备工作 * 在XAMPP软件的安装目录/php/ext目录中 * php_mysql.dll和php_mysqli.dll文件必须存在 * 在XAMPP软件的安装 ...

  10. 【UI插件】开发一个简单日历插件(上)

    前言 最近开始整理我们的单页应用框架了,虽然可能比不上MVVM模式的开发效率,也可能没有Backbone框架模块清晰,但是好歹也是自己开发出来 而且也用于了这么多频道的东西,如果没有总结,没有整理,没 ...