Java基础入门教程(适合所有初学者)

Java基础入门教程(适合所有初学者)
Java基础入门教程(适合所有初学者)

JVAV基础入门教程

第1章 Java语言概述与面向对象思想 1

1.1 Java语言的发展 1

1.1.1 Java语言的产生 1

1.1.2 Java语言的发展 1

1.2 Java语言的特点 2

1.3 面向对象与面向过程的差异 3

1.3.1 面向过程思想回顾 4

1.3.2 面向对象思想介绍 4

1.4 面向对象程序设计中的主要概念和特征 4

1.4.1 主要概念 5

1.4.2 主要特征 5

*1.5 Java与C++的差异 5

1.6本章小结5

习题 5

第2章 Java语言开发环境 6

2.1 JDK 6

2.1.1 JDK的简介6

2.1.2 JDK的构成6

2.1.3 JDK的使用6

2.2 IDE 8

2.2.1 IDE简介8

2.2.2 JBuilder 9

2.2.3 Eclipse 9

2.2.4 相关资源9

2.3 Project管理9

2.3.1 Project的含义9

2.3.2 可行的Project组织模式9

2.3.3 主要开发工具的Project目录10

2.4 本章小结10

习题10

第1章 Java语言概述与面向对象思想

1.1 Java语言的发展

1.1.1 Java语言的产生

上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。

该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。

随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling 用Java开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。这种浏览器名称为HotJava,并于1995年同Java语言一起,正式

在业界对外发表,引起了巨大的轰动,Java的地位随之而得到肯定。此后的发展非常迅速。Java编程语言的句法与C++的句法相似,语义则与Small Talk TM的语义相似。Java编程语言可被用来创建任何常规编程语言所能创建的应用程序。

设计Java编程语言的主要目标是:

提供一种易于编程的语言,从而消除其它语言在诸如指针运算和存储器管理方面影响健壮性的缺陷。

利用面向对象的概念使程序真正地成为完全面向对象的程序。

为使代码尽可能清晰合理、简明流畅提供了一种方法。

为获得如下两点益处提供一种解释环境:

提高开发速度──消除编译─链接—装载—测试周期;

代码可移植性──使操作系统能为运行环境做系统级调用。

为运行不止一个活动线程的程序提供了一种方式。

通过允许下载代码模块,从而当程序运行时也能动态支持程序改变。

为那些保证安全性而装载的代码模块提供了一种检查方法。

精心开发的Java核心技术为上述目标的实现提供了保证,其中包括如下几个主要技术:

Java虚拟机

自动垃圾收集

代码安全性

1.1.2 Java语言的发展

Java语言的发展目标并不仅仅是一种编程语言,同时还要构建一种开发环境、一种应用环境、一种部署环境。

作为Java语言的最基本支持,Sun公司在1996年发布了Java开发工具包JDK 1.0(JDK是Java Develop Kit的简称),其中包括了进行Java开发所需要的各种实用程序(编译、执行、文档生成器等等)、基本类库(相当于C语言的函数库以及C++的类库)、程序实例等等。1998年,Sun公司发布了更新的JDK 1.2,由于在技术思想方面与以前有很多改进,所以此后的Java技术一般称之为Java 2。随后,针对不同的领域特征,Java技术分为三种不同的平台(最新的称谓又去掉了意义模糊的2,如JavaSE):

J2SE——标准Java平台

J2SE是Java语言的标准版,指的就是JDK(1.2及其以后版本),包含Java基础类库和语法。它用于开发具有丰富的GUI(图形用户界面)、复杂逻辑和高性能的桌面应用程序。

J2EE——企业级Java平台

J2EE建立在J2SE之上,用于开发和实施企业级应用程序。它是一个标准的多层体系结构,可以将企业级应用程序划分为客户层、表示层、业务层和数据层,主要用于开发和部署分布式、基于组件、安全可靠、可伸缩和易于管理的企业级应用程序。

J2ME——嵌入式Java技术平台

J2ME也是建立在J2SE之上,主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。例如移动电话(手机)、PDA(电子商务)、能够接入电缆服务的机顶盒或者各种终端和其他消费电子产品。

任何语言建立的应用程序的类型或多或少都与应用程序的运行环境有关,而Java语言一般可以建立如下的两种程序:

Applications

Applications是一种独立的程序,它是一种典型的通用程序,可运行于任何具备Java运行环境的设备中。https://www.360docs.net/doc/3311511254.html,

Applets

Applets是一种贮存于WWW服务器上的用Java编程语言编写的程序,它通常由浏览器下载到客户系统中,并通过浏览器运行。Applets通常较小,以减少下载时间,它由超文本标识语言(HTML)的Web页来调用。

