第一章Java编程语言概述

本章内容

第一节 走进Java语言

第二节 搭建开发环境

第三节 开发简单应用程序

第四节 注释语句

第一节 走进Java语言

一,Java编程语言发展简史

早期的 Java

Java 平台和语言最开始只是 Sun 公司在 1990 年 12 开始研究的一个内部项目“Green 计划”。其目的是研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,Sun 公司预料未来科技将在家用电器领域大显身手。该项目就是为家用消费电子产品开发一个分布式代码系统,以便用户将 E-mail 发送给电冰箱、电视机、烤箱等家用电器,对它们进行控制,并和它们进行信息交换。

团队最初考虑使用 C语言,但是项目组成员很快发现 C和可用的 API在某些方面存在很大问题。工作小组使用的是内嵌类型平台,可以用的资源极其有限。C语言是一种功能强大但比较复杂的语言,以至很多开发者经常错误使用,而且 C缺少垃圾回收系统、可移植的安全性、分布程序设计和多线程功能。最后项目组成员基于 C++开发了一种新的语言 Oak(橡树),这就是Java 语言的前身。但是由于这些智能化家电的市场需求没有预期的高,Sun 公司放弃了该项计划;因 Oak 是一种用于网络的精巧而又安全的的语言,Sun 公司又曾依此投标了一个交互式电视节目,但结果又被 SGI 打败,Oak 几乎夭折。

Java 遭遇互联网

1994 年 6、7 月间,在经历了一场历时三天的头脑风暴的讨论后,团队决定再一次改变努力的目标,这次他们决定将该技术应用于万维网。他们认为随着 Mosaic 浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。于是,Java 的重心由电子消费品转移到 Internet 编程,因此 Green 计划就此绝地逢生,随着互联网蓬勃发展。Internet 最终导致了 Java 的成功,在 1995 年 5 月 Sun 公司以“Java”的名称正式发布了该语言。1996 年 1 月,Sun 公司成立了 Java 业务集团,专门开发 Java 技术。 Java 语言伴随着 Internet 的迅猛发展,逐渐成为重要的Internet 编程语言。

Java 近况

在流行几年之后,Java 在浏览器中的地位被逐步侵蚀。它在简单交互性动画方面的用途已经完全被 Macromedia 公司的 Flash 排挤,2005 年 Java 倾向只被用于雅虎游戏那样的更为复杂的应用程序。Java 同时遭受到来自微软的反对,他们决定在新版本的 IE 浏览器和 Windows 中不再附带 Java 平台。与此相反,在万维网的服务端和手持设备上,Java 变得更加流行,很多网站在前端都使用了 JSP 和其他的 Java 技术。在桌面系统上,独立的 Java 程序还是相对少见,这是因为 Java 平台的运行开销较大,而许多人的电脑上没有安装 Java,由于网络带宽在以前较小,下载 Java 曾经是个耗时的事情。但是随着计算机计算能力、网络带宽在 10年中取得了很大的进步,同时虚拟机和编译器的质量得到了越高,许多应用程序得到了广泛的使用,还有许多用 Java 写的软件。

目前 Java ᨀ供以下三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)。

关于 Java 这个名字的来历还有一段趣闻:有一天,几位 Java 成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着 Java(爪哇)咖啡,有一个人灵机一动说就叫 Java 怎样,这个ᨀ议得到了其他人的赞同,于是,Java 这个名字就这样传开了。

关于 java 的咖啡图标,也有悠闲的意思,就是说使用java 语言可以有更好的开发效率,给你更多悠闲的时间(喝咖啡),还有一杯咖啡放在你的面前,你是不是有一种要把它端起来的冲动呢?其实就是让你体验 java 的冲动。

二、Java发展历史的简单回顾

幼年时期(1995~1998)

1995 年 5 月 23 日,java 语言诞生;1996 年 1 月 23 日,第一个 JDK——JDK1.0 诞生,此版本包括了运行环境(JRE)和开发环境(JDK)两部分;

1997 年 2 月 18,JDK1.1 发布,最大改进就是为 JVS 增加了 JIT(即时编译)编译器;

青少年时期(1998~2004)

1998 年 12 月 4 日,Sun 发布了 Java 的历史上最重要的一个 JDK 版本:JDK1.2。此版本标志着 Java 已经进入 Java2 时代;

1999 年 6 月 SUN 公司发布 Java 的 3 个版本,即标准版、企业版和微型版(J2SE、J2EE、J2ME);

2000 年 5 月 8 日,JDK1.3 发布;

2000 年 5 月 29 日,JDK1.4 发布;

2001 年 9 月 24 日,J2EE1.3 发布;

2002 年 2 月 26 日,J2SE1.4 发布,自此 java 的计算能力有了大幅度的升;

壮年时期(2004~至今)

