资讯详情

java基础 - 1

目录

第一章:Java开始 1

学习目标 1

Java历史 2

Java技术概述 3

Java技术的优点 3

Java虚拟机 4

类加载器 6

Windows环境变量 8

内容总结 13

独立实践 14

第二章: 面向对象概述 15

学习目标 15

面向对象(Object Oriented) 16

面向对象的主要特征 18

抽象(Abstraction) 18

封装(Encapsulation): 19

多态(Polymorphism) 20

面向对象的优点 22

分析、设计和编程面向对象 23

简史面向对象语言的发展 26

内容总结 29

独立实践 30

第三章:面向对象的程序设计 31

学习目标 31

类别和对象的描述 32

声明类 32

声明属性 33

声明成员的方法 34

源文件布局 36

包的声明 36

包与目录的布局 38

内容总结 45

独立实践 46

第四章: Java语法基础 47

学习目标 47

基本语法元素 48

Java关键字 49

基本Java数据类型 50

变量声明和赋值 52

引用(Reference)类型 52

存储器的分配和布局 53

this引用 55

Java编码约定 56

计算符的优先级 58

升级和表达式类型转换 62

独立实践 70

第五章:数组 71

学习目标 71

数组的描述 72

创建数组 72

多维数组 78

拷贝数组 80

内容总结 83

独立实践 84

第六章:继承 86

学习目标: 86

单继承(single inheritance) 87

访问控制 89

方法重载(method overloading) 91

方法覆盖(method overriding) 93

基于继承的多态实现 94

隐藏(hiding) 95

继承中使用结构方法 96

super关键字 97

包装类 97

toString( )方法 100

内容总结 101

独立实践 102

第七章:类的高级特征 103

学习目标 103

static关键字 104

final关键字 106

内部类 106

实例分析 110

抽象类,接口 115

内容总结 120

独立实践 121

第八章:异常 122

学习目标 122

异常的概念 123

异常的分类 123

实例分析 124

自定义异常 126

方法覆盖和异常 127

内容总结 129

第九章:基于文本的应用 131

学习目标 131

几种程序交互方式 132

常用类方法说明 132

String的方法 132

正则表示式(Regular expression) 133

StringBuffer类 135

StringBuffer与String的区别 136

集合类的使用 136

实例分析 136

内容总结 153

独立实践 154

第十章:JAVA GUI概述 155

学习目标 155

GUI概述及组成 156

Swing优点 157

布局管理器 158

BorderLayout 159

GridLayout 161

CardLayout 162

GridBagLayout 164

实例分析 165

内容总结 172

独立实践 173

第十一章 线程 174

学习目标 174

线程的概念 175

线程状态和调度 ….176

线程中断/几种恢复方法 178

创建线程的两种方法 179

线程的控制 180

实例分析 182

内容总结 189

独立实践 190

第十二章:高级I/O流 192

学习目标 192

I/O基础知识 193

字节流 193

字符流 194

节点流 194

过程流 194

基本字符流类 198

对象串行化 201

实例分析 203

内容总结 211

独立实践 212

第十三章:网络 213

学习目标 213

TCP/IP 214

基于Java的网络技术 216

DatagramSocket 219

InetAddress类的使用 221

扩展知识: 227

SocketChannel类 227

内容总结 229

独立实践 230

第十四章:数据结构与算法(上) 231

学习目标 231

算法(algorithm): 232

查找算法: 234

排序算法: 237

递归(recursive): 240

快速排序: 242

内容总结 245

独立实践 246

第十五章:数据结构与算法(下) 247

学习目标 247

数据结构介绍: 248

数组 248

逻辑大小和物理大小 248

链表 248

栈(stack) 249

队列: 250

树: 250

实例分析 252

内容总结 274

独立实践 275

第十六章:数据库(一) 276

学习目标 276

数据库的基本概念 277

数据的描述 277

数据联系的描述 278

数据模型 278

数据库三级模式结构 279

数据库三个范式 280

范式总结 282

创建数据库 283

创建表 287

内容总结 290

独立实践 291

第十七章: 数据库(二) 292

学习目标: 292

查询(从基本到高级) 293

模糊查询 293

排序 295

集合操作-并 296

集合操作-交 297

集合操作-差 297

常用函数 297

数据类型转换函数CAST和CONVERT 298

分组查询 299

五大约束 301

索引 303

数据库的备份与恢复 304

内容总结 308

独立实践 309