Java运行环境具有一些特殊性,或者有很多特殊的人为建立的运行环境,所以Java编程中经常建立各种组件,它们可以在特定环境中运行,如Servlet、JavaBean、JSP等。

在Java技术体系中,有很多免费或非免费的第三方Java组件,他们往往提供了某一方面的解决方案,可以应用在很多项目的开发过程中。

学习Java语言需要逐渐了解Java技术体系,从局部细节开始学习,从整体中进行认识并选择方向,从应用中进行巩固提高。

1.2 Java语言的特点

Java语言适用于Internet环境,是一种被广泛使用的网络编程语言,它具有如下的一些特点:

简单

Java语言的语法规则和C++类似,但Java语言取消了指针和多重继承,统一使用引用来指示对象(C++中有两种形式,实际上是两种产生对象的途径,而Java中只有一种),通过自动垃圾收集免去了程序设计人员对于内存块的释放工作。

面向对象(近于完全)

Java语言为了提高效率,定义了几个基本的数据类型以非类的方式实现,余下的所有数据类型都以类的形式进行封装,程序系统的构成单位也是类。因而几乎可以认为是完全面向对象。 平台无关性(可移植、跨平台)

Java虚拟机(JVM)是在各种体系结构真实机器中用软件模拟实现的一种想象机器,必要时候可以用硬件实现。

当然,这些虚拟机内部实现各异,但其功能是一致的——执行统一的Java虚拟机指令。Java编译器将Java 应用程序的源代码文件(.java)翻译成Java字节码文件(.class),它是由Java虚拟机指令构成的。由于是虚拟机器,因而Java虚拟机执行Java程序的过程一般称为解释。

依赖于虚拟机技术,Java语言具有与机器体系结构无关的特性,即Java程序一旦编写好之后,不需进行修改就可以移植到任何一台体系结构不同的机器上。

从操作系统的角度看,执行一次Java程序的过程就是执行一次Java 虚拟机进程的过程。

面向网络编程

Java语言产生之初就面向网络,在JDK中包括了支持TCP/IP、HTTP和FTP等协议的类库。 多线程支持

多线程是程序同时执行多个任务的一种功能。多线程机制能够使应用程序并行执行多项任务,其同步机制保证了各线程对共享数据的正确操作。

良好的代码安全性

运行时(Runtime)一词强调以动态的角度看程序,研究程序运行时候的动态变化,也用运行时环境一词表达类似的含义。

Java技术的很多工作是在运行时完成的,如加强代码安全性的校验操作。

一般地,Java技术的运行环境执行如下三大任务:

加载代码——由类加载器执行

类加载器为程序的执行加载所需要的全部类(尽可能而未必同时)。

校验代码——由字节码校验器执行

Java代码在实际运行之前要经过几次测试。字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如--检查伪造指针、违反对象访问权限

或试图改变对象类型的非法代码。

执行代码——由运行时的解释器执行

自动垃圾收集

许多编程语言都允许在程序运行时动态分配内存块,分配内存块的过程由于语言句法不同而有所变化,但总是要返回指向存储区起始位置的指针。

在C,C++ 及其它一些语言中,程序员负责取消分配内存块。有时这是一件很困难的事情。因为程序员并不总是事先知道内存块应在何时被释放。当在系统中没有能够被分配的内存块时,可导致程序瘫痪,这种程序被称作具有内存漏洞。

当分配内存块不再需要时,程序或运行环境应取消分配内存块。

垃圾收集就是将不再需要的已分配内存块回收。

在其它一般的语言中,取消分配是程序员的责任。

Java编程语言提供了一种系统级线程以跟踪存储区分配,来完成垃圾收集:

可检查和释放不再需要的存储块

可自动完成上述工作

可在JVM实现周期中,产生意想不到的变化

良好的代码健壮性

Java能够检查程序在编译和运行时的错误。类型检查能帮助用户检查出许多在开发早期出现的错误。同时很多集成开发工具(IDE)的出现使编译和运行Java程序更加容易,并且很多集成开发工具(如Eclipse)都是免费的。

1.3 面向对象与面向过程的差异

一种程序设计语言的产生,不仅是程序设计技术的改进,也包含了表达和认知思想的进步。以C语言为代表的部分早期语言,被称为面向过程的语言,不仅因为其程序设计的表达形式是以过程为基本元素,本质上更在于此时对计算机化的系统的理解的主导思想还是控制流或者数据流的,构成系统的要素是模块——处理逻辑。

面向对象语言的产生,是因为对于系统的理解或抽象到了更为高级的层次。此时的认知思想不仅更接近于现实世界,其抽象程度也很高。因而,既有易懂的一方面,也有难懂的另一方面,就看理解的境界了。

