2015年度WEB开发实验室第三次Seminar.

主讲人:hollins

课件下载:

PPT: 进入Java的世界.pptx (下载530)

PDF: 进入Java的世界.pdf (下载532)

一、零、软件准备

  • jdk

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

  • Spring Tools Suit

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

二、Java环境及其配置

0. Java概述

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

1.  Java简史

JDK Version 1.0

开发代号为Oak(橡树),于1996-01-23发行。

JDK Version 1.1 于1997-02-19发行。

引入的新特性包括:

JDBC(Java Database Connectivity);  支持内部类;  Java Bean;  RMI(Remote Method Invocation);  反射(仅用于内省)。

J2SE Version 1.2 代号为Playground(操场), 于1998-12-08发行。

引入的新特性包括:

  • 集合框架;
  • 对字符串常量做内存映射;
  • JIT(Just In Time)编译器;
  • 对打包的Java文件进行数字签名;
  • 引入控制授权访问系统资源的策略工具;
  • 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;
  • 引入Java 插件;
  • 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;
  • 在Applet中添加声音支持;

J2SE Version 1.3 代号为Kestrel(红隼),于2000-05-08发行。

引入的新特性包括:

  • 引入Java Sound API;
  • jar文件索引;
  • 对Java的各个方面都做了大量优化和增强。

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

J2SE Version 1.4 代号为Merlin(隼),于2004-02-06发行

引入的新特性包括:

  • XML处理;
  • 引入JDBC 3.0 API;
  • 引入链式异常处理;
  • 支持IPv6;
  • 支持正则表达式;

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

Java Version SE 5.0  代号为Tiger(老虎),于2004-09-30发行。

引入的新特性包括:

  • 引入泛型;
  • 增强循环,可以使用迭代方式;
  • 自动装箱与自动拆箱;
  • 类型安全的枚举;
  • 元数据(注解);

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

Java Version SE 6  代号为Mustang(野马),于2006-12-11发行。

引入的新特性包括:

  • 支持脚本语言;
  • 引入JDBC 4.0 API;
  • 可插拔注解;
  • 继承Web Services

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

Java Version SE 7 代号是Dolphin(海豚),于2011-07-28发行。

引入的新特性包括:

  • switch语句块中允许以字符串作为分支条件;
  • 在创建泛型对象时应用类型推断;
  • 在一个语句块中捕获多种异常;
  • 支持try-with-resources;
  • null值的自动处理。

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

2. Java的工作方式

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

编写源代码,存为Party.java

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

执行javac程序来编译Party.java。如果程序没有错误的话,会产生Party.class这个文件。

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

输出的Party.class文件

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

启动java虚拟(JVM)机来运行Party.class文件。JVM会将字节码转换成平台能够理解的形式来运行 。

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

3. Java语言的特点

  • 跨平台性

所谓跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意的计算机上正常运行。

  • 面向对象

面向对象是指以对象为基本粒度,其下包含属性和方法。对象的状态用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。

Java语言是一种面向对象的语言,也继承了面向对象的许多好处,如:类继承、多态等。

  • 安全性

Java语言的安全性可以分为四个层面:语言级安全性、编译时安全性、运行时安全性、可执行代码安全性

  • 多线程

多线程在操作系统中已得到最成功的应用。多线程指的是允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。

  • 简单易用

Java源代码的书写不拘泥于特定的环境,可以用记事本、Sublime Text等编辑器实现,然后将源文件编译,编译通过后在运行。

或者使用集成开发环境(IDE,如STS,Eclipse)更加方便快捷

4. Java应用分类

  • 应用程序
  1. GUI应用程序
  2. 命令行应用程序
  3. 嵌入式应用程序
  • Servlet服务器端应用程序

服务器端的应用程序用来收集客户端的数据输入,对数据进行处理之后返回给相应的响应给客户。它主要用户复杂的企业级应用程序

  • Applet小应用程序

Applet应用于网络上,嵌入在HTML网页中,支持Java的浏览器可以对它解释并运行。通常通过一个HTML标签<applet></applet>来识别并运行Applet。

过时!