2004 年 9 月 30 日,J2SE1.5 发布,是 java 语言发展史上又一里程碑事件。为了表示这个版本的重要性,J2SE1.5 更名为 J2SE5.0;

2006 年 Sun 推出了 J2SE6.0 测试版;

1、 Java 由 SUN 公司研发,后来被 Oracle 收购

2、Java 之父:James Gosling

3、Java 由 1995 年发布,正事版本由 1996 年1月发布(jdk1.0)

Java编程语言主要特征

面向对象

分布式

简单化

多线程

安全

跨平台移植(Write once, Run Anywhere)

Java技术体系平台

Java™平台标准版(Java SE)

适于开发桌面应用程序,C/S架构应用程序

Java™平台企业版(Java EE)

适于开发小、中、大型的企业级应用程序

Java™平台微型版(Java ME)

适合于开发微型平台的应用程序,如手机,GPS

第二节 搭建开发环境

核心机制—Java虚拟机

JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。

对于不同的平台,有不同的虚拟机。

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

Java语言的特点:跨平台性

因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。

什么是JDK,JRE

JDK(Java Development Kit    Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等

JRE(Java Runtime Environment Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

JVM、JRE、JDK

JRE = JVM + Java SE标准类库

JDK = JRE + 开发工具集(例如Javac编译工具等)

Java语言的环境搭建

下载 JDK

安装 JDK

配置环境变量

JAVA_HOME D:\Develop\jdk

path:windows系统执行命令时要搜寻的路径。

classpath:%JAVA_HOME%\bin;%JAVA_HOME%\jre\binjava 在编译和运行时要找的 class 所在的路径。

验证是否成功:javac java

选择合适的文本编辑器或 IDE 开发

下载、安装JDK

官方网址:

www.oracle.com

java.sun.com

安装JDK

傻瓜式安装,下一步即可。

建议:安装路径不要有中文或者特殊符号如空格等。

当提示安装 JRE 时,可以选择不安装。

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如WindowsDOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

配置环境变量 path

在dos命令行中敲入javac,出现错误提示:

错误原因:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示。所以进入到 jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。

每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目录下都可以执行java的工具呢?

根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到 path 环境变量中,让系统帮我们去找运行执行的程序。

配置方法:

我的电脑--属性--高级系统设置--环境变量

编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。

打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。

注: 具体操作流程,参看JDK7下载-安装-配置.doc

配置环境变量 path(补充)

临时配置方式:通过dos命令中set命令完成

set :用于查看本机的所有环境变量的信息。

set 变量名 :查看具体一个环境变量的值。

set 变量名=:清空一个环境变量的值。

set 变量名=具体值 :给指定变量定义具体值。

想要在原有环境变量值基础上添加新值呢?

首先,通过%变量名%操作符获取到原有环境变量的值。

然后加上新值后再定义给该变量名即可

举例:给path环境变量加入新值

set path=新值;%path%

注:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

基础常识

Windows操作系统常用的DOS命令

dir : 列出当前目录下的文件以及文件夹

md : 创建目录

rd : 删除目录

cd : 进入指定目录

cd.. : 退回到上一级目录

cd: 退回到根目录

del : 删除文件

exit : 退出 dos 命令行

第三节 开发简单的应用程序

开发体验 — HelloWorld

步骤:

1,将 Java 代码编写到扩展名为 .java 的文件中。

2,通过 javac 命令对该 java 文件进行编译。

3,通过 java 命令对生成的 class 文件进行运行。

Java程序的执行原理

小结第一个程序

Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本类中的HelloWorld类。

一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须按该类名命名。

Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String[] args) {...}

Java语言严格区分大小写。

Java方法由一条条语句构成,每个语句以“;”结束。

大括号都是成对出现的,缺一不可。

常见问题及解决方法

源文件名不存在或者写错,或者当前路径错误。

类文件名写错,或者类文件不在当前路径下,或者不在classpath指定路径下。

1.7 常见问题及解决方法

声明为public的主类应与文件名一致,否知编译失败

编译失败,注意错误出现的行数,再到源代码中指定位置改错

练 习

编写一个Rectangle类,打印输出三角形如下:

*

**

***

****

*****

******

class Test1{ public static void main(String[] args){ System.out.println("*"); System.out.println("**"); System.out.println("***"); System.out.println("****"); System.out.println("*****"); System.out.println("******"); } }

第四节 注释语句

注 释

用于注解说明解释程序的文字就是注释。

提高了代码的阅读性;调试程序的重要方法。

Java中的注释类型:

单行注释

多行注释

文档注释(java特有)

注释是一个程序员必须要具有的良好编程习惯。

将自己的思想通过注释先整理出来,再用代码去体现

单行注释

格式: //注释文字

多行注释

格式: /* 注释文字 */

注:

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

多行注释里面不允许有多行注释嵌套。

文档注释(java特有)

格式:/**

* @author 指定java程序的作者

*@version 指定源文件的版本

*@param 方法的参数说明信息

*/

注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

操作方式

Java API文档

API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。

Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。

下载API:Java Downloads | Oracle

Additional Resources-Java SE 7 Documentation下载。

详见:JDK7的下载-安装-配置.doc

练 习

1,独立编写HelloJava程序,并配上必要的注释。

2,将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。

3,结合\n(换行),\t(制表符),空格等在控制台打印出如下图所示的效果。

class Test1{ public static void main(String[] args){ System.out.println(" * * "); System.out.println("* * I Love You * *"); System.out.println(" * * "); System.out.println(" * * "); System.out.println(" * * "); System.out.println(" * * "); System.out.println(" * * "); System.out.println(" * "); } }

知识回顾

● JDK,JRE,JVM的关系。

● 环境变量path配置及其作用。

● Java程序的编写、编译、运行步骤。

● Java程序编写的规则。

● 在配置环境、编译、运行各个步骤中常见的错误以及解决方法。

day01课后练习

第一题

  • 按步骤编写代码,效果如图所示:

编写步骤:

  1. 定义类 Test1
  2. 定义 main方法
  3. 控制台输出5行字符串类型常量值
  4. 控制台输出5行字符类型常量值

class Test1{ public static void main(String[] args){ System.out.println("善学如春起之苗"); System.out.println("不见其增,日有所长"); System.out.println("假学如磨刀之石"); System.out.println("不见其损,年有所亏"); System.out.println("加油吧!少年"); System.out.println("J"); System.out.println("A"); System.out.println("V"); System.out.println("A"); System.out.println("!"); } }

第二题

  • 按步骤编写代码,效果如图所示:

编写步骤:

    1. 定义类 Test5
    2. 定义 main方法
    3. 定义2个 float类型变量,分别赋值,并输出在控制台.
    4. 定义2个 double类型变量,分别赋值,并输出在控制台.

public class Test7 { public static void main(String[] args) { float a = 10F; float b = 20F; System.out.println("a = " + a); System.out.println("b = " + b); double c = 10; double d = 20; System.out.println("c = " + c); System.out.println("d = " + d); } }

第三题

  • 按步骤编写代码,效果如图所示:

步骤图解:

开发提示:定义变量不赋值的格式

// 数据类型 变量名 ; int temp;

  • 编写步骤:
    1. 定义类 Test7
    2. 定义 main方法
    3. 定义两个整数变量a,b并赋值
    4. 控制台输出变量a,b互换前的值
    5. 定义一个第三方变量temp,使a,b的值互换
    6. 控制台输出变量a,b互换后的值

public class Test7 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("互换前:"); System.out.println("a = " + a); System.out.println("b = " + b); int temp = a; a = b; b = temp; System.out.println("互换后:"); System.out.println("a = " + a); System.out.println("b = " + b); } }