1.3.2 面向对象思想介绍

面向对象思想,对现实世界采用直观的理解,计算机化时候采用深度的抽象,简单地可以总结如下:

系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统;

系统与系统、系统与事物、事物与事物之间是有明确界限(边界)的;

系统或事物的状态刻画可以用属性表示,属性一般是些简单的数据,如果复杂那就是事物了;系统或事物的状态会发生变化,称为行为,产生变化是有原因的(内部的或外部的),变化的过程可能是复杂的;

不同的事物之间会具有共同的属性和行为,共同的极端情形就是完全包含。

基于以上的认识,一个运行时(动态)的具体系统或事物,是由几个更小的具体事物构成(极端的事物就是一个简单的属性数据),它们是不断发生变化的。如果对事物这一概念进行了有效的抽象,那么问题就迎刃而解。

首先,将任何一个具体的事物称为对象(Object),它的极端情形就是过去的变量;事物是分类的,每一类事物都具有统一的属性和行为,即类型——抽象数据类型,简称为类(Class);行为既然是过程,那么就抽象成函数,命名为方法,以示区别。

例如:

描述身高或姓名,各自只是一个简单的数据变量;

描述一个学生,可以使用学号、姓名、宿舍、班级等;那更换宿舍算什么呢!

那描述宿舍、班级,又要有许多个项目。

1.4 面向对象程序设计中的主要概念和特征

面向对象程序设计(Object Oriented Programming,OOP)语言中,为了进行更为高度的抽象,会引入一些现实世界中难于找到的概念,但对于一个程序语言来说确实很有价值的。以下暂时介绍的概念基本上都来源于对现实世界的抽象,要从程序设计的角色中去理解它们。面向对象程序设计使系统更易于理解,也使代码具有更好的重用性、可扩展性、易于管理和维护。

1.4.1 主要概念

1、类

类是对一类事物的抽象表示,其角色就相当于数据类型,当然可以算作复杂的数据类型。如学生、宿舍、班级。

2、对象

对象表示一个具体的事物,其角色就是变量,即一个复杂数据类型——xx类的变量。如周瑜、张飞、瑜飞居,飞虎班。

1.4.2 主要特征

OOP语言有三个特征:封装、继承及多态性。

1、封装

类的构成包括成员变量/对象与成员方法,这样将相关的数据与函数包装在一起,同其他的类相区分,就是封装。显然,避免了面向过程语言的平行缺陷,说明了类和成员之间的所属关系。进一步地,可以限制类的成员在外部的可见性,那么就将封装体现得更完美。

2、继承

当一种事物甲完全是另一种事物乙的特例,那么,一般地,类甲只是比类乙多出一些成员变量/对象与成员方法,称为类甲继承类乙,类甲称为(类乙的)子类,类乙称为(类甲的)父类。

父类也称为基类、超类,子类也称为导出类、派生类。

显然编写子类就没有必要重复书写父类中乙有的代码部分,这是OOP中最典型的代码重用。

3、多态

多态表示一个类的某种行为存在多种实现版本。简单的情况是在一个类中,给出多种不同的实现,复杂的情况是在多个子类中各自给出不同的实现。

*1.5 Java与C++的差异

1.6本章小结

习题

1.解释Java语言的三种平台。

2.解释支撑Java语言目标的三种主要技术(自查资料完善)。

3.关于面向对象与面向过程的不同,从问题理解和问题表示两种角度,按照个人的理解和认识,例示其不同的地方。

第2章 Java语言开发环境

2.1 JDK

2.1.1 JDK的简介