第十八章:数据库(三) 310

学习目标: 310

存储过程 311

触发器 313

函数 314

规则 314

事务 315

while语句 317

case语句 317

内容总结: 318

独立实践 319

第十九章: JDBC基础 320

学习目标 320

JDBC的概念 321

连接数据库的几种方式 321

JAVA编程语言和JDBC 323

JDBC编程的步骤 323

实例分析 325

内容总结 335

独立实践 336

第二十章:高级JDBC 337

学习目标 337

使用DDL,DML语言对数据库进行基本操作 338

查询数据库里的数据 339

预编译语句(PreparedStatement) 340

使用事务 341

事务的级别控制 343

使用存储过程 345

操作元数据 347

ResultSetMetaData(结果集元数据) 349

可滚动的和可更新的结果集 350

批处理更新 354

二进制大对象BLOB 357

RowSet 新特性 359

JdbcRowSet 360

FilteredRowSet 361

内容总结 363

独立实践 364

第二十一章:XML基础 366

学习目标 366

XML的概念 367

定义XML文档 368

命名冲突 371

使用前缀解决命名冲突问题 371

使用命名空间 371

命名空间属性 372

统一资源标识符 372

默认的命名空间 372

使用命名空间 373

XML 文档规则 374

XML Schema 379

Schema和DTD的区别: 380

Schema的数据类型 380

样式表(XSL) 384

CSS样式表 384

XSL样式表 385

XSL的基本结构 386

XSL的基本语法 390

节点选择语句<xsl:value-of > 392

循环判断语句<xsl:for-each> 392

条件判断语句<xsl:if> 392

内容总结 395

独立实践 395

第二十二章:使用Java解析XML 397

学习目标 397

解析器的介绍 398

DOM以及广义的基于树的处理具有几个优点 399

文档对象模型(DOM)解析实例 402

DOM对象 404

DOM解析的例子: 406

SAX解析实例 409

DOM4J解析实例 412

JDOM解析实例 413

JAVA操纵XML 实例讲解 414

通过JAVA写数据到XML里面 415

内容总结 418

独立实践 418

第二十三章:HTML基础 419

学习目标 419

知识要点 420

HTML元素 420

标签属性 420

HTML基本标签 422

标题元素 422

HTML格式 427

HTML实体 431

不可拆分的空格 431

HTML表格 439

表格 441

HTML列表 461

HTML图像 469

Img标签和src属性 469

HTML背景 475

内容总结 478

独立实践 479

第二十四章:HTML进阶 480

学习目标 480

知识要点 481

表单 481

HTML框架 488

框架 488

在子窗体中访问并控制父窗体中对象 493

内容总结 495

独立实践 496

第二十五章:JavaScript介绍 497

学习目标 497

JavaScript语言概况 498

JavaScript和Java的区别 499

基于对象和面向对象 499

解释和编译 499

强变量和弱变量 500

静态联编和动态联编 500

实例 500

内容总结 503

独立实践 504

第二十六章:JavaScript基础 505

学习目标 505

基本结构 506

JavaScript代码的加入 506

基本数据类型 506

常量 507

表达式和运算符 509

实例 511

JavaScript程序构成 513

事件驱动及事件处理 516

内容总结 519

独立实践 520

第二十七章:JavaScript进阶 521

学习目标 521

基于对象的JavaScript语言 522

对象的基础知识 522

this关键词 523

new运算符 523

常用对象的属性和方法 525

算术函数的math对象 527

创建新对象 529

JavaScript中的数组 532

实例 535

文档对象功能及其作用 538

document中三个主要的对象 539

文档对象的基本元素 541

窗口及输入输出 544

输出流及文档对象 546

简单的输入、输出例子 547

内容总结 551

独立实践 552

第二十八章: Servlet 553

学习目标 553

Java Servlet概述 554

Servlet能够做什么 554

Servlet的生命周期 557

Java Servlet API 560

Web上使用的HTTP Servlet 560

处理HTTP Servlet的关键方法 560

其它相关接口的说明 561

HTTP协议基本概念及其特点 563

获取Cookie 565

HTTP响应报头--Response 566

会话管理 566

Servlet过滤器 569

Servlet监听器 576

内容总结 579

独立实践 580

第二十九章: Jsp 技术 583

学习目标 583

JSP介绍 584

JSP语法 584

模板元素 588

指令元素 588

页面指令 588

标签库指令 593

