第一天 Java基础入门【悟空教程】
精心收集整理的教程笔记
第01天 Java基础入门
第1章 计算机基础1.1 计算机
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。
1.2 计算机应用的领域(了解)1.2.1 科学计算
科学计算也称数值计算。计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的计算工具。例如,人造卫星轨迹的计算,房屋抗震强度的计算,火箭、宇宙飞船的研究设计都离不开计算机的精确计算。就连我们每天收听收看的天气预 都离不开计算机的科学计算。
1.2.2 数据处理
在科学研究和工程技术中,会得到大量的原始数据,其中包括大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。
1.2.3 自动控制
自动控制是指通过计算机对某一过程进行自动操作,它不需人工干预,能按人预定的目标和预定的状态进行过程控制。例如,无人驾驶飞机、导弹、人造卫星和宇宙飞船等飞行器的控制,都是靠计算机实现的。
1.2.4 计算机辅助设计
计算机辅助设计(Computer Aided Design,简称CAD)是指。借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。在京九铁路的勘测设计中,使用计算机辅助设计系统绘制一张图纸仅需几个小时,而过去人工完成同样工作则要一周甚至更长时间。可见采用计算机辅助设计,可缩短设计时间,提高工作效率,节省人力、物力和财力,更重要的是提高了设计质量。
1.2.5 人工智能
人工智能(Artificial Intelligence,简称AI)是指计算机模拟人类某些智力行为的理论、技术和应用。例如,用计算机模拟人脑的部分功能进行思维学习、推理、联想和决策,使计算机具有一定“思维能力”。我国已开发成功一些中医专家诊断系统,可以模拟名医给患者诊病开方。 还有就是机器人也是计算机人工智能的典型例子。
1.2.6 多媒体应用
随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成一种全新的概念—“多媒体”(Multimedia)。比如一些flash广告, 页游戏等。
1.2.7 计算机 络
计算机 络是由一些独立的和具备信息交换能力的计算机互联构成,以实现资源共享的系统。如在全国范围内的银行信用卡的使用,火车和飞机票系统的使用等。
1.3 计算机硬件
计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
计算机通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。
1.4 计算机软件
计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件
系统软件:DOS(Disk Operating System), Windows, Linux, Unix, Mac,Windows Phone,Symbian Android, iOS
应用软件:office QQ聊天 YY语音扫雷LOL
1.5 软件开发
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。
软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
1.6 人机交互方式
软件的出现实现了人与计算机之间更好的交互。
交互方式
图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
1.7 键盘功能键及快捷键介绍1.7.1 键盘功能介绍(详见功能键文档)
Tab
Shift
Ctrl
Alt
空格
Enter
Window
上下左右
PrtSc(PrintScreen)屏幕截图
1.7.2 键盘快捷键
Ctrl+A全选
Ctrl+C复制
Ctrl+V粘贴
Ctrl+X剪切
Ctrl+Z撤销
Ctrl+S保存
1.8 常用的DOS命令1.8.1 打开DOS命令行的方式
1:开始—程序—附件—命令提示符
2:开始—运行—cmd—回车
3:win+r—cmd–回车
1.8.2 常用DOS命令
d: 回车盘符切换
dir(directory):列出当前目录下的文件以及文件夹
md (make directory) : 创建目录
rd (remove directory): 删除目录
cd (change directory)改变指定目录(进入指定目录)
cd.. : 退回到上一级目录
cd: 退回到根目录
del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
exit : 退出dos命令行
cls : (clear screen)清屏
1.8.3 通用快捷键
通用快捷键适用于广泛的环境,在例如Windows的操作系统以及绝大部分的软件中都适用。需要熟练这些
Ctrl+C 复制选中内容
Ctrl+V 粘贴
Ctrl+X 剪切
Ctrl+A 全选
Ctrl+Z 撤销操作
Ctrl+Y 恢复操作(恢复上一步操作)
Ctrl+S 保存
第2章 Java概述
2.1 java简介2.1.1 Java语言介绍
2.1.2 Java语言发展史(了解)
java语言的特点是,简单易用、安全可靠、主要面向Internet编程。从问世以来,发展的就非常迅速。 现在市场上绝大多数企业应用采用Java作为编程语言,Java语言应用于服务器开发,智能家居, 站的后台维护,手机应用后台等等。
SUN公司为了让使用Java语言的开发人员可以针对特定的市场进行开发,SUN公司将Java划分为三个版本,分别是 JavaSE JavaME JavaEE
JavaSE (Java Platform Standard Edition——Java平台标准版)标准版是为开发普通桌面和商务应用程序提供的解决方案,JavaSE是三个平台最核心的部分,JavaEE和JavaME都是从JavaSE的基础上发展而来的,JavaSE平台包括了Java最核心的类库,包括,如集合,IO,数据库连接以及 络编程等。
JavaEE(Java Platform Enterprise Edition 企业)企业版,是为了开发企业级应用程序提供的解决方案。JavaEE可以被看做一个技术平台,该平台用于开发、装配以及部署企业及应用程序,其中主要包括Servlet、JSP、JavaBean、JDBC、EJB、WebService等技术。
JavaME(Java Platform Micro Edition 微型)小型版是为了开发电子消费产品和嵌入式设备提供的解决方案。JavaME主要用于小型数字电子设备上的软件程序的开发。例如,为家用电器增加智能化控制和联 功能,为手机增加新的游戏和通讯录管理功能。此外,JavaME提供了HHTTP等高级Internet协议,是移动电话能以Client/Server方式直接访问Internet的全部信息,提供最高效率的无线交流。
(Java有这些功能,现在基本退出舞台,由安卓 ios等移动端操作语言替代,安卓和Java的关系大家下去可以去了解一下,简单的说安卓学习也是要必须先学JavaSE的)
2.1.3 Java技术应用领域
1.Android应用
许多的Android应用都是Java程序开发者开发。虽然Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机都支持Java游戏,这就使得很多非编程人员都认识了Java。
2.金融应用的服务器程序
Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,他们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。
3. 站
Java在电子商务领域以及 站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,springmvc,Struts2.0以及framework(框架,三个主要部分: 服务端、客户端和Linux驱动)。即使是简单的servlet,jsp和以struts为基础的 站在征服项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门 站都是以Java为基础来开发的。
4.嵌入式领域
Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在只能卡或者传感器上)。
5.大数据技术
Hadoop(Apache05年开发分布式系统基础架构)以及其他大数据处理技术很多都是用的Java,例如Apache的技术Java的HBase(一个分布式的、面向列的开源数据库,HBase是Apache的Hadoop项目的子项目)和Accumulo(是一个可靠的、可伸缩的、高性能的排序分布式的 Key-Value 存储解决方案,基于单元访问控制以及可定制的服务器端处理)以及ElasticSearch(ES是一个基于Lucene并采用Restful API 标准的高可扩展性和高可用性的实时数据分析的全文检索工具。)说没有Java就没有大数据一点也不为过。
6.高频交易的空间
Java平台提高了这个平台的特性和即时编译,他同时也能够想C++一样传递数据,正是由于这个原因,Java成为程序员编写交易平台的首选语言,虽然性能不比C++,但开发人员可以避开安全性,可移植性和维护性等问题。
7.科学应用
Java在科学应用中是很好的选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他相对安全性、便携性、可维护性以及其他高级语言的并发性更好。
2.1.4 Java语言特点
Java应用广泛,受到大众的欢迎,其根本原因是Java语言的众多突出优点(优点肯定是与其他高级语言相比较得来的)
介绍几个主要的特点
2.1.4.1 简单:
Java看起来设计的很像C++,但是为了是语言小和容易熟悉,设计者把C++语言种许多可用的特征去掉了,这些特征是一般程序员很少使用的,例如:Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(重载overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,(垃圾回收机制)使用户不必为存储(内存)管理问题烦恼,能把更多的时间和精力花在研发上。
2.1.4.2 面向对象:
Java是一个面向对象的语言,对程序员来说,这意味着要注意应用数据和操作数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法和集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用来组织的。
为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字implements)。Java语言全面支持动态绑定,而C++语言只对函数使用动态绑定。
Java还包括一个类的扩展集合,分别组成各种程序包(package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing tookit)的缩写,处理输入输出的类(java.io包)和支持 络功能的类(java.net包)。
2.1.4.3 分布式
Java设计成支持在 络上应用,它是分布式语言,Java既支持各种层次的 络连接,又以Socket类支持可靠的流(steam) 络连接,所以用户可以产生分布式的客户机和服务器。
络变成软件应用的分布运载工具。Java程序只需编写一次,就可到处运行。
2.1.4.4 稳健性
Java原来是用作编写消费类家用电子产品软件的语言,所以他是被设计成高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显示方法声明,它不支持C语言风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致会开发出更可靠的程序。
可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重新存储和讹误(文字错误;字句上的疏漏差误)数据。类似的,Java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序员也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
2.1.4.5 安全性
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中存储引用在运行时由Java解释程序决定实际存储地址。
Java运行系统使用字节码验证过程保证装载到 络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从 上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。
Java语言不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,从而使应用更安全。
2.1.4.6 可移植性(跨平台)
Java使得语言声明不依赖与实现的方面。例如,Java显示说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。
Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。
2.1.4.7 高性能
Java是一种先编译后解释的语言,所以他不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时吧Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。
Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。
2.1.4.8 支持多线程
Java语言是支持多线程的,所谓的多线程可以简单地理解为程序中有多个任务可以并发执行,这样可以在很大程度上提高程序的执行效率。
第3章 Java开发环境3.1 JDK与JRE
java语言是跨平台的,java虚拟机不是跨平台的。
3.1.1 安装操作系统(推荐Windows7)3.1.2 下载并安装Java,这里使用JDK7
下载
第一步:访问下载地址:http://www.oracle.com/cn/index.html
第二步:找到下载界面
第三步:寻找JDK7
第四步:寻找JDK7历史版本,这里为了统一全程我们使用7u72
第五步:同意协议
安装
第一步:双击打开安装文件,注意安装与操作系统对应版本
第二步:下一步,选择安装路径 ,注意:不要选择带中文及特殊符 的路径,也尽量不要安装到C盘
第三步:下一步,选择是否安装JRE,这里我们选择安装(可以不安装,开发中我们只装jdk就行)
第四步:下一步,验证jdk安装成功
i. win+r运行cmd,打开dos窗口
ii. 使用cd命令进入jdk安装目录下的bin目录
iii. 输入javac屏幕输出帮助信息即安装成功
以下为截图形式的具体步骤
下载
第一步:访问下载地址:http://www.oracle.com/cn/index.html
第二步:找到下载界面
第三步:寻找JDK7
第四步:寻找JDK7历史版本,这里为了统一全程我们使用7u51
第五步:同意协议
安装
第一步:双击打开安装文件
第二步:下一步,选择安装路径,注意:不要选择带中文及特殊符 的路径,也尽量不要安装到C盘。
第三步:下一步,选择是否安装JRE,这里我们选择安装(可以不安装,开发中我们只需要安装jdk)。
3.1.3 验证jdk安装成功
a) DOS命令
java的安装验证需要用到DOS命令行窗口,并且在Java前期开发阶段,需要使用到DOS窗口完成程序,而DOS为命令行交互方式,需要使用到其功能指令。
Windows+R → 输入CMD(cmd) ( 推荐)
开始 → 所有程序 → 附件 → 命令提示符
dir 显示一个目录中的文件和子目录
cd 进入某个文件夹
cd.. 返回上一级目录
cd 直接返回盘符
: 切换盘符
cls 清屏
b) 验证java安装是否成功
win+r运行cmd,打开dos窗口
使用cd进入jdk安装目录下的bin目录
输入javac出以下页面就是安装成功了
DOS命令行是我们前期运行Java程序的环境。因为Java程序在windows下无法直接运行。
3.1.4 Jdk包JDK包含的基本组件包括:
javac– 编译器,将源程序转成字节码
jar– 打包工具,将相关的类文件打包成一个文件
javadoc– 文档生成器,从源码注释中提取文档
jdb– debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer – 小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah – 产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap – Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole – Java进行系统调试和监控的工具含的基本组件
3.1.5 Java开发常用包
java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
java.io: 这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用
java.net: 这里面是与 络有关的类,比如URL,URLConnection等。
java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
3.1.6 配置Windows的path环境变量
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!