第一章_Java语言概述
1.1 软件开发介绍
1.软件开发:
软件,即一系列按照特定顺序组织计算的计算机数据和指令的集合。有系统软件和应用软件之分。
2.人机交互方式
图形化界面(GUI):简单直观,使用者易于接受,容易上手操作;
命令行方式(CLI):需要有一个用于输入特定的指令的控制台,让计算机完成一些操作。相较GUI麻烦,需要记住一些命令。
3.常用的DOS命令:
dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd..:退回至上一级目录
cd\:退回到根目录
del:删除文件
exit:退出dos命令行
echo 文件内容 > 文件名:在指定文件名中创建指定文件
1.2 计算机编程语言的介绍
第一代编程语言:机器语言。指令以二进制代码的形式存在;
第二代编程语言:汇编语言。使用助记符表示一条机器指令( 代码 --> 汇编器 --> 机器代码文件 ;
第三代编程语言:高级语言:
1.C、Pascal、Fortran面向过程的语言;
2.C++面向过程/对象的编程语言;
3.Java跨平台的纯面向对象的语言;
4. .Net、Python、Scala.....
1.3 Java语言概述
1.Java技术体系平台:
1)、Java SE 标准版:
支持面向桌面级应用的Java平台,提供完整的Java核心API,旧称J2SE;
2)、Java EE 企业版:
此是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发,旧称J2EE;
3)、Java ME 小型版:
支持Java程序运行在移动终端上的平台,对Java API有所精简,并加入了针对移动终端的支持,旧称J2ME;
4)、Java Card:
支持一些Java小程序运行在小内存设备上的平台。
2.Java在各领域的应用:
1)、从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
1.企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等;
2.Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实;
3.大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态圈来说,还有各种中间件如flume,kafka,sqoop等等,这些框架以及工具大多数是用Java编写而成,但提供诸如Java,Scala,Python,R等各种语言API供编程;
4.移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。
3.Java语言主要特性:
1)、Java语言是易学的。Java语言的语法与C语言和C++语言很相近。
2)、Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。
3)、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI机制也是开发分布式应用的重要手段。
4)、Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java明智的选择。
5)、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
6)、Java语言是体系结构中立的。Java程序(后缀为Java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
7)、Java语言是解释型的。如前述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。
8)、Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。
9)、Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
1.4 Java语言运行机制及运行过程
1.Java语言的特点:
1)、面向对象
1.两个基本概念:类、对象
2.三大特性:封装、继承、多态
2)、健壮性
吸收了C/C++语言的特点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
3)、跨平台性
1.跨平台性:通过Java语言编写的应用程序在不同的系统平台都可以运行。"Write once, Run Anywhere"
2.原理:只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM)即可。由JVM来负责Java程序在该系统中的运行
2.Java语言的特点:跨平台性
| Java程序 | ||
| Windows | Linux | Mac OS X |
| Win版的JVM | Linux版的JVM | Mac版的JVM |
因为有了JVM,同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。
3.Java两种核心机制
1)、Java虚拟机(Java Virtal Machine)
1.JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器;
2.对于不同的平台,有不同的虚拟机;
3.只有该平台提供了对应的java虚拟机,java程序才可在此平台运行;
4.Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

2)、垃圾收集机制(Garbage Collection)
1.不再使用的内存空间应回收——垃圾回收;
1)、在C/C++等语言中,由程序员负责回收无用内存;
2)、Java语言消除了程序员回收无用内存的责任:它提供了一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
2.垃圾回收在Java程序运行过程中自动运行,程序员无法精准控制和干预;
3.Java程序仍会出现内存泄漏和内存溢出问题。

1.5 Java语言的环境搭建
1.JDK:(Java Development Kit)Java开发程序包(其中的开发工具:编译工具(javac.exe)、打包工具(jar.exe)等);
2.JRE:(Java Runtime Environment)Java运行环境 (如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可);
3.JDK、JRE、JVM关系:

JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE = JVM + Java SE标准类库
4.配置环境变量path
高级系统设置 ---> javac.exe
1.6 第一个Java程序:HelloWorld
1.步骤一:编写
创建一个文本文件 ---> 输入以下代码 ---> 保存 ---> 将后缀名改为 .java (HelloWorld.java)
public class Test{ public static void main(String[] args){ System.out.println("Hello World!"); } }
2.步骤二:编译
在cmd中输入
D:\> javac HelloWorld.java
D:\> java Test
3.步骤三:运行
输出
Hello World!
注:
1)、每次修改程序之后,需要再次编译;
2)、main()函数是程序的入口;
3)、程序中是严谨的,不允许出现任何输入错误。
1.7 注释(comment)
1)、注释:用于注解说明解释程序的文字就是注释;
2)、Java中的注释类型:
1.单行注释;
格式://注释文字
2.多行注释;
格式:/* 注释文字 */
3.文档注释。(java特有)
格式:需要注释的文件地址 > javadoc -d 文档注释名 -author -version 需要注释的文件名.java
注:被注释的文字,不会被JVM解释执行;多行注释里面不允许有多行注释嵌套。
3)、提高了代码的阅读性,调试程序的重要方法;
4)、注释是一个程序员必须要具有的良好编程习惯;
5)、将自己的思想通过注释先整理出来,再用代码去体现。
1.8 小结
1)、Java源文件以“java”为扩展名。源文件的基本组成部分是类(class);
2)、Java应用程序的执行入口是main()方法,书写格式固定:
public static void main(String[] args) {...}
3)、Java语言严格区分大小写;
4)、每句Java程序以分号作结;
5)、大括号都是成对出现的,缺一不可;
6)、一个源文件最多只有一个public类。其他类的个数不限,如果源文件包含一个public类,则文件名必须按类名命名。
1.9 常见的Java开发工具
1)、文本编辑工具:
1.记事本
2.UltraEdit
3.TextPad
2)、Java集成开发环境(IDE):
1.Eclipse
2.IntelliJ IDEA
1.10 知识点回顾:
1)、JDK,JRE,JVM的关系;
2)、环境变量path配置及其作用;
3)、Java程序的编写、编译、运行步骤;
4)、Java程序编写的规则;
5)、在配置环境、编译、运行各个步骤中常见的错误以及解决方法。
浙公网安备 33010602011771号