脚本元素 593

动作元素 597

<jsp:include> 598

JSP内置对象 605

Session和Application对象 610

JSP的汉字问题的原理 611

自定义标签 613

标准标签的使用 618

内容总结 621

独立实战 622

第三十章:struts入门 623

学习目标 623

Struts简介 624

什么是应用框架 624

WEB框架所要解决的问题 625

建立简单的Struts应用 627

内容总结 636

独立实践 636

第三十一章:Struts基础 637

学习目标 637

MVC 638

struts框架的优势 639

Struts如何实现Model 2, MVC 639

Struts 控制流 639

Struts framework的工作原理和组件 642

Struts ActionServlet控制器对象 642

Struts Action Classes 642

搞定Action对象 643

处理异常 643

Action的分类 643

Struts Action Mapping 646

使用ActionForward导航 647

Struts ActionForm Bean捕获表单数据 648

ActionForm的处理流程 649

Struts的其他组件 652

内容总结 653

独立实践 653

第三十二章:配置Struts组件 654

学习目标 654

三个 XML文件和一个属性文件 655

Web应用部署描述符 web.xml 655

ActionServlet的参数的配置 656

应用资源文件 658

Ant构建文件 659

配置Tiles框架 660

内容总结 661

独立实践 661

第三十三章:Struts标记库 662

学习目标 662

Struts标记库taglib介绍 663

Bean标记 663

逻辑标记 665

转发和重定向标记 668

HTML标记 669

显示错误信息的标记 673

其他HTML标记 673

模板标记 673

内容总结 676

独立实践 676

第三十四章:Hibernate基础 677

学习目标 677

Hibernate简介 678

建立简单的Hibernate应用 678

通过 Hibernate API 操纵数据库 684

Hibernate的初始化 687

访问Hibernate的Session接口 688

Hibernate工作原理图 691

内容总结 693

独立实践 693

第三十五章: 映射继承关系 694

学习目标 694

域模型关系 695

继承关系树的每个具体类对应一个表 696

创建映射文件 696

操纵持久化对象 698

选择继承关系的映射方式 699

映射多对一多态关联 702

内容总结 705

独立实践 705

第三十六章:HQL介绍 706

学习目标 706

HQL的出现 707

进入HQL世界 707

聚合 708

分组 709

在Java中使用HQL 709

内容总结 712

独立实践 712

第三十七章 Spring介绍 713

学习目标 713

Spring简介 714

IOC控制反转 714

Spring的容器 715

AOP面向切面编程 715

AOP的专业术语 715

Spring事务管理 718

Spring与Struts整合 719

Spring与Hibernate整合 721

独立实践 724

第一章: Java开始

学习目标

? Java技术的组成

? Java虚拟机的主要功能

? JAVA内存垃圾自动回收机制

? 运行代码的步骤

? 编写、编译并运行简单Java应用程序

Java历史

1991年,电视机,机顶盒,录象机的开发设计需要一种可移植、方便、高效的计算机语言。为了满足这种需求,由Sun公司的Patrick Haughton和James Gosling领导的技术小组开发了JAVA。

上世纪九十年代中期,Sun推出了Sun Java Development Toolkits 1.0,简称JDK1.0。JDK1.0是一个功能强大的软件包,可以用来开发小应用程序和多种操作系统(Sun Solaris,Windows Nt,Windows 95,Macintosh)的应用程序。

1998年Sun推出Java 2 Platform,它定义了所有Java技术的概念和标准,即包括已经实现的技术也包括尚未实现的技术;即包括Sun的实现的,也包括其它公司的实现。目前,Java 2 SDK1.6是Java 2 Platform的最新定义。这个定义又可以细分为四个版本:

标准版:J2SE(Java SE),用于开发普通的小应用程序和应用程序。它是我们这门课程要讲述的内容。

(Java SE的体系结构)

企业版:J2EE(Java EE),用于企业级应用。

微型版:J2ME(Java ME),用于开发移动电话,机顶盒,个人数字设备等。

JavaCard:适用于智能卡的Java平台。

(Java各版本应用领域)

Java技术概述

任何复杂的事物都可以分解成一些相对简单的组成部分。Java作为一门丰富而复杂的新技术,它由下列这些技术层面组成:

? Java编程语言:定义变量、表达式、逻辑控制等基本规则。

? Java类库:Java 软件工具包(SDK)为程序员提供了几千个类,包括基本的数学函数、数组和字符串、窗口,GUI,I/O,网络等。