可以从Sun公司的官方网站(https://www.360docs.net/doc/3311511254.html,)上下载Java开发工具包(JDK)。不必要求最新的版本,注意Java SE、Windows平台等信息。如:

jdk-1_5_0_17-windows-i586-p.exe

2.1.2 JDK的构成

2.1.3 JDK的使用

1、安装

过程简单,基本使用默认设置,注意安装目录(最好简单化)。

2、设置环境变量

环境变量——应用程序运行时候需要的一些相对固定值的参数。

例如,Java开发工具等软件需要使用JDK,那么必须知道JDK在系统中的什么位置,于是大家约定在操作系统中定义一个名称为JAVA_HOME的环境变量,其内容表示JDK的安装目录。在win2000/2003中的方法:操作【我的电脑】—【属性】—【高级】—【环境变量】后,在【系统变量】区域进行新建、编辑等操作即可。

JAVA_HOME——必设的环境变量,表示JDK安装目录(如C:\Java\jdk1.5.0_17)。(第一次是新建)

Path——名称程序查找路径。如果需要在命令行方式下使用Java的话,修改其内容,在前面增加JDK命令目录,不同项目中间使用分号分隔。(修改,增加%JAVA_HOME%\bin)CLASSPATH——类库设置。(新建,.; C:\Java\jdk1.5.0_17 \lib\tools.jar)。

3、使用

创建程序

可以使用最简单的文本编辑器,编写如下的程序,保存的名字必须是Hello.java。package chap01; //当前类所属包名称

public class Hello //当前类名

{

public static void main(String[] args) //应用程序的主函数

{

System.out.println("Hello, 我的第一个Java应用程序!"); //输出函数

}

}

程序内容解释

在以上的程序中,必须了解并逐渐熟悉的关键点:

声明包名——chap01,指明类的位置(所属包)、相当于文件夹名称,用途在于方便类的组织和管理;

声明类名——Hello,与程序文件名相同(指必须的public类);

类属性——public,描述类的可见性,即类和其它类、包的关系;

主函数——main,程序入口(仅Applications类型需要);

主函数属性——public static,公有、静态(特殊的函数);

主函数的参数——String[] args,命令行参数(如果执行程序时候给了参数,将会由系统封装成字符串数组传递到这里,程序内部可以从此获得并处理);

输出函数——这是Java类库中提供的一个在标准输出设备(显示器、字符输出,对于操作系统来说是可以重定向的设备)显示文本的函数。注意其中出现的类名称System、成员对象名称out、成员方法名称println,书写语法以及参数。从帮助中可以方便地查找到函数的

参数语法;

整个类的框架——括号等表达的结构。

注释格式——//表示行注释,本行后面的内容为注释;/**/表示块注释,其中的内容为注释。

以上的内容在一个Java应用程序中几乎是必需的。

典型源文件布局

一个Java源文件可包含三个“顶级”要素:

一个包声明(可选,没有表示顶级包,但有点麻烦);

任意数量的导入语句import,表示将要使用的外部Java类;

类和接口声明。

该三要素必须以上述顺序出现。即,任何导入语句出现在所有类定义之前;如果使用包声明,则包声明必须出现在类和导入语句之前。

如果需要或者说是遵循编程规范,那么在文件开头可以使用如下形式的文档注释:

/**

文档信息描述

*/

这种形式的注释可以被专门的文档生成工具所处理(由javadoc命令生成的HTML文件)。

程序编译

如下图中的命令javac Hello.java。

注意编译后的文件变化。

程序运行

如下图中的命令java chap01.Hello。

命令窗口与简单命令解释

有多种形式打开如下的命令窗口,注意其中常见的命令的含义以及其成功执行的前提。一条命令一般由命令动词+空格+参数构成,并以回车结束。命令动词中如果不包含路径那么将从默认的路径中查找命令程序,命令可能的参数内容以及形式取决于程序本身,如果需要,可以使用诸如 java -? 或 java –help 形式获得。

d:——切换当前分区;

cd——切换当前某分区下的工作文件夹,需要参数;

md——创建新的文件夹,需要参数;

copy——拷贝文件;

…………

2.2 IDE

2.2.1 IDE简介

IDE的含义是Java集成开发环境(Integrated Development Environment,IDE)。

有很多IDE可供选择,典型的如JBuilder、Eclipse等。

2.2.2 JBuilder

JBuilder是使用Java开发的,支持J2EE技术的Java集成开发环境。但JBuilder不是完全免费的。

JBuilder的安装程序存放在机器中的C:\java\JBX中,两个目录相当于两张光盘,安装时候当出现安装项目列表时候只选第一个即可,安装后的处理按照其中的说明文件进行,解密环节或许需要执行若干次。

最好先安装JDK。

如果出现解密命令失败,一般是path环境变量设置问题。

2.2.3 Eclipse

Eclipse是基于Java的,开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(Integrated Development Environment,IDE)。是一个可以用于构建集成Web和应用程序的开发工具平台,其本身并不会提供大量的功能,而是通过插件来实现程序的快速开发功能。

Eclipse是一个成熟的可扩展的体系结构。它为创建可扩展的开发环境提供了一个平台。这个平台允许任何人构建与环境或其他工具无缝集成的工具,而工具与Eclipse无缝集成的关键是插件。Eclipse还包括插件开发环境(PDE),PDE主要针对那些希望扩展Eclipse的编程人员而设定的。这也正是Eclipse最具魅力的地方。通过不断的集成各种插件,Eclipse的功能也在不断的扩展,以便支持各种不同的应用。

虽然Eclipse是针对Java语言而设计开发的,但是它的用途并不局限于Java语言,通过安装不同的插件Eclipse还可以支持诸如C/C++、PHP、COBOL等编程语言。

Eclipse利用Java语言写成,所以Eclipse可以支持跨平台操作,但是需要SWT(Standard Widget Toolkit)的支持,不过这已经不是什么大问题了,因为SWT已经被移植到许多常见的平台上,例如Windows、Linux、Solaris等多个操作系统,甚至可以应用到手机或者PDA 程序开发中。

2.2.4 相关资源

需要关注各家公司的官网、以及对应中文网站。

还有如https://www.360docs.net/doc/3311511254.html,这样的综合性技术网站。

2.3 Project管理

2.3.1 Project的含义

Project即项目或工程,几乎所有的IDE,使用时候必须先建立Project,才可以创建程序、编译程序、运行程序、修改程序、调试程序。

如果有一种非常理想和完善的IDE工具,那么它可以管理一个Project的所有文档资源和生命周期。最好是从软件工程的角度去思考和理解Project。

2.3.2 可行的Project组织模式

学习程序设计语言,首先要学会管理自己的代码资源,使用合理的组织方式。

影响实际项目开发中的工程组织方式有多种因素:软件生命周期的不同阶段、项目的功能结构、项目关联人员角色、文档分类等。

在本书的学习中,建议每章组织为一个工程,章内所有例子、习题以及自己创建的程序能够分门别类(文件夹=包)进行组织。

平时管理好自己的劳动成果,要有代码资源的积累。

2.3.3 主要开发工具的Project目录

2.4 本章小结

习题

1. 建立一个总结文档,分章节记录以后学习实践过程中的一些关键的操作过程和技巧、问题的解决方法、总结等。以便以后查阅。

2.练习JDK的安装、编译并执行Hello或自己编写的应用程序。

3.改造Hello程序,自定义三个整型变量a、b、c并赋值,然后适当地处理保证a最大、c 最小,再按从大到小顺序输出。

编程时候主函数的代码中,除了输出函数之外,其它可以按照c语言的语法进行。

4. 安装JBuilder,尝试创建工程、建立程序、编译、运行、修改、调试。

此过程中,关注其中的少量主菜单(文件、工程、运行)中的主要功能。

4. 查阅JBuilder帮助,通过System类最终找到输出函数print系列适当阅读。JVAV学习与交流群137239653

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java基础教程(毕向东老师讲的)

1.基本常识: 命令提示符 dir 列出文件md 创建文件夹rd 删除文件夹(doc 里面删除出文件夹必须保证这个文件夹是空的,del 命令可以删掉文件夹)cd 进入文件夹里cd.. 返回上一级目录cd\ 退到根目录echo kobe>1.txt 创建文件del 1.txt 删除文件 2.java 的跨平台性 用java编写的软件在不同的操作系统上可以完成(C++ 不行),在每个系统上装上java 虚拟机就可以运行java程序 3.java 环境搭建 Jre java 运行环境(包括虚拟机)jdk java 开发工具包 4.java 环境变量配置 直接设置:打开“我的电脑”的“属性”,选择“高级”菜单,点击下方的“环境变量”按钮。 D:\Java\jdk1.6.0_14\bin 目录添加到用户变量的path中(已经有的变量值不能删除)%% :动态的获取某一环境变量的值

环境变量临时配置方式: set 可以查看和编辑环境变量的值 Start 打开新的DOC 命令窗口 5.HelloWorld 想在任何目录下运行class 文件就建立一个临时classpath 环境变量:放原来的class 文件的路径,具体演示方法在下面:

设置完以后set classpath= 就表明对环境变量清空 Set classpath=c\; 在classpath 中找不到就到当前目录 Set classpath=c\ 只在classpath中找要运行的class文件(不加分号比较好,推荐) Path 跟classpath 相反,path 先在当前目录下寻找,要是没找到就去path环境变量中去找 (Set paht=c:\Windows cmd--->write.exe 写字工具弹出来) 6.注释 // 表明单行注释 /* 多行注释 */ 多行注释中不能包含多行注释 7.标示符

Java语言入门教程

Java语言入门教程 引言 您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机 程序?无论您是想自己写出游戏程序的14岁孩子,还是对计算机编程已经好奇了20年的70岁老人,这篇文章都适合您。在本文中,我将通过教您用Java程序设计语言编程使您了解计算机程序的原理。 在讲授计算机编程的知识之前,我首先做如下假设: ?我假设您目前对计算机编程一无所知。如果您已经懂一些编程知识的话那么本文的开始部分对您来说就会显得十分简单。尽可放心跳过这些章节,从新知识处开始学习。 ?我假设您对计算机的使用有一些了解。具体说就是我假设您已经知道如何编辑、复制、删除和重命名文件,以及如何获取有关您的系统的信息等等。 ?为简单起见,我假设您的机器运行Windows95、98、2000、NT或XP操作系统。使用其他操作系统的用户将这里学到的概念运用到自己的系统中应 该也是比较容易的。 ?我假设您有学习的欲望。 进行Java编程需要的所有工具都可以轻松在网上免费获得。网上还有大量的Java学习资料,所以学完本文以后您可以很容易去学习更多内容以继续提高水平。在这里学习的Java编程在编译器、开发环境、阅读材料等等上没有任何花销。学会了Java再学习其他的语言就变得容易了,所以这里是个不错的起点。 交待完这些事情,我们就准备好了。让我们开始吧! 编程术语 记住,我假定您不懂编程。下面是一些术语,它们将有助于您的理解:?计算机程序——计算机程序是一组指令,告诉计算机应该怎么做。指令可 以告诉计算机将几个数相加,或比较两个数字并根据比较的结果作出决 定,如此之类。计算机程序只是面向计算机的一组指令而已,正如菜谱是 厨师的指令,乐谱是乐师的指令一样。计算机准确地执行这些指令的同时 也就完成了有用的工作,如计算支票簿收支,或者在屏幕上显示一个游戏,或运行一个字处理程序。 ?编程语言——为了能使计算机辨识您给它的指令,这些指令需要以一种计算机能够理解的语言书写,即编程语言。有很多计算机编程语言:Fortran、Cobol、Basic、Pascal、C、C++、Java、Perl,正如有很多人类语言一样。 它们都是用不同的方式来表达类似的概念。 ?编译器——使用人可以阅读的编程语言(如Java)写好程序后,还要用编译器将其翻译成计算机可执行的形式。您很可能在您的计算机上见到过

Java程序设计基础教程

Java程序设计基础教程 第一章概述 本章技能目标 (1)了解Java语言的由来、特点、家族成员及实现机制。 (2)熟悉JDK开发环境的安装与配置。 (3)会使用Eclipse开发第一个Java应用程序。 重点和难点 开发环境的配置与使用。 1.1Java语言简洁 1.1.1Java语言的由来 Java是由SUN公司开发而成的新一代编程语言。 Oak。 咖啡(Java)。 Java大家庭: (1)J2ME—即Java2 Micro Edition。 (2)J2SE—即Java2(Software Development Kit)Standard Edition。 (3)J2EE—即Java2 Enterprise Edition(可扩展的企业应用Java2平台)。 1.1.2Java语言的特点 面向对象与面向过程。 高级语言程序必须转换为机器语言程序才能执行,但不同的计算机系统所使用的机器语言不同。 一次编译,随处运行。 任何系统只有安装了Java虚拟机(Java Virtual Machine,JVM)后,才可以执行Java程序。 当JVM解释执行Java程序时,Java实时编译器(Just-In-Time,JIT)会将字节码译成目标平台对应的机器语言的指令代码。编译器会产生一种具备结构中立性的对象文件格式,即Java字节码文件。 在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,之面向虚拟机。 Java字节码可在任何安装了Java虚拟机的平台上运行。 每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码。字节码由虚拟解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后再特定的机器上运行。其执行过程如图1-1所示。 1.2开发环境配置与使用 1.2.1JDK的安装与配置 在开发Java应用程序前必须首先下载并安装JDK。目前JDK最新版本是1.6。 2.认识JDK (1)bin目录。提供了工具程序,包括javac、java、javadoc、appletviewer等程序。 1)javac用于将Java源代码编译成字节码。其语法为: Javac [option] source 其中,[option]可包括以下几项: ①-classpath<路径>,指定将使用的类路径,以搜索.class文件。 ②-d<目录>,制定用于存放经过编译的.class文件的目录。“.”表示当前目录。 Source是以扩展名.java结尾的一个或多个文件名。 2)java用于执行java字节码。其语法为: Java [option] classname [arguments] 其中,[option]可包括以下几项: ①-classpath<路径>,指定将使用的备用类路径。