5. Jdk的下载与安装

6.  第一声啼哭

  • Hello, World
  1. 新建Hello.java文件
  2. 输入相应代码
  3. 使用javac命令编译代码
  4. 使用java命令运行代码

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

7.  程序构成

main方法是程序的入口

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

三、认识变量

0. 基本数据类型

  1. 整型
类型名 位长 取值范围
byte 8 -2^7~2^7-1
short 16 -2^15~2^15-1
int 32 -2^31~2^31-1
long 64 -2^63~2^63-1
  • 如果只是纯粹的整数,计算机会默认是int型
  • Long型的值需要在数字的最后面加上L或l,如10L

2. 浮点型

类型名 位长 取值范围
float 32 1.4*10^-45~3.4*10^38
double 64 4.9*10^-324~1.8*10^308
  • 浮点型的默认是double,如果要存储float型,必须在后面加上f。 例如:1.2f

3. 字符型 char

字符型存储的是一个Unicode字符,长16位,它的取值范围是0~2^16-1。

4. 布尔型 boolean

布尔型数据值只有两个true和false。而且不能和其他类型进行转化。

1. 命名规则

1.1 无论是类的名称,变量的名称还是方法的名称,都只能包含字母、数字、下划线和美元符号,但是不能以数字开头。

判断下面那些命名是合法的,那些事不合法的:

abc    $Hollins    _as121#    jl%    _123

1.2 命名中的惯例

在类名的命名中,我们将首字母大写,如果类名是由多个单词构成的,从第二个起,每个单词的首字母大写,如:DrawTest

在变量和方法的命名中,一般首字母小写,第二个及以后的单词首字母大写,如 callPolice

2. 运算符

算术运算符

  • + (取正)
  • - (取负)
  • ++
  • --
  • + (相加)
  • - (相减)
  • *
  • /
  • % (取余)

关系运算符

  • >
  • <
  • >=
  • <=
  • !=
  • ==

逻辑运算符

  • |
  • ||
  • &
  • &&
  • !

三目运算符

? :

<condition>?:<case1>:<case2>

四、基本语法

0.  声明语句

声明语句就是告诉java一个变量是什么类型的,例如:

int x;

double y;

1.  赋值语句

赋值语句就是赋予一个变量特定的值,例如:

x = 3;

y = 3.14159;

2. 判断语句

  • 判断语句就是让程序随机应变,在适当地条件下做适当的事情。有if-else语句和switch语句之分,例如:
if(x < Y){
    System.out.println(x);
}else{
    System.out.println(y);
}

tip: 判断两个变量是否相等的符号是 == 不是=

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

3. 循环语句

计算机最擅长的事情就是重复!所以,我们可以书写一个循环语句来让计算机不断地重复做事情。在java中有三种循环的语法,for 循环,while循环, do-while循环。

  • for循环

for循环分三部分,初始化、判断和更新这三个部分,每个部分之间用;分隔

for(初始化;判断;更新){

//code goes here

}

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

  • while循环

while后面的括号中是判断语句

while(条件判断){

//如果括号里面的条件是true的话,那么执行

}

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

  • do-while循环

do-while是先斩后奏式

do{

//code goes here

} while(条件判断);

//如果括号中是true,那么继续执行循环,否则退出循环

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

4. 注释

  • 程序中的注释是不是程序必需的一部分!
  • Jdk在编译过程中会自动忽视注释
  • 注释的作用在于方便程序猿理解代码
  • 分为行注释、块注释和文档注释
  • 文档注释有特殊的作用

行注释

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

块注释

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

文档注释

【2015年度Seminar】(三)走进Java的世界-数字人文技术实验室

实例

编写一个计步器

增加一步

看看现在走了几步

打印一个菱形

如何控制每一行打印的个数

Code Assignment

如何计算斐波那契数列的第n项

阅读书目

  • 《Head First Java》
  • 《Thinking In Java》(java编程思想)
  • 《Java语言程序设计》

参考网站

http://docs.oracle.com/javase/8/docs/api/

http://www.baidu.com

公邮

  • Email:

weblab409@163.com