? Java运行环境:包括Java字节代码的加载器、校验器以及Java虚拟机。

? Java虚拟机:Java技术出于跨平台,可移植的考虑,没有将程序的源代码编译连接成CPU的指令序列,直接交给计算机执行。Java技术在不同的硬件,不同的操作系统之上,定义了完全相同的支持Java程序运行的虚拟计算机。Java源程序被编译成字节(byte)代码,编译后的文件名后缀是.class文件,在Java虚拟机上运行。

? Java工具:编译器,注释器(interpreter),文档生成器等工具。

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

? Java应用程序:Java Applications是一种独立的程序,它不需要任何Web浏览器来执行。它们是普通的应用程序;可运行于任何具备Java运行环境的设备中。

? 其它Java程序:JavaBean,Servlet,JSP等。

Java技术的优点

Java技术取得今天这样的成就,依赖于这门技术的先进性,Java技术具有下列优点:

? 简单、健壮:java=(c++)--++,继承了c++语言的优点,去掉了c++的难点,又加入了新的特性;许多高级语言都要由程序员进行指针运算和存储器管理。这项工作即复杂又容易出错。Java不需要程序员进行指针运算和存储器管理,简化了设计,减少了出错的可能性。

? 面向对象:Java是面向对象的程序设计语言。与面向过程的语言相比,面向对象的语言更能反映人类对世界的认识和处理模式,具有良好的代码重用性。处理复杂、庞大而且不断变化的信息系统,必须使用面向对象的程序设计语言。

? 分布式:目前,在所有软件产品中,仅供单个计算机使用的单机版软件所占的比例越来越小。大多数软件都可以运行在网络环境中。Java拥有一个网络协议对象库(TCP/IP,HTTP,FTP等),可以象访问当地文件一样访问Internet上的对象。

? 改进的解释性:为弥补解释语言速度较慢的不足,Java采用预编译的办法,将源程序生成字节代码,减轻运行时的解释工作。另一方面,有些Java运行环境采用Just-In-Time(JIT)编译器将字节代码编译成机器码直接运行,这种运行环境对于重复执行的服务器端软件特别有效,可以达到C语言的速度。

? 安全:Java语言在编译时删除了指针和内存分配,在运行时检查字节代码,拒绝执行非法的内存访问,超越权限的访问等。可以防御黑客攻击。

? 平台无关:Java通过采用虚拟机技术真正实现了与平台无关。Java软件是真正跨平台可移植的。编译过的JAVA文件,即可以在windowns上运行,也可以Linux、Unix等系统上运行。

? 多线程:允许一个应用程序同时做多个任务。

? 动态性:Java允许下载代码模块,因此,当程序运行时也能动态升级。

? 高性能:经过实际的综合评测得出结论,Java是高性能的。

Java虚拟机

Java虚拟机在Java运行环境中处于核心地位。Java虚拟机使Java语言可以跨多种平台运行,保障了SUN提出的"write once, run anywhere"的特性,其组成为:

