软件开发介绍
软件概念:
软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件(操作系统)和应用软件(应用程序)之分。
人机交互方式:
a、图形化界面(Graphical User Interface ,GUI):该方式简单直观,使用者易于接受,容易上手操作。
b、命令行方式(Command Line Interface, CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录一些命令。
常用的DOS命令:
通过Win+R调出windows的控制台命令行模式。
基本常用命令:
dir : 列出当前目录下的文件以及文件夹
md : 创建目录
rd : 删除目录
cd : 进入指定目录
cd.. : 退回到上一级目录
cd: 退回到根目录
del : 删除文件
exit : 退出 dos 命令行
补充:echo javase>1.doc (将内容javase内容写入到创建的1.doc文件中)
常用快捷键:
← →:移动光标
↑ ↓:调阅历史操作命令
Delete和Backspace:删除字符
计算机编程语言介绍:
语言:人与人之间用于沟通的一种方式。
计算机语言:人与计算机交流的方式。如果人要与计算机交流,就要学习计算机语言,计算机语言有很多总,如:C、C++、Java、PHP、Kotlin,Python,Scala等。
语言的节点划分:
第一代语言:计算机语言,指令以二进制代码形式存在。
第二代语言:汇编语言,使用助记符(便于人们记忆、并能描述指令功能和指令操作数的符号,助记符是表明指令功能的英语单词或其缩写)表示一条计算机指令。
第三代语言:高级语言。C、Pascal、面向过程的语言(结构化程序设计语言);C++ 面向过程/面向对象;Java跨平台的纯面向对象的语言;.NET跨语言的平台;Python、Scala……。
面向过程的语音和面向对象的语言的区别解析:
面向过程的语言:只需要将一件事的过程用程序化的语言描述出来就可以了,第一部怎么做,第二步怎么做,没有拓展性。
面向对象的语言:描述的并不是过程,是哪一个对象可以做这件事,调用这个对象的方式实现这个过程,后期需要扩展完全可以在这个对象中添加相应的功能,具有良好的扩展性。真正的面向对象,任何的函数和变量都是以类封装去起来的。
对于面向过程的语言具有开发效率慢,但执行效率快的特点,对于面向对象的语言则是开发效率快,但执行效率慢的特点。
Java介绍
Java语言概述:是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级变成语言。随着Java奇数在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
Java简史:
1991年 Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9
Java技术体系平台 :
从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
• 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及
它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电
信、交通、电子商务等。
• Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低
很大程度上取决于Java语言核心能力是否扎实。
• 大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态
圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数
是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。
• 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手
机、PDA、机顶盒、汽车通信设备等。
Java语言的特点 :
特点一、面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态
特点二、健壮性
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与
释放等),提供了一个相对安全的内存管理和访问机制
特点三、跨平台性
通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write
once , Run Anywhere”
实现原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java
Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
JAVA程序实际是在JVM上进行运行的。对于不同的操作系统,提供的JVM是不一样的。
Java两种核心机制 :
(1)Java虚拟机(Java Virtal Machine)
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。对于不同的平台有不同的虚拟机。只有某平台提供了对应的java虚拟机,java程序才可以在此平台上运行。Java虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,到处运行”。
JVM依赖于操作系统,在操作系统上运行。
(2)垃圾收集机制(Garbage Collection)
垃圾回收即不再使用的内存空间应回收。
在C/C++语言中,由程序员手动负责回收无用内存。
Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。 并在JVM空闲时,检查并释放哪些可被释放的存储空间。
垃圾回收在Java程序运行过程中自动进行,程序员无法精准控制和干预。
注:Java程序还会出现内存泄露和内存溢出的问题!
JDK、JRE、JVM的概念和关系:
JDK(Java Development Kit, java开发工具包):JDK是提供给Java开发人员使用的,其中包含了java的开发工具(编译工具javac.exe 和打包工具jar.exe等),也包括了JRE。因此在安装了JDK,就不用再单独安装JER了。
JRE(Java Runtime Environment, java运行环境):包括Java虚拟机(JVM,Java virtual Machine)和Java程序所需的核心类库等。如果只需要运行一个已经开发哈的Java程序,计算机中只需要安装JRE即可。
JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE = JVM + Java SE标准类库
JDK目录解析:
安装好JDK后,JDK的目录如图所示:
bin目录:存放各个开发工具(如编译工具javac.java)
db目录:Java数据库
include目录:用C语言编写的头文件
jre目录:java运行环境
lib目录:存放一些相关的JAR包等库文件
src.zip:存放一些开源的代码以及类库
环境变量配置:
目的:希望在任何文件目录下,都可以执行JDK目录中bin目录下的开发指令。
配置环境变量PATH的作用:
每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目
录下都可以执行java的工具呢?
根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到
path 环境变量中,让系统帮我们去找运行执行的程序。当我们运行某个命令的时候,系统先在当前目录下查找有没有该命令,再去配置的环境变量PATH中取搜索有无该命令。
**配置方法: **
方法一 直接配置路径:
我的电脑--属性--高级系统设置--环境变量
编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔
开即可。
打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。
方法二 通过变量先记录其上层目录,再去配置:
我的电脑--属性--高级系统设置--环境变量
新建,变量名:JAVA_HOME, 变量值:C:\Program Files\Java\jdk1.8.0_91
编辑path环境变量,加上%JAVA_HOME%\bin即可。
编写第一个程序:HelloWord,并通过命令行对其进行编译、运行:
首先对java源程序的编译运行的所有步骤进行一个说明:
1、首先编写java的源程序(java的源程序是以扩展名为.java的文件)
2、通过javac编译工具对java源程序进行编译,生成字节码文件(扩展名为.class的文件,其名称为源文件中的类名,即可执行的java程序)
3、最后通过java命令对生成的字节码文件(class文件)进行运行。
具体过程:
现在目录下建立一个java源程序(拓展名为.java):
在我们刚刚创建的源程序中通过记事本对其进行编辑,写入代码,如图所示:
接下去,我们打开命令行,并进入到该源程序所在目录中:
然后我们通过javac对我们的java源程序进行编译(不区分大小写,因为windows是不区分大小写):
我们可以看到,我们java源程序所在目录中,生成了一个名字与我们java源程序中类名一样,扩展名是class的字节码文件:
最后我们通过java命令,去运行一下这个字节码文件(java区分大小写,Test类不能写成test):
可以看到,成功显示源文件中需要输出的内容Hello World!
对第一个java程序总结:
1、java程序编写-编译-运行的过程:
编写:我们将编写的java代码保存在以.java结尾的源文件中
编译:使用javac.exe命令编译我们的java源文件,生成一个字节码文件。
运行:通过java命令,运行字节码文件(有main方法,即是作为程序入口的类)。
2、在一个java源文件中可以声明多个class类,但是,最多只能有一个类申明为public的(且该类要和文件名同名)
3、程序的入口是main()方法,格式是固定的。
public static void main(String[] args)
public static void main(String args[])
public static void main(String[] a)
4、输出语句:
System.out.println(“数据”); 先输出数据再换行
System.out.print(“数据”); 输出数据不换行
5、每个执行语句末尾都以分号(;)结束。
6、编译的过程:对源文件编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。
7、运行只能有main方法的类。
其他相关知识要点
注释:
作用:对代码进行解释说明。
注释类型:
单行注释://注释文字
多行注释:/* 注释文字 /
文档注释(java特有):
/*
@author 指定java程序的作者
@version 指定源文件的版本
*/
文档注释的内容可以被JDK提供的工具javadoc所解析的(javadoc只能解析文档注释,对于单行和多行注释不适用),然后生成一套以网页文件形
式体现的该程序的说明文档。
注:
(1)对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
(2)多行注释里面不允许有多行注释嵌套。
Java API文档:
API(Application Programming Interface, 应用程序编程接口):是java提供的基本编程接口,即提供的一些类库。
API文档:即如何使用API的说明
Java开发工具:
文本编辑工具:
记事本
UltraEdit
EditPlus
TextPad
NotePad
**Java集成开发环境(IDE,Integrated Development Environment): **
JBuilder
NetBeans
Eclipse
MyEclipse
IntelliJ IDEA