JAVA入门基础——JAVA的诞生、地位及特点

目录:

 本节主要了解的内容有:

  1:JAVA的诞生      

  2:JAVA的地位        

  3:JAVA的特点   

  4:编程的几个发展阶段

  5:面向对象编程主要的特性


    

一:JAVA的诞生

1JAVA被发明的原因:①源于SUN公司的Green项目;②应用环境:像电视盒这样的消费电子产品;③要求:语言本身是中立的,也是跨平台的。

2.JAVA流行的原因:①互联网的爆发式发展;②互联网上的电脑硬件不同,软件坏境差异较大。需要一个跨平台的语言。

3.JAVA的开发人以及公司:James Gosling(开发人);SUN公司,位于美国(中国大陆的正式名为“太阳计算机系统有限公司”)。

4.Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)   (Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)   (Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

5.JVM:

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JAVA虚拟机是JAVA最核心的技术,也是跨平台的基础。

 6.JVM和JAVA跨平台的特征:

①通过“编译器”将JAVA源程序编译成JAVA字节码文件(.class)

 ②通过“解释器”将JAVA字节码文件解释为对应机器语言并运行。


二:JAVA的地位

  1.  JAVA具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中优秀的编程语言。
  2.  JAVA现已经具备了“一旦写成,处处可用”的特点,这是JAVA普及的主要原因。
  3.  JAVA已成为网络时代最重要的编程语言之一。

     网络地位:信息时代最重要的交互媒体,是软件设计领域的核心。

     语言地位:目前,JAVA语言已经获得了和C语言同样重要的语言地位,即不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

    需求地位:掌握JAVA语言及其相关技术意味着较好的就业前景和工作酬金。


三:JAVA的特点

 简单:从语言的简单性方面看,JAVA要比C++简单,C++中许多容易混淆的概念,或者被JAVA弃之不用,或者以一种更清楚、更容易理解的方式实现,如,JAVA不再有指针的概念。

面向对象:基于对象的编程更符合人的思维模式,是人们更容易理解复杂问题。JAVA是面向对象的编程语言。

平台无关:C、C++都有一个共同的缺点就是只能对特定的处理器芯片进行编译。这样一旦电器设备更换了芯片就不能保证程序正常运行,就可能需要修改程序并针对新的芯片重新进行编译。

       JAVA语言和其他语言相比,最大的优势就是编写的软件能在执行码上兼容,在所有的计算机上运行。JAVA之所以能够做到这一点,是因为JAVA可以在计算机的操作系统之上再提供一个JAVA运行环境(JRE)。该运行环境由JAVA虚拟机(JVM)、类库以及一些核心文件组成,也就述说,只要平台提供了JAVA运行环境,JAVA编写的软件就能在其上运行

多线程:JAVA的特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。

动态:JAVA程序的基本组成单元是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就是JAVA可以分布环境中动态地维护程序及类库。


  四:编程的几个发展阶段:

1.面向机器语言:

       计算机处理信息早期语言是所谓的机器语言,使用机器语言进行程序设计需要面向机器来编写代码,即需要针对不同的机器编写诸如0101100这样的指令序列。用机器语言进行程序设计是一项累人的工作,代码难以阅读和理解,同样的任务,需要针对不同型号的计算机分别编写指令。使用机器语言编程也称为面向机器编程。机器语言为低级语言。

2.面向过程语言:

       随着计算机硬件功能的提高,在20世纪60年代出现了过程设计语言。面向过程语言的核心是编写解决某个问题的代码块。语言把代码组成叫做过程或函数块。使用这些语言编写代码时,不必再去考虑机器指令的细节,只要按照具体语言的语法要求去编写源文件(源文件:就是按照编程语言的语法编写具有一定扩展名的文本文件。例如C语言编写的源文件的扩展名为“.C”。)过程语言的源文件一个特点是更接近人的自然语言。面向过程语言属于高级语言。

3.面向对象语言:

       对于许多应用型问题,人们希望编写出易维护、易扩展和易复用的程序代码,面向过程语言很难做到。面向过程语言缺少一个本质的概念,“对象”。而在面向对象的语言中最核心的内容就是“对象”,一切围绕着对象,例如编写一个“刹车”方法,(面向过程称作函数),那么一定会指定该方法的“主体”,即说话有主语。

       在学习面向对象语言的过程中,一个简单的理念是:需要完成某种任务时,首先要想到,谁去完成该任务,即哪个对象去完成任务;提到数据,首先要想到这个数据是哪个对象的。

        面向对象编程鼓励创造性的程序设计。


五:面向对象编程主要的特性:

1:封装性:

        面向对象过程的核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取出共同的性质形成一般的概念。

        如:卡车、公共汽车、轿车等都有几个重要的属性:可承载的人数、运行速度、发动机的功率、自重等。另外,还有几个重要的行为:加速、刹车、减速、转弯等。可以把这些行为称作是他们的方法,而属性是它们状态的描述,用这些共有的属性和行为给出一个概念:机动车类。也就是说人们经常谈到的机动车类就是从具体的实例中抽取共同的属性和行为行程的一个概念,那么一个具体的轿车就是机动车类的一个实例,即对象。一个对象将自己的数据和这些数据的操作合理有效的封装在一起。

2.继承:

       继承体现了一种先进的编程模式。子类可以继承父类的属性和行为,即继承父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。

3:多态:

      多态是面向对象编程的又一重要特征。有两种意义的多态。

      一种多态是操作名称多态,即有多个操作具有相同的名字,但这些操作所接受的消息类型必须不同。

      另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同行为。

     JAVA语言和其他语言一样,引入了类的概念。(最重要的一种数据类型),类是用来创建对象的模板,它包含被创建的对象的状态描述和行为的定义。JAVA是面向对象语言,它的源文件是由若干个类组成,源文件的扩展名为“.JAVA”的文本文件。

目 录 第一章 JAVA入门 10 计算机语言发展史 10 机器语言 10 汇编语言 10 高级语言 10 其他高级语言 11 JAVA发展简史 12 JAVA为什么能够流行? 13 JAVA各版本的含义 13 JAVA技术体系架构 14 JAVA的特性和优势 14 JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的编写和运行过程 19 第一个程序常见错误 20 第一个JAVA程序的总结和提升 20 常用Java开发工具 20 常用dos命令 21 本章笔试作业 21 本章上机操作 21 第二章(1) 编程的基本概念 22 注释 22 标识符 22 关键字/保留字 23 变量(variable) 24 常量(Constant) 25 命名规则(规范) 25 基本数据类型(primitive data type) 26 整型变量 26 浮点型 27 字符型(2个字节): 28 boolean类型 29 运算符(operator) 29 二元运算符 29 一元运算符 30 布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接符 31 三目条件运算符 31 运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机操作 34 第二章(2) 控制语句 35 顺序结构 35 选择结构 35 if单选择结构 35 if-else双选择结构 35 If-elseif-else多选择结构 36 switch多选择结构 37 循环结构 39 While和dowhile的区别 41 For循环 42 break语句和continue语句 47 语句块 48 递归结构 49 本章作业 50 本章上机操作 51 第三章 JAVA面向对象程序开发 52 编程语言发展史 52 类和对象是如何产生发展的?如何进化的? 52 面向对象思想初步(OOP初步Object Oriented Programming) 53 面向对象编程的语言的三大特征简介 56 对象和类的概念 56 类和对象初步 57 测试类的定义方式 57 简单的学生类编写示例 58 内存分析 59 属性(field,或者叫成员变量) 59 引用类型 60 类的方法 60 对象的创建和使用 60 构造器(或者叫做构造方法,constructor) 60 垃圾回收机制(Garbage Collection) 63 方法的重载(overload),构造方法的重载 63 this关键字 65 static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70 如何实现继承? 70 继承使用要点 71 Object类 72 toString方法 72 equals方法 73 super关键字 74 方法的重写(override) 74 隐藏/封装(encapsulation) 75 为什么需要封装?封装的作用和含义? 75 使用访问控制符,实现封装 76 封装的使用细节 76 多态(polymorphism) 76 为什么需要多态? 76 如何实现多态? 77 方法绑定(method binding) 77 静态绑定 77 动态绑定 77 多态的使用要点 78 对象的转型(casting) 79 final 81 抽象类 82 抽象类的使用要点 83 接口 83 为什么需要接口? 84 如何定义接口? 84 接口的本质探讨 84 接口使用要点 85 接口的多继承 86 面向接口编程 87 OOP更多应用 87 组合 87 内部类(innerclasses) 88 字符串(java.lang.String类)的使用 90 字符串相等的判断 92 思考作业 93 上机作业 94 第四章 异常机制 95 导引问题 95 异常(Exception)的概念 96 异常分类 96 Error 97 Error和Exception的区别 97 Exception 97 异常的处理办法之一,捕获异常 99 try块 99 catch 99 finally 100 try, catch,finally ,return 执行顺序 100 异常的处理办法之二,声明异常: throws子句 101 方法重写中声明异常原则 102 异常的处理办法之三,手动抛出异常,throw子句 103 自定义异常 103 使用异常机制建议 104 总结 105 思考作业 105 上机作业 105 第五章 数组 106 数组概述和特点 106 创建数组和初始化 106 数组常见操作 108 数组的拷贝 108 数组排序 109 多维数组 110 附录(面试前复习一下!!) 111 冒泡排序 111 二分法查找 112 命令行参数的问题 113 增强for循环 114 思考作业 114 上机作业 115 第六章 常用类的使用 117 基本数据类型的包装类 117 包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?autoboxing,unboxing 119 字符串相关类(String、 StringBuffer 、 StringBuilder) 120 String类的常用方法(已讲过,不再讲!) 120 StringBuffer和StringBuilder 121 String和StringBuffer和StringBuilder使用要点 123 时间处理相关类 124 Date时间类(java.util.Date) 124 DateFormat类和SimpleDateFormat类 125 Calendar日历类 126 可视化日历的编写 128 Math类 131 File类 132 File类的基本用法 132 树状结构展现文件结构 133 枚举 133 上机作业 135 第七章 容器(Collection) 136 容器的作用和概览 136 容器中的接口层次结构 136 Collection接口 137 LIST接口 137 SET接口 138 Map接口 138 Iterator接口 139 遍历集合 140 Collections工具类 141 Comparable接口 141 equals和hashcode方法 143  泛型 144 思考作业 145 上机作业 145 第八章 IO技术 146 为什么需要学习IO技术 146 基本概念 146 数据源 146 流的概念 146 第一个简单的IO流程序及深入(将文件中的数据读入) 146 Java中流的概念细分 148 Java中IO流类的体系 149 四个IO基本抽象类 150 InputStream 150 OutputStream 150 常用InputStream和OutputStream子类用法 150 FileInputStream和FileOutputStream 150 ByteArrayInutStream和ByteArrayOutputStream 154 BufferedInputStream和BufferedOutputStream 156 DataInputStream和DataOutputStream 157 ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 BufferReader和BufferWriter 159 InputStreamReader和OutputStreamWriter 161 JAVA对象的序列化和反序列化 161 为什么需要序列化和反序列化 161 对象的序列化主要有两种用途 161 序列化涉及的类和接口 162 序列化/反序列化的步骤和实例 162 综合的序列化和反序列化练习 163 JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫) 165 IO中其他常用类 165 File类 165 RandomAccessFile 166 思考作业 166 上机作业 166 提高课外作业 166 第九章 多线程技术 167 基本概念 167 程序 167 进程 167 线程 167 线程和进程的区别 167 进程与程序的区别 168 JAVA中如何实现多线程(重点!!) 168 通过继承Thread类实现多线程 168 通过Runnable接口实现多线程 169 线程状态和sleep/yield/join/stop/destroy方法 170 新生状态 170 就绪状态 170 运行状态 170 死亡状态 170 终止线程的典型方法(重要!!!) 171 阻塞状态(sleep/yield/join方法) 171 线程基本信息和优先级别 173 线程同步和死锁问题 175 死锁及解决方案 179 生产者/消费者模式 181 线程回顾总结 184 任务调度(补充内容,了解即可!) 184 思考作业 185 上机作业 185 第十章 网络编程 186 基本概念 186 什么是计算机网络 186 计算机网络的主要功能 186 什么是网络通信协议 186 网络通信接口 186 为什么要分层 186 通信协议的分层规定 186 数据封装 188 数据拆封 188 IP 188 端口 188 URL 189 TCP协议和UDP协议 189 区别 189 TCP协议 189 UDP协议 190 JAVA网络编程 190 InetAddress 190 InetSocketAddress 191 URL类 191 基于TCP协议的SOCKET编程和通信 193 UDP通讯的实现 201 思考作业 203 上机作业(分组完成,3人一组,周末完成) 204 第十一章 JAVA多媒体编程 205 字体 205 字体示例和效果 205 颜色 206 颜色编程示例 206 图形绘制 206 绘制各种图形示例 207 图像处理 208 加载图片示例 208 图片任意缩放并输出新图片 209 使用JMF处理音频和视频 211 JMF的下载 211 JMF的安装和配置 211 使用JMF播放音频文件 212 上机作业 213 第十二章 GUI编程之AWT 214 为什么需要GUI?GUI是什么? 214 AWT是什么? 214 AWT的优势 214 AWT的缺点 214 为什么还需要学习AWT? 215 AWT各组件的整体关系 215 组件 215 容器 216 布局管理器 218 为什么需要布局管理器? 218 FlowLayout布局管理器 218 BorderLayout布局管理器 219 CardLayout布局管理器 220 GridLayout布局管理器 220 GridBagLayout布局管理器 221 综合应用组件和容器和布局管理器 221 AWT事件处理模型 223 问题 223 事件处理模型是什么? 223 最简单的事件处理程序 224 AWT中事件处理代码编写 225 编写过程 225 处理过程 225 简化理解上面过程 225 事件和事件源对象 225 事件适配器 232 为什么需要事件适配器 232 事件监听器常见的定义形式 233 AWT其他组件 233 菜单的实现 233 特点 233 代码示例和效果 233
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值