Unit-7-Inner-Voice演示文档_第1页
Unit-7-Inner-Voice演示文档_第2页
Unit-7-Inner-Voice演示文档_第3页
Unit-7-Inner-Voice演示文档_第4页
Unit-7-Inner-Voice演示文档_第5页
已阅读5页,还剩149页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Eclipse,Eclipse是一个Java的集成开发环境(IDE),并且还是一个应用程序框架,可以通过开发插件,把Eclipse打造成各种应用软件。我们需要学习在具体的开发中以Eclipse为开发工具,开发基于Eclipse的应用软件。,1.1 Eclipse介绍,经过多年的发展,Eclipse其实已经超越了“集成开发环境(IDE)”这个概念。“Eclipse”这个名词有着更多的含义:Eclipse是一个Java集成开发工具,是一个社区、一个基金会,也是一个应用软件平台。下面就来详细了解一下Eclipse的丰富内涵。,1.1.1 Eclipse是什么?,Eclipse的官方网站上是这样定义的:“Eclipse是一个开放的社区,它的项目都是面对向建立一个开放的开发平台、包括可扩展框架、工具、运行 时,用于构建、发布和管理软件项目的整个生命周期。一个由主要技术贡献者、大学机构、研究机构以及其他个体、组织所形成的巨大生态机构贡献、和支持着 Eclipse 平台”。Eclipse是一个开源社区:Eclipse是一个非赢利的基金会: Eclipse是一个软件应用平台,可以跨平台应用,包括可以在移动设备或者嵌入式设备中应用。Eclipse成为重要的开发平台,Eclipse技术能够在任何地方,被任何使用。,1.1.2 Eclipse的含义,Eclipse的字面含义是“日蚀”。Eclipse的比较大的版本都是以木星的卫星名称作为代号的,已经用过的有:Callisto(3.2), Europa(3.3)和Ganymede(3.4),1.1.3 Eclipse的历史,Eclipse 的诞生可以追溯到IBM 早期的开发工具 Visual Age for Java 。IBM希望把Visual Age for Java和 WebSphere Studio 集成到一起,打造一个与VisualStudio抗衡的开发平台。但因为 Visual Age for Java底层的技术比较脆弱,因此进一步发展非常艰难,无法满足业界应用开发的需求。于是IBM开始了下一代开发工具技术探索之路,并成立了一个项目开发小组。2000年,开发小组决定给新一代开发工具项目命名为 Eclipse,Eclipse 叫法当时只是内部使用的名称。2001年9月,Eclipse 1.0发布了。11 月,IBM 向开源社区捐献了 Eclipse 代码,同时成立 Eclipse 协会(Eclipse Consortium),这个协会由一些成员公司组成,主要任务是支持并促进 Eclipse 开源项目。自此 Eclipse 在开发者社区得到飞速发展,1.1.4 哪些著名项目在使用Eclipse?,越来越多的项目采用Eclipse的富客户端平台作为软件框架。IBM本身的几个大项目 DB2,Rational,WebSphere,Lotus都是采用Eclipse作为软件框架。IBM 的 Rational Application Developer, 它是使用 Eclipse 作为基础,然后在这基础上添加了建模插件、Web 开发插件,还有其它更有价值的插件。Lotus Symphony 是由 IBM 推出的一套免费的办公软件,也是使用Eclipse为基础。当初Eclipse决定发展成为富客户端平台也是接受了Lotus 项目组的建议。而通过Lotus Symphony也可以看到Eclipse富客户端平台综合能力,不仅可以作为IDE还可以变成办公平台。,1.1.5 Eclipse的发展,Eclipse计划未来在以下领域有所突破:覆盖软件开发的整个生命周期,包括需求管理、建模、数据管理、发布和系统管理。扩展富客户端平台(Rich Client Platform,RCP),主要内容包括:嵌入式RCP,将RCP应用到诸如手机和PDA中。为创建RCP应用提供一个更完整的开发。加强RCP的新功能,诸如更新和管理功能。加强RCP插件模型的安全机制。提供基于RCP的应用框架。嵌入式。,1.1.6 Eclipse的开源协议EPL,Eclipse是开源软件,所谓开源,就是开放源代码,意思是任何人都可以自由地获得Eclipse的源代码。但是这种开源并不是毫无原则,不讲版权的开源。相反,开源的基础就是“保留版权”CopyLeft。现在Eclipse相关的许可证是大多数基于Common Public License (CPL),CPL是一个为Open Source Initiative (OSI)所认可的许可证。由于Eclipse Foundation的建立,Eclipse的许可证将逐渐趋向于使用Eclipse Public License (EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作。此外,Eclipse还涉及到多个开源项目和各类许可证,主要有 Apache Software License、IBM Public License、Metro Link Public License和Mozilla Public License。,1.2.2 获得Eclipse,Eclipse是免费的,可以从Eclipse社区的网站上免费获得最新版的Eclipse。Eclipse社区的网址是 。现在Eclipse社区上和Eclipse相关的项目已经非常多,在Eclipse可以下载到不同版本的、包含不同插件的、面向某种应用的Eclipse平台。,1.2.3 安装Eclipse,Eclipse没有安装程序,也不需要安装,只要用Zip或者RAR等软件把Eclipse的软件包解压缩到指定的文件夹就可以了。例如可以解压缩到 D:eclipse中。然后双击eclipse.exe就可以运行Eclipse。因为不用安装、不需要在系统中注册任何信息,所以可以在磁盘上放置多个版本的Eclipse,可以根据需要,选用对应的版本。,1.2.4 了解Eclipse的文件结构,在第一次运行Eclipse前,不妨先看看Eclipse的文件结构。,1.3 第一次运行Eclipse,Eclipse安装完成后,运行一下,体验一下Eclipse的界面。Eclipse在第一次运行时会进行一下初始化,并且需要用户作一些设置。,1.3.1 splash屏幕,双击eclipse.exe运行eclipse,很快可以看到Eclipse的splash窗口。,1.3.2 选择工作空间,然后出现一个对话框,询问工作空间(workspace)的路径。所谓工作空间,就是保存用户配置数据和项目资源的文件夹。将来用Eclipse建立的所有开发项目都会默认保存到这个工作空间内。,1.3.3 开始首页,插件装载完成后,就出现了Eclipse的欢迎界面。如果你对欢迎界面上提供的一些帮助感兴趣,那么可以点击进去看一下相关的内容。,1.4 了解Eclipse的主要插件,想要了解Eclipse中安装了哪些插件,可以通过Help-About Eclipse Platform 打开“关于”对话框。如图1-13,在“关于”对话框里面可以看到一排小图标,每个小图标代码一个插件产品。但是并不是所有插件产品都会注册成一个图标。 按Plug-in Details可以看到已经安装的插件。,1.5 获得更多的帮助,Eclipse社区为用户提供了很多便利,可以让用户和开发者快捷方便地获得各种帮助。下面了看一下可以从哪些地方获得更多的帮助。,1.5.1 Eclipse的帮助系统,最直接的方式是利用Eclipse的帮助系统,利用Eclipse的帮助系统也可以获得不少有用的知识。打开帮助系统很简单,和其他软件一样,也是通过Help-Content就可以打开。,1.5.2 Eclipse的API文档,帮助文档的内容倾向与教学,对于开发人员来说,尤其是熟悉Java编程的开发人员,最需要的是能阅读到Java DOC 格式的API参考文档,可以在开发的时候随时查阅。在帮助系统的内容中,包含了一部分API参考,但还不是全部。专业的用户可以自己从Eclipse的插件包中提取出API参考文档,以方便查阅。,1.5.3 获得Eclipse的源代码,Eclipse 的SDK版还包含了源代码,让开发者可以直接研究Eclipse的源代码。根据开源的协议,提供者在提供软件的同时还应该提供源代码,所以在Eclipse的发行包中,已经包含了Eclipse的源代码。提取源代码的方法和提取参考文档的方法一样,都是在plugins的文件夹中寻找相关的插件包。在plugins文件夹内,找到类似xxxx.source_xxxx.jar的插件包,同样用解压缩工具打开,在里面就可以找到*.java文件。另外,在进行Java开发的时候,也可以通过相应的操作直接在JDT中打开Eclipse的源代码.具体可以看第三章,JDT的使用中有介绍。,1.6 小结,在这一章,我们对Eclipse作了一个大概的认识。了解了Eclipse的历史,知道了如何获得Eclipse,也学习了Eclipse安装。Eclipse是一个Java开发工具,也是一个软件平台,可以通过插件不断扩展Eclipse的功能。利用Eclipse,可以搭建出各种各样的应用程序。Eclipse最早由IBM创建,现在由专门的Eclipse基金会维护,并形成了一个Eclipse社区。是Eclipse社区的网站。在网站上可以获得Eclipse的最新发展动态,也可以下载最新版本的Eclipse。Eclipse是一个开源软件,可以免费获得,也可以自由分发。Eclipse社区提供了丰富的资源,向全球的Eclipse用户和开发这提供全面的支持。,2.9 字符界面应用程序设计举例,例2.1 输入一个字符串,按逆序存储后输出。import java.io.*; / C2_1.javaimport java.util.Scanner;public class C2_1 public static void main(String args) String s=null; Scanner in=new Scanner(System.in); System.out.print(Input a string:); s=in.next(); /输入1个字符串,2.9 字符界面应用程序设计举例(续1),int len=s.length();String t=; for(int i=len-1;i=0;i-) t=t+s.charAt(i); s=t; System.out.println(Reversed string:n+s); ,2.8 控制台输入/输出,1. 用Scanner类实现数据输入 (仅JDK1.50或更高版本支持) 用法: import java.util.Scanner; Scanner in=new Scanner(System.in); String s=in.next(); /输入1个字符串(空格/Tab/换行分隔) String t=in.nextLine(); /输入1个字符串(换行分隔) int a=in.nextInt(); /输入1个整数 float b=in.nextFloat(); /输入1个单精度实数 double c=in.nextDouble(); /输入1个双精度实数,2.8 控制台输入/输出(续1),2. 数据输出,用法: import java.io.*; System.out.print(字符串); /输出串不换行 System.out.println(字符串); /输出串并换行 System.out.println(); /输出换行格式化输出方法*:(仅JDK1.50或更高版本支持)System.out.printf(格式串,表达式列表);格式符语法:%参数索引$标志 宽度.精度格式符,2.7 字符串处理,2.7.1 定义字符串变量 String s; String s=new String(); String s=abcd; String s=new String(abcd );,2.7 字符串处理(续1),2.7.3 字符串类String中的常用公有成员函数 int length() /求串长,char charAt(int k) / 返回本串第k个字符(k从0开始),2.9 字符界面应用程序设计举例(续1),例2.2 编程输出1000以内的全部素数。import java.io.*; / C2_2.javaimport java.lang.Math;,public class C2_2 public static void main(String args) int m,i,k; for(m=2;mk) System.out.print(t+m); ,2.9 字符界面应用程序设计举例(续2),2.1.9 控制台应用程序设计举例(续3),例2.3 输入n个实数,建立数组,排序后输出。import java.io.*; / C2_3.javaimport java.util.Scanner;public class C2_3 public static void main(String args) Scanner in=new Scanner(System.in); System.out.print(请输入n=); int i, j, n=in.nextInt(); double a=new doublen; System.out.print(请输入+n+个实数n);,2.1.9 控制台应用程序设计举例(续7),for(i=0;in;i+) ai=in.nextDouble(); /输入n个实数 for(i=1;in;i+) /冒泡排序 for(j=0;jn-i;j+) if(ajaj+1) double tmp=aj;aj=aj+1;aj+1=tmp; for(i=0;in;i+) System.out.print(ai+ ); System.out.println(); /排序并输出结果,2.8 控制台输入/输出,1. 用Scanner类实现数据输入 (仅JDK1.50或更高版本支持) 用法: import java.util.Scanner; Scanner in=new Scanner(System.in); String s=in.next(); /输入1个字符串(空格/Tab/换行分隔) String t=in.nextLine(); /输入1个字符串(换行分隔) int a=in.nextInt(); /输入1个整数 float b=in.nextFloat(); /输入1个单精度实数 double c=in.nextDouble(); /输入1个双精度实数,2.5 数组的定义与使用,2.5.1 一维数组定义数组名标识符 syntax: T 数组名; /T表示数据类型名 T 数组名; 例: int a; double b;2. 创建数组空间与元素值初始化方法1: 定义数组名标识符时给出数组所有元素。 例: float a=0.0f, 0.1f, 0.2f, 0.3f ; / 数组a有4个元素(2) 方法2: 使用new运算符 定义数组名时直接使用new syntax: T 数组名=new T元素个数;,2.5 数组的定义与使用(续1),例: float a=new float10; / 数组a有10个元素 先定义数组名再使用new syntax: 数组名=new T元素个数; 例: float a; a=new float10; / 数组a有10个元素 已分配空间的数组可以用new重新分配空间 例: double a=new double5; / 数组a有5个元素 a=new double10; / 数组a重新分配10个元素 用new建立存储空间的数组元素初值按表2.2赋值,2.5 数组的定义与使用(续2),3. 一维数组元素的访问(1) 下标表达式同C语言(从0开始)(2) 下标超界产生一个异常(3) 一维数组长度(元素个数)表达式 syntax: 一维数组名.length 例:int a=new int5; int n=a.length; / 变量n的值为5,2.9 字符界面应用程序设计举例(续8),例2.4 矩阵转置。 import java.io.*; / C2_4.javapublic class C2_4 public static void Rs(int a) /或 int a int rows=a.length,i,j,t; for(i=0;irows;i+) for(j=0;ji;j+) t=aij;aij=aji;aji=t; ,2.9 字符界面应用程序设计举例(续9),public static void main (String args) int a= 1,2,3,4,5,6,7,8,9 ; int i,j,rows=a.length,cols=a0.length; C2_4.Rs(a); for(i=0;irows;i+) for(j=0;j = & | 赋值与自反赋值运算符:= += = = /= %= &= |= = = =类型强制转换运算符: (类型名)实例运算符:instanceof内存分配运算符:new条件运算符:式1?式2:式3,2.4 Java运算符与表达式(续1),说明: (1) 逻辑运算符中, 若使用|运算符,则逻辑式1和逻辑式2均要计算。建议:逻辑表达式中只使用! & 和 |.,2.4 Java运算符与表达式(续2),(3) 位运算符中的含义: 不带符号位右移 建议:可以不用掌握。 运算优先级: 同C运算符2.4.2 Java表达式举例将下面的数学表达式写成Java表达式.,import java.lang.Math; (-b+Math.sqrt(b*b-4*a*c)/(2*a),(2) 求浮点型变量x的小数部份。,2.4 Java运算符与表达式(续3),x-(int)x,(3) 求一个整型变量a的百位数字 如:int a=1234; 则表达式返回值为2,a/100%10,(4) 判断年号y是否为闰年,y%4=0&y%100!=0|y%400=0,2.5 数组的定义与使用,2.5.1 一维数组定义数组名标识符 syntax: T 数组名; /T表示数据类型名 T 数组名; 例: int a; double b;2. 创建数组空间与元素值初始化方法1: 定义数组名标识符时给出数组所有元素。 例: float a=0.0f, 0.1f, 0.2f, 0.3f ; / 数组a有4个元素(2) 方法2: 使用new运算符 定义数组名时直接使用new syntax: T 数组名=new T元素个数;,2.5 数组的定义与使用(续1),例: float a=new float10; / 数组a有10个元素 先定义数组名再使用new syntax: 数组名=new T元素个数; 例: float a; a=new float10; / 数组a有10个元素 已分配空间的数组可以用new重新分配空间 例: double a=new double5; / 数组a有5个元素 a=new double10; / 数组a重新分配10个元素 用new建立存储空间的数组元素初值按表2.2赋值,2.5 数组的定义与使用(续2),3. 一维数组元素的访问(1) 下标表达式同C语言(从0开始)(2) 下标超界产生一个异常(3) 一维数组长度(元素个数)表达式 syntax: 一维数组名.length 例:int a=new int5; int n=a.length; / 变量n的值为5 2.5.2 二维数组定义二维数组并创建数组存储空间例: syntax1: int a; a=new int34; syntax2: int a=new int34; syntax3: int a=1,2,3,4,5,6,7,8,9;,2.5 数组的定义与使用(续3),syntax4: 各行单独分配维度大小 int line_num=4; int a=new intline_num; a0=new int1; a1=new int2; a2=new int3; a3=new int4;,2. 二维数组元素的访问: 同C语言2.5.3 多维数组例: int a= new int333;,2.6 Java语言的语句,2.6.1 控制语句 同C语言2.6.2 程序注释 同C+语言 单行注释: / 多行注释: /* */2.6.2 函数定义与复合语句 同C+语言,2.7 字符串处理,2.7.1 定义字符串变量 String s; String s=new String(); String s=abcd; String s=new String(abcd );Java语言中,所有字符采用unicode编码: 字符串ABCD的长度为4, 你好的长度为2。 在C语言中,两者串长都是4。 特定的网页以及操作系统有特定的字符代码页, 如:ASP网页中,字符串“啊啊”的长度可能是4也可以是2,由网页指定的charset属性决定。请上网自学:unicode, GB2312, GBK, UTF代码。,2.7 Java字符串(续1),2. 字符串连接运算符+ 例:String s; s=abc+xyz; int a=10; System.out.println(a=+a); /*字符串与其它类型变量相加其它类型自动转换为字符串 */,2.7 字符串处理(续1),2.7.3 字符串类String中的常用公有成员函数 int length() /求串长 int compareTo(String t) / 比较两串大小 本串串t, 返回正数 本串=串t, 返回0 String toLowerCase() /本串大写英文变成小写 String toUpperCase() /本串小写英文变成大写,2.7 字符串处理(续2),int trim() /去掉本串字符串中的前导与末尾的空格 char charAt(int k) / 返回本串第k个字符(k从0开始) String replace(char oldChar, char newChar) /本串所有oldChar字符替换为newChar字符 String replace(String oldStr, String newStr) /本串所有oldStr字符替换为newStr串 String substring(int k) /从位置k处提取子串到串结束,生成新串 String substring(int start, int end) /从位置start到end提取子串,生成新串,2.7 字符串处理(续3),字符与子串查找 int indexOf(int ch) /字符ch第一次出现的位置号 int indexOf(String SubStr) int indexOf(int ch, int fromIndex) int idexOf(String SubStr, int fromIndex) int lastIndexOf(int ch) /字符ch最后一次出现的位置 int lastIndexOf(String SubStr) int lastIndexOf(int ch, int fromIndex) int lastIndexOf(String SubStr, int fromIndex),2.7 字符串处理(续4),2.7.4 字符串与其它数据类型的转换方法数据类型类,2. 数值转换为串 syntax: 数值类型类名.toString(该数值表达式);,2.7 字符串处理(续5完),例:double a=-100.575; int b=123; String s=Double.toString(a); String t=Integer.toString(b); System.out.println(a=+Double.toString(a+1);3. 串转换为数值 syntax: 数据类型类名.parse首字母大写类型名(串表达式); String s= 258; int a=Integer.parseInt(s); /VJ+6.0不支持parse函数,2.8 控制台输入/输出,1. 用Scanner类实现数据输入 (仅JDK1.50或更高版本支持) 用法: import java.util.Scanner; Scanner in=new Scanner(System.in); String s=in.next(); /输入1个字符串(空格/Tab/换行分隔) String t=in.nextLine(); /输入1个字符串(换行分隔) int a=in.nextInt(); /输入1个整数 float b=in.nextFloat(); /输入1个单精度实数 double c=in.nextDouble(); /输入1个双精度实数,2.8 控制台输入/输出(续1),2. 数据输出,用法: import java.io.*; System.out.print(字符串); /输出串不换行 System.out.println(字符串); /输出串并换行 System.out.println(); /输出换行格式化输出方法*:(仅JDK1.50或更高版本支持)System.out.printf(格式串,表达式列表);格式符语法:%参数索引$标志 宽度.精度格式符,2.8 控制台输入/输出(续2),格式符d: 十进制整数o: 八进制整数x: 十六进制整数f: 十进制小数格式浮点数e: 十进制指数格式浮点数g: 自动格式浮点数a: 十六进制小数s: 字符串,c: 字符b: 布尔值h: 散列码tx: 日期时间(x为37整数)%: 输出%,2.8 控制台输入/输出(续3),(2) 宽度精度 同C语言 (3) 标志+: 强制输出正数的正号-: 输出域中向左对齐0: 不足域宽用0占位(: 正数不变,负数求绝对值用括号括起来,: 千分位分隔符$: 如%1$d%1$x表示用十和十六进制输出第1个参数: 用前面一个参数继续输出,2.8 控制台输入/输出(续4完),例1:int a=1, b=2,c=3; System.out.printf(a=%d,b=%dnc=%4d,a,b,c); 输出为:a=1,b=2 c= 3例2:int a=255,b=10; System.out.printf(%1$d%1$x,%2$d,a,b); 输出为:255ff,10例3:float x=0.256f; System.out.printf(%.2f,%=0;i-) t=t+s.charAt(i); s=t; System.out.println(Reversed string:n+s); 例2.2 编程输出1000以内的全部素数。import java.io.*; / C2_2.javaimport java.lang.Math;,public class C2_2 public static void main(String args) int m,i,k; for(m=2;mk) System.out.print(t+m); ,2.9 字符界面应用程序设计举例(续2),2.1.9 控制台应用程序设计举例(续3),例2.3 输入n个实数,建立数组,排序后输出。import java.io.*; / C2_3.javaimport java.util.Scanner;public class C2_3 public static void main(String args) Scanner in=new Scanner(System.in); System.out.print(请输入n=); int i, j, n=in.nextInt(); double a=new doublen; System.out.print(请输入+n+个实数n);,2.1.9 控制台应用程序设计举例(续7),for(i=0;in;i+) ai=in.nextDouble(); /输入n个实数 for(i=1;in;i+) /冒泡排序 for(j=0;jn-i;j+) if(ajaj+1) double tmp=aj;aj=aj+1;aj+1=tmp; for(i=0;in;i+) System.out.print(ai+ ); System.out.println(); /排序并输出结果,2.9 字符界面应用程序设计举例(续8),例2.4 矩阵转置。 import java.io.*; / C2_4.javapublic class C2_4 public static void Rs(int a) /或 int a int rows=a.length,i,j,t; for(i=0;irows;i+) for(j=0;ji;j+) t=aij;aij=aji;aji=t; ,2.9 字符界面应用程序设计举例(续9),public static void main (String args)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论