? 指令集(中央处理器[CPU]

? 寄存器

? 类文件格式

? 栈

? 垃圾收集堆

? 存储区

Java虚拟机隐藏了计算机硬件和操作系统的复杂性。使我们只面对单一的支持Java的计算机。当我们写好Java源程序后,使用编译器将源代码转换成JVM的指令序列(字节代码),保存为.class文件。执行Java程序时,JVM负责解释字节代码, JVM的指令转换成真实的机器指令,并执行。

自动内存回收(垃圾收集)

垃圾回收就是将程序不再使用的内存块释放出来,以提供给其它程序使用。程序运行时需要占用一定内存空间,当程序退出后应该把占用的内存释放,在c, c++语言中由程序保证内存的释放,但如果程序员忘记释放内存,就会在内存中“垃圾”增多,影响其它程序运行;Java语言实现自动垃圾回收处理,减轻了程序员的负担,杜绝了因内存管理而导致的程序中的问题。程序员可以建议垃圾回收,通过调用System.gc()实现。

常见垃圾收集机制介绍

JVM中内存划分为:堆栈(Stack)、堆(Heap)、静态存储(Static)

大多数垃圾收集使用了根集(root set)这个概念;所谓根集就量正在执行的Java程序可以访问的引用变量的集合(包括局部变量、参数、类变量),程序可以使用引用变量访问对象的属性和调用对象的方法。垃圾收集首选需要确定从根开始哪些是可达的和哪些是不可达的,从根集可达的对象都是活动对象,它们不能作为垃圾被回收,这也包括从根集间接可达的对象。而根集通过任意路径不可达的对象符合垃圾收集的条件,应该被回收。简单的说,就是没有任何引用指向这块内存空间,该空间的内存就可以被回收。

引用计数法(Reference Counting Collector)

一般来说,堆中的每个对象对应一个引用计数器。当每一次创建一个对象并赋给一个变量时,引用计数器置为1。当对象被赋给任意变量时,引用计数器每次加1当对象出了作用域后(该对象丢弃不再使用),引用计数器减1,一旦引用计数器为0,对象就满足了垃圾收集的条件。

基于引用计数器的垃圾收集器运行较快,不会长时间中断程序执行,适宜地必须 实时运行的程序。但引用计数器增加了程序执行的开销,因为每次对象赋给新的变量,计数器加1,而每次现有对象出了作用域生,计数器减1。

Tracing算法(Tracing Collector)

基于tracing算法的垃圾收集器从根集开始扫描,识别出哪些对象可达,哪些对象不可达,并用某种方式标记可达对象,例如对每个可达对象设置一个或多个位。在扫描识别过程中,基于tracing算法的垃圾收集也称为标记和清除(mark-and-sweep)垃圾收集器。

compacting算法(Compacting Collector)

为了解决堆碎片问题,基于tracing的垃圾回收吸收了Compacting算法的思想,在清除的过程中,算法将所有的对象移到堆的一端,堆的另一端就变成了一个相邻的空闲内存区,收集器会对它移动的所有对象的所有引用进行更新,使得这些引用在新的位置能识别原来 的对象。在基于Compacting算法的收集器的实现中,一般增加句柄和句柄表。

垃圾回收的几个特点

垃圾收集发生的不可预知性:由于实现了不同的垃圾收集算法和采用了不同的收集机制,所以它有可能是定时发生,有可能是当出现系统空闲CPU资源时发生,也有可能是和原始的垃圾收集一样,等到内存消耗出现极限时发生,这与垃圾收集器的选择和具体的设置都有关系。

垃圾收集的精确性:(a)垃圾收集器能够精确标记活着的对象;(b)垃圾收集器能够精确地定位对象之间的引用关系。前者是完全地回收所有废弃对象的前提,否则就可能造成内存泄漏。而后者则是实现归并和复制等算法的必要条件。所有不可达对象都能够可靠地得到回收,所有对象都能够重新分配,允许对象的复制和对象内存的缩并,这样就有效地防止内存的支离破碎。

垃圾收集的实现和具体的JVM 以及JVM的内存模型有非常紧密的关系。不同的JVM 可能采用不同的垃圾收集,而JVM 的内存模型决定着该JVM可以采用哪些类型垃圾收集。现在,HotSpot 系列JVM中的内存系统都采用先进的面向对象的框架设计,这使得该系列JVM都可以采用最先进的垃圾收集。

代码运行过程

Java源程序通过"编译",转换成字节码。字节码被存储在.class文件中。

构成Java软件程序的字节代码在运行时被加载、校验并在解释器中运行。当运行Applets时,字节码可被下载,然后由浏览器中的JVM进行解释。解释器具备两种功能,一是执行字节代码,二是对底层硬件做适当调用。

在一些使用Java技术的运行环境中,部分校验过的字节码被编译成机器码并直接运行于硬件平台。这就使Java软件代码能够以接近C或C++的速度运行,只是在加载时,因为要编译成机器码而略有延迟。

Java技术运行字节代码包含如下三大步骤:

? 加载代码-由类加载器执行

? 校验代码-由字节码校验器执行

? 执行代码-由运行时的解释器执行

(Java程序运行的三大步骤)

类加载器

类加载器为程序的执行,加载所需要的类。类加载器将本地文件系统的类名空间,与来自网络的类名空间相分离,以增加安全性。当全部类被加载后,可执行文件的存储器格式被确定。这时,特定的存储器地址被分配给变量并创建检索表格。由于存储器格式在运行时出现,因而Java技术解释器增加了保护以防止对限制代码区的非法访问。

JVM中有四种类加载器,分别为(本节以下内容可以在以后再理解):

? BootStrapClassLoader:启动类加载器:虚拟机启动时最先加载系统加载关键的运行类的加载器。

? ExtClassLoader:扩展类加载器,专门用来加载所有java.ext.dirs下的.jar文件。开发者可以通过把自己的.jar文件或库文件加入到扩展目录的classpath,使其可以被扩展类加载器读取。

? AppClassLoader:应用(系统)类加载器,用来读取所有的对应在java.class.path系统属性的路径下的类

以上三个类在JDK中不能查到,他们是JVM底层使用的,我们可以认为这三者关系如下:

BootStrapClassLoader<-ExtClassLoader<-AppClassLoader

JDK中定义了一些ClassLoader类,我们可以观察到继承关系如下:

ClassLoader<-SecureClassLoader<-URLClassLoader<-AppClassLoader

我们也可以继承ClassLoader类制作自己的ClassLoader(用户定义的类加载器)。

一些关于ClassLoader的常用方法:

? sun.misc.Launcher.getBootstrapClassPath().getURLs();//根据以上叙述,应该是先获取启动类路径再转成路径的数组。

? MyClass.class.getClassLoader();//MyClass是类名

? ClassLoader.getSystemClassLoader();//获得系统(应用)级类加载器

? ClassLoader.getSystemClassLoader().getClass();//可以知道这个类加载器的名字等了

? java.lang.Thread.getContextClassLoader();//获取当前线程的上下文类加载器。

字节代码校验器

所有的class文件都要经过字节码校验器。字节码校验器主要测试以下内容:

? 代码段语法格式是否正确?

? 有无违反规则的非法代码?

? 是否违反对象访问权限?

? 是否试图改变对象类型?

字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各项要求会得到保证:

? 程序代码所在的类,符合JVM规范的类文件格式。

? 无访问限制违例,如访问本地文件,访问网络等。

? 代码未引起操作数栈的上溢或下溢。

? 所有操作代码的参数类型将总是正确的。

? 无非法数据转换发生,例如:将整数转换为对象引用。

Java安装配置

各平台安装程序可以到SUN的网站(java.sun.com)下载,在安装完成后应该进行配置,通常集成开发环境(IDE)自带JDK或进行了自动配置,如果我们通过控制台编译或运行Java程序则必须手动配置。

JDK: 是Java开发工具包(J2SE Software Development Kit)的缩写,用Java语言编写applet小程序和应用程序的软件开发环境,Java开发者应该安装JDK,并且通常JDK中已包含一个JRE拷贝。

JRE: 是Java运行环境 (Java Runtime Environment) 的缩写。它基本上就和Java虚拟机是同一个概念,运行Java程序的应该安装JRE。

(JDK安装目录示例)

? bin:java常用开发工具目录,例如javac,java,jar等工具。

? demo: sun提供的一些用于java开发的示范,如有关applets,jfc,plugin等。

? include: Java提供用于c/c++调用的.h文件;

? jre: 对应版本的java运行环境文件

? sample: java案例。

? lib: java类库目录

Windows环境变量

应设置的环境变量包括:JAVA_HOME, PATH, CLASSPATH。

假设J2DK安装在“C:\JDK1.5”,环境变量可设置为:

? JAVA_HOME=C:\JDK1.5

? CLASSPATH=.

? PATH=%JAVA_HOME%\BIN;%PATH%

(Windows下环境变量的设置)

Linux下环境变量

假设jdk安装在/home/jdk1.5目录下,修改配置文件 /etc/profiles ,在文件的尾部加入如下信息:

JAVA_HOME=/home/jdk1.5

CLASSPATH=.

PATH=$JAVA_HOME/bin:$PATH

第一个Java程序

编写一个程序,输出一行文本信息:"Welcome to Java Programming"

编辑器的使用

Java代码的开发可以使用常见的编辑器,如:写字板,Editplus,Ultra Edit,也可以使用专用的开发工具,如:JBuilder, Eclipse, NetBeans,JCreator等。在开始学习时,建议先学习使用带有关键字颜色提示的EditPlus开发Java代码。

Editplus下的Java程序显示

编写程序

1 //这是一行注释

2 public class Welcome {

3

4 public static void main(String[] args) {

5 System.out.println("Welcome to Java Programming!");

6 }//main方法结束

7

8 }//类结束

行1:注释:用来说明程序的作用

行2:开始声明一个类,类名为Welcome, class是JAVA的关键字,用来定义类,public为访问说明。在这里我们声明了一个类,类的名字为Welcome.

行3 标签: sc380005z1集成电路

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台