java基础教程笔记

JAVA基础教程笔记 第一章:java语言概述 J2se:J2SE(Standard Edition)就是Java2的标准版,主要用于桌面应用软件的编程 J2ee:J2ME(micro edition),又称为微缩版,主要应用于嵌入是系统开发,如手机和PDA的编程 Jsme:J2EE(Enterprise Edition)是Java2的企业版,主要用于分布式的网络程序的开发 类库:属性和方法,是对具体的一种抽象 OOA,OOP,OOD. Java和C和c++语言都是跨平台的语言 1.c和c++是源码型平台无关性语言。 2.java是目标型的平台无关性语言。 Java的执行方式和c语言的执行方式的区别? JVM:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。 什么叫做环境变量? 环境变量的设置,变量名,变量值(jdk所安装的位置),幻灯片有相关内容 第二章:java程序结构 Java程序的结构: 1./*这是一个简单的Java程序示例程序*/ 2.package mypack; 3.importjava.util.*; 4.public class Example { 5.public static void main (String args[ ]) { 6.System.out.println("Java欢迎您!"); 7.} 8.} args[ ]:主函数调用时候传入的参数 final varTypevarName[=value],声明一个常量的时候!比如说声明一个圆周率:3.14 java的基本数据类型-记忆 true 和false 在java语言中,true和false的值是什么?0或1…….? Byte:本身是整形,是一个字节,在32位机和64位机上是不会改变的。 Unicode:唯一码是两个字节, 背景:用两个字节表示一个汉字