第四题

  • 按步骤编写代码,效果如图所示:

开发提示:四则运算的符号

加: + 减: - 乘: * 除: /

  • 编写步骤:
    1. 定义类 Test8
    2. 定义 main方法
    3. 定义2个int类型变量x、y,x赋值为100,y赋值为200
    4. 定义新变量add,保存变量x,y的和并打印到控制台
    5. 定义新变量sub,保存变量x,y的差并打印到控制台
    6. 定义新变量mul,保存变量x,y的积并打印到控制台
    7. 定义新变量div,保存变量x,y的商并打印到控制台

public class Test8 { public static void main(String[] args) { int x = 100; int y = 200; System.out.println("x,y的和为:" + (x+y)); System.out.println("x,y的差为:" + (x-y)); System.out.println("x,y的积为:" + (x*y)); System.out.println("x,y的商为:" + (x/y)); } }

第五题

  • 按步骤编写代码,效果如图所示:

开发提示:观察小数类型数值运算后的结果.

小数运算经常出现精度丢失的问题,不建议使用基本类型运算.

  • 编写步骤:
    1. 定义类 Test9
    2. 定义 main方法
    3. 定义2个double类型变量x、y,x赋值为100.8,y赋值为20.6
    4. 定义新变量add,保存变量x,y的和并打印到控制台
    5. 定义新变量sub,保存变量x,y的差并打印到控制台
    6. 定义新变量mul,保存变量x,y的积并打印到控制台
    7. 定义新变量div,保存变量x,y的商并打印到控制台
  • 提示:
    1. 加法:+
    2. 减法:-
    3. 乘法:*
    4. 除法:/

public class Test9 { public static void main(String[] args) { double x = 100.8; double y = 20.6; double add = x + y; System.out.println("x,y的和为:" + add); double sub = x - y; System.out.println("x,y的差为:" + sub); double mul = x * y; System.out.println("x,y的积为:" + mul); double div = x / y; System.out.println("x,y的商为:" + div); } }

简答题

1、如何用最有效的的方法计算2乘以8

2<<3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值