java基础教程

第一章Java语言的产生及其特点 1.1Java产生的历史与现状 1.1.1Java产生的历史 Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。 1.1.2Java的现状 Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet 应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。一时间,“连Internet,用Java编程”,成为技术人员的一种时尚。虽然新闻界的报导有些言过其实,但Java作为软件开发的一种革命性的技术,其地位已被确立,这表现在以下几个方面: 1.计算机产业的许多大公司购买了Java的许可证,包括 IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。这一点说明,Java已得到了工业界的认可。 2.众多的软件开发商开始支持Java的软件产品。例如:Borland公司正在开发的基于Java的快速应用程序开发环境Latte,预计产品会在1996年中期发布。Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java 开发环境JavaWorkshop已经发布。数据库厂商如: Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台)。 3.Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是把Internet用于企业内部的信息系统,它的优点

Java基础教程清华大学出版社第2版部分习题答案

Java基础教程(清华大学出版社第2版)部分习题答案 第一章 【答案】答案见教材<略>。 第二章 1. 请说明注释的作用。 【答案】答案见教材<略>。 2. 判断下列那些是标识符? (1) 3class (2) byte (3) ? room (4) Beijing (5) beijing 【答案】(1)(2)(3)不是标识符,因为标识符不能已数字开始,也不能是保留关键字(如byte),不能以?开始。 3. 请指出下列声明字符变量ch的语句是否存在错误?如果有,请改正。 (1)char ch = 'A'; (2)char ch = '\u0020'; (3)char ch = 88; (4)char ch = 'ab'; (5)char ch = "A"; 【答案】(4)错,因为关键字char是用于声明字符变量,不可声明字符串变量。 4. 如果int x=1,y=-2,n=10;那么,表达式x+y+(--n)*(x>y&&x>0?(x+1):y)的值是什么类型?结果是多少? 【答案】int型,值为17。 5. 如果int k=1,那么'H'+k的类型是什么?下面语句是否存在差错?如果有,请改正。 (1)int k=1; (2)char ch1,ch2; (3)ch1='H'+k; (4)ch2=98; 【答案】'H'+k的类型为int型。 (3)有错。'H'+k为int型,ch1为char型,将高精度赋给低精度类型时必须实行强制转换。 6. 请指出下面程序在编译时是否会出现错误。如果有,请改正。 public class doubleTointExample { public static void main(String args[ ]) { int a; double b=1,c=2; a=(int)(b+c); System.out.println("a="+a); } }

java基础教程pdf

java基础教程pdf Java的学习,如何从入门到精通,我有六条建议,只要牢牢掌握了这六条,你想不成为大神都难。 第一你需要一个领路人; 第二你需要看书; 第三你需要写代码; 第四你需要写代码; 第五你需要写代码; 第六重要的事情说三遍。 其实想要学好Java并不是很难,我来试着梳理一下一个Java应该系统掌握的东西。 1、入门基础 JAVA语言基础、循环、数组; 了解类和对象; OOP封装、继承、多态; java.util.*包下的常用类讲解; JDK语言包的常用函数; 数据库基础及JDBC; IO流操作,多线程及Socket。 前端基础

HTML基本标签; CSS样式表;JAVASCRIPT; Ajax; jQuery; 状态管理Session和Cookie;动态网页技术; JSP数据交互; JSTL和EL表达式;Servlet、Filter、Listener;分页和文件上传。 主流技术应用 Spring应用 Hibernate应用 Struts2应用 Redis应用 4丶模拟实际项目开发SpringMVC的应用 Redis+Mysql的查询优化设计Nginx的使用 Mysql集群方案

通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于存储,IO,这些有个大概的了解。这时候,千万不要深入了解多线程和socket,谨记谨记。 通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果,那么就深入学习JS、CSS。不大感兴趣的话,就浅尝辄止,并重点学习Servlet、Filter、Listener。重点学习,重点学习,重点学习。重要的话说三遍! 通过第三阶段了解目前Java领域使用率很高的三大框架,了解他们的大概功能,并加以使用。通过使用SSH开发一个简易CRM之类的项目来加强了解,理清楚框架的大致原理。并了解Redis相关的指令及数据结构,应用到CRM里。 通过第四个阶段了解更简单易用的SpringMVC,应用和存储集群相关的概念及实现方案。让自己具备一个设计高可用,可扩展的项目框架视野。这样对于后面继续专研SpringCloud / Dubbo、zookeeper这些RPC相关的框架有很大的好处。 最后,你想自学的话,我提到的这些东西都能搜到对应的资料,无非多踩点坑罢了。但是,看文档or项目永远进步不了。一定要上手敲,想再多也不如动手。 个人还是建议培训班,有不少培训班请到的大神确实很厉害,会给你带来质

Java基础教程

Java基础教程(程序及语法) /************************************************** 这是个最基本的JA V A程序,最基本的JA V A程序必须有一个类 **************************************************/ //最基本的JA V A程序必须有一个类,在这里是clas base01 class base01 { //在JA V A中,程序的入口也为main函数 //main()函数前的限制符顺序必须为public static void,参数必须为String类型的数组//以下写法将不被通过 public void static main(String[] args) { System.out.println("Hello World!"); } } ********************************************************** java源文件的命名规则 在同一个JA V A文件中可以定义多个类,但是只有一个类能定义为public 而且如果一个类被定义为public,这个文件的文件名必须和该public类 的名字相同。 对于本类,文件必须命名为base02 ***********************************************************/ class A { int a; }; class B { int b; }; public class base02 {

public static void main(String[] args) { System.out.println("Hello World!"); } } Java基础教程(程序及语法3) class code01 { public static void main(String[] args) { //JA V A的数据类型。请注意大小写 //一个字节的整型 byte e=3; System.out.println(e); //两个字节的整型 short h=4; System.out.println(h); //四个字节的整型 int f=4; System.out.println(f); //八个字节的整型 long g=5; System.out.println(g); //4个字节的浮点数 float a=11.3f; System.out.println(a); //8个字节的浮点数(更加精确) double b=12.3d; System.out.println(b); //两个字节的单个字符。注意定义字符的时候不能用双引号,只能用单引号char c='s'; String ss="xiongyong"; System.out.println(c); //bool变量,用于判断真假。注意:true和false不能大写。

Java基础入门教程(适合所有初学者)

JVAV基础入门教程 第1章Java语言概述与面向对象思想1 1.1Java语言的发展1 1.1.1Java语言的产生1 1.1.2Java语言的发展1 1.2Java语言的特点2 1.3面向对象与面向过程的差异3 1.3.1面向过程思想回顾4 1.3.2面向对象思想介绍4 1.4面向对象程序设计中的主要概念和特征4 1.4.1主要概念5 1.4.2主要特征5 *1.5Java与C++的差异5 1.6本章小结5 习题5 第2章Java语言开发环境6 2.1JDK6 2.1.1JDK的简介6 2.1.2JDK的构成6 2.1.3JDK的使用6 2.2IDE8 2.2.1IDE简介8 2.2.2JBuilder9 2.2.3Eclipse9 2.2.4相关资源9 2.3Project管理9 2.3.1Project的含义9 2.3.2可行的Project组织模式9 2.3.3主要开发工具的Project目录10 2.4本章小结10 习题10 第1章Java语言概述与面向对象思想 1.1Java语言的发展 1.1.1Java语言的产生 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling 用Java开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。这种浏览器名称为HotJava,并于1995年同Java语言一起,正式

Java基础入门教程(适合所有初学者)

java 入门学习大全 来源:QQ群418355531获取更多资料可加群[java 入门培训-java 入门试学7天] 第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生1 1.1.2 Java语言的发展1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结 5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8

2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式 9 2.3.3 主要开发工具的Project目录10 2.4 本章小结 10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling用Java开发了一个实时

《Java语言程序设计基础教程》习题解答 (1)

第1章 Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPA TH环境变量的说法不正确的是:() A. CLASSPA TH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPA TH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很

javaee基础教程习题答案

JAVAEE基础教程课后部分编程题答案 2-14 public class aa { public static void main(String[] args) { // TODO Auto-generated method stub double x=34.5; double y=68.4; double z=x+y; System.out.println("x+y="+x+"+"+y+"="+z);} } 3-19 (一)从大到小 插入排序法 public class Sort { public static void main(String[] args) { int[] A={30,1,-9,70,25}; for(int i=1;i0;j--){ if(A[j]>A[j-1]){ int temp; temp=A[j-1]; A[j-1]=A[j]; A[j]=temp; } } } System.out.println("利用插入排序方法的结果是:"); for(int i=0;i0;i--){ max=0; for(int j=1;j<=i;j++){ if(A[max]>A[j]) max=j;

相关主题
相关文档
最新文档