二章节程序设计基础

上传人:仙*** 文档编号:50893533 上传时间:2022-01-22 格式:PPT 页数:22 大小:305.02KB
收藏 版权申诉 举报 下载
二章节程序设计基础_第1页
第1页 / 共22页
二章节程序设计基础_第2页
第2页 / 共22页
二章节程序设计基础_第3页
第3页 / 共22页
资源描述:

《二章节程序设计基础》由会员分享,可在线阅读,更多相关《二章节程序设计基础(22页珍藏版)》请在装配图网上搜索。

1、 第二章 程序设计基础 本章是学习Java程序设计的基础。我们首先通过一个简单的Java程序来了解程序的组成结构、语言要素和编写规范,建立程序的基本概念。然后以数据和运算作为程序设计的基础,通过讲解数据和数据类型、变量和常量、表达式和运算符以及流程控制,开始Java程序设计语言的探索之旅 2.1 程序n 程序是指按照时间顺序依次安排的工作步骤。而程序设计则是对这些步骤的编排和优化。n 计算机处理的核心是数据和运算。数据的基本存储单位是位,数据按照不同的数据类型来组织和存储。运算的基础是表达式,运算的控制手段是流程。无论是多么复杂的运算,都可以分解成顺序、选择和循环这三种基本的程序结构。 n J

2、ava程序由一个或多个独立的类组成,但其中必须有一个公有类,而且源代码文件(.java文件)必须与这个公有类的名字相同。 2.1.1 初识Java程序 一个Java程序的基本框架结构:nJava程序由一个或多个独立的类组成,但其中必须有一个公有类(如:HelloWorld),而且源代码文件必须与这个公有类的名字相同(如:HelloWorld.java)。nJava的类可以由一个或多个方法组成,其中公有类中的main方法可用作程序运行的入口。 / The First Java Programpublic class HelloWorld public static void main(Strin

3、g args) System.out.println(Hello World!); 程序头的注释HelloWorld类main方法修饰符方法头方法体方法名参数返回类型 2.1.1 初识Java程序o Java程序的编辑、编译和运行过程 编辑程序代码HelloWorld.javajavac生成出错信息Yes编译程序代码javac HelloWorld.javaHelloWorld.class解释执行字节码java HelloWorld有编译错误吗?NoJava程序编译通过,会自动生成一个包含了这个源程序字节码的同名.class文件。该文件可以通过Java虚拟机运行。 2.1.2 标识符和关键字

4、n在Java语言中,标识符用于表示变量、常量、方法、类或接口的名称。标识符是大小写敏感的,但没有长度限制。nJava关键字是为编译器保留的、具有特定含义的标识符,不能把它用做变量、类或方法的名称。nJava语言中的保留字 abstract default if private throw boolean do implements protected throws break double import public transient byte else instanceof return try case extends int short void catch final interfa

5、ce static volatile char finally long super while class float native switch const for new synchronized continue goto package this 2.1.3 撰写规范的程序代码 程序代码质量评审原则: n正确性正确性 指程序代码要实现软件设计所要求的功能;n可靠性可靠性 指程序代码最后编译的程序要能够稳定、可靠、安全的运行;n规范化规范化 指程序代码书写的风格、命名规则等要符合规范;n可读性可读性 指程序代码要便于查看和理解;n灵活性灵活性 指程序代码的设计和编写应该易于维护和改动。

6、 / 程序说明package 包的名称import 类的名称类修饰符 class 类的名称构造方法类成员:方法 (按照以下访问特性次序排列)public protectedprivate protectedprivate 类成员:域 (按照以下访问特性次序排列)public protectedprivate protectedprivate 静态变量(即使用 static修饰符的。按照以下访问特性次序排列)public protectedprivate protectedprivate 常量 (即使用static final修饰符的) 2.2 数据和数据类型 n 数据是我们对信息的一种组织和表

7、达形式。计算机是一个数据处理器,而程序就是处理数据的具体步骤和方法。n Java是强类型语言,在Java中,常量和变量必须事先声明数据类型才能使用。Java通过声明的数据类型在合适的地方为它们分配内存。 2.2.1 数据 n 无论数据以何种形式出现,但对于计算机而言,程序所处理的都是同样的二进制位模式数据。计算机存储器仅仅将数据以位模式存储。至于解释位模式是数值类型、文本类型、或其它的数据类型,则是由输入/输出设备或程序的完成。n 位(bit,binary digit的缩写)是存储在计算机中的最小单位;它是0或1。长度为8的位模式被称为1个字节。n 不同的位模式集合可以设计用于表示文本符号。我

8、们称一类位模式集合为码。表示符号的过程被称为编码。常用的码有ASCII码、扩展ASCII码、Unicode码。 数据的类型可以解决两个问题1. 如何存储(二进制)2. 可以进行的操作1、数字 2 和 字符 2 的存储二进制(参考 ASCII 码表)?2、数字 2 和 字符 2 所能进行的操作? 2.2.2 常量和变量 变量是指其值在运行时可以改变的量。在程序运行期间其值保持不变的量,我们称之为常量。Java语言中使用关键字final来定义常量。例如:nfinal double PI = 3.14159; / PI是实数类型常量nint x, y; / x, y是整数类型变量ndouble w

9、= 3.1415;/ w是实数类型变量nboolean truth = true;/ truth是布尔类型变量nConstant const = new Constant();/ const是对象类型变量 2.2.3 数据类型 n Java中的数据类型可以分为基本类型(primitive type)和对象类型(object type)两大类。其中的基本数据类型包括:整数类型、实数类型(也称浮点类型)、字符类型和布尔类型。n Java中的对象数据类型是一种抽象数据类型(ADT),它将数据和相关的操作封装在一起。除了Java类库提供的大量作为API的对象数据类型外,Java允许程序员定义自己的对象

10、数据类型,满足更复杂的编程需要。Java中的数据类型基本类型(primitive)字符类型布尔类型整数类型实数类型floatchar对象类型(object)intlongbyteshortdoubleboolean整数、字符、布尔、实数类、接口字、字节、位字符串、集合、数组基本数据类型机器内部表示对象数据类型抽象 2.2.3 数据类型n字符串是指一个字符序列的集合。在Java中字符串完全被当成对象,字符串类型是标准Java类库中预定义的String类。字符串作为对象数据类型还封装了许多相关的操作,便于我们对字符串进行处理。nint length() 返回字符串的长度。nString subst

11、ring(int beginIndex, int endIndex) 返回原字符串中从beginIndex位置开始到endIndex位置(不包括该位置)之间的所有字符组成的新字符串。nint indexOf(int ch) 返回从索引0开始的与ch字符相匹配的首个字符的位置(索引值)。未检索到匹配字符的则返回-1。nint indexOf(String str) 返回从索引0开始的与str字符串相匹配的首个子串的开始位置(索引值)。未检索到匹配的字符串则返回-1。nboolean equals(Object anObject) 比较字符串是否相等,相当时返回true,否则返回false。n比较

12、字符串是否相等应该使用equals方法 。示例程序 2 2 字符串的引用与构造Srting name1 = new String(李白);/构造字符串对象“李白”, /name1引用该字符串对象Srting name2 = 李白;/name2引用已构造的字符串对象“李白”Srting name3 = 杜甫;/隐式构造字符串对象“杜甫”,name3引用该字符串对象name1 = 杜甫;/name1引用字符串对象“杜甫” 2.2.3 数据类型Java程序在首次声明变量时,需要为其指定一种类型。类型决定了变量中存储的值的范围,以及能对变量值执行的操作。Java是一种强类型语言,它能区别多种数据类型,

13、并且通常不允许用一种类型替换另一种。这样,使得编译器能高效处理数据,防止由于类型不匹配导致的运行时错误。当需要更高的灵活性时,Java语言也提供了类型转换的机制。 charbyteshortintlongfloatdouble语法与规则( 类型指示符类型指示符 ) 表达式表达式double pi = 3.1415926;int p = (int)pi; /p=3 2.3 表达式与运算符 n一个表达式就是一个能够返回值的简单结构。最简单的表达式是变量和常量。在Java中也可以通过使用运算符、方法调用以及类型转换等,建立复杂的表达式。n建立表达式没有通用的方法,因为要取决于所用的运算符,Java包

14、括有赋值运算符、逻辑运算符、算术运算符、布尔运算符、位运算符等等。表达式可用于赋值给一个变量、计算方法的参数、或者判断一个条件,表达式也可以包含方法的调用。例如:x 变量 PI 常量 System.out.println(字符串长度:+n); 方法调用 x * y 算术运算 x = 1.5 变量赋值 love2.equals(love1) 逻辑运算 int p = (int)PI; 类型转换 n理解表达式的重点之一就是要了解不同的运算符。 2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。n赋值运算符n增减运算符n算术运算符n关系运算符n逻辑运算符n位运算符运算符运算符含义含

15、义=直接赋值+=加法赋值-=减法赋值*=乘法赋值/=除法赋值%=模赋值运算符运算符JavaJavaC/C+C/C+DelphiDelphiVisual BasicVisual Basic增+Inc()无减-Dec()无运算符运算符JavaJavaC/C+C/C+DelphiDelphiVisual BasicVisual Basic加+减-乘*浮点数除/整数除/div/取模%ModMod运算符运算符JavaJavaC/C+C/C+DelphiDelphiVisual BasicVisual Basic相等=或is不相等!=!=大于小于小于等于=运算符运算符JavaJavaC/C+C/C+Del

16、phiDelphiVisual BasicVisual Basic逻辑与&AndAnd逻辑或|OrOr逻辑非!NotNo运算符运算符JavaJavaC/C+C/C+DelphiDelphiVisual BasicVisual Basic与&andand或notnot取反oror异或xorxor左移Shr无 2.3 表达式与运算符Java语言中明确地规定了各种运算符的优先级。在优先级条件下,运算规则是:优先级高的运算符在优先级低的运算符之前求值,优先级相同时自左向右求值。优先级优先级运算符类型运算符类型运算符运算符优先级最高一元运算符 . ()(方法调用) ! + - + - new ()(强制

17、类型转换)优先级较高算术运算符位移运算符* / % + -优先级较低关系运算符位移运算符逻辑运算符 = !=& |& |?:(三元判断运算符,例如:AB?X:Y)优先级最低赋值运算符=+= -= *= /= %= 作业分别输出如下两个表达式的值:1. (1+2)2. (1+2)提示:修改 HelloWorld.java 程序以下语句圆括号中的表达式即可:System.out.println( ); 2.4 流程控制 n 任何程序流程均可以用顺序结构、选择结构、循环结构这三种基本控制结构实现。n 程序中的语句是按照编写时写入的顺序一条接一条地执行的,这一过程称为顺序执行。n Java提供了两种选

18、择结构语句:if语句和switch语句。n 循环结构使用条件表达式来控制一个(一组)动作的重复执行。Java语言中支持的循环语句包括:while循环、do-while循环、for循环。 2.4 流程控制nswitch语句是多分支判断选择结构。根据选择器的值,switch语句可以从很多可能的条件中选择一个分支中的语句或语句块执行。 语法与规则switch (表达式表达式) case 值值1: 语句语句1;/满足值满足值1的条件执行语句的条件执行语句 break; case 值值2: 语句语句2;/满足值满足值2的条件执行语句的条件执行语句 break; . case 值值n: 语句语句n;/满足

19、值满足值n的条件执行语句的条件执行语句 break; default: 缺省语句缺省语句; 语法与规则if (条件表达式条件表达式) /做某事的语句做某事的语句; ./如果是单条语句,可不使用如果是单条语句,可不使用else /做另一件事的语句做另一件事的语句1; ./如果是单条语句,可不使用如果是单条语句,可不使用 nif-else语句允许在两个程序块之间进行选择。同样,无论条件的值如何,都能确保有且只有一种选择被执行。if语句还可以嵌套任意层以构成更复杂的判断选择结构。 2.4 流程控制nwhile循环 ndo-while循环 nfor循环 while (布尔表达式布尔表达式) 语句语句;

20、 . /如果循环体是单条语句,可不使用如果循环体是单条语句,可不使用 do 语句语句; . while (布尔表达式布尔表达式); for ( 初值表达式初值表达式 ; 布尔表达式布尔表达式 ; 步进表达步进表达 式式 ) 语句语句; . /如果循环体是单条语句,可不使用如果循环体是单条语句,可不使用 2.4 流程控制nbreak :在while、do-while或for循环中,当某种条件满足时需要立即跳出循环时,使用break关键字,可以使得程序的执行流程立即跳出循环。 ncontinue :如果想跳过循环中的部分代码重新开始下一次循环,就使用continue关键字。 一个有趣的例题 射雕英

21、雄传的朋友,一定还记得黄蓉遇上神算子瑛姑,给她出的三道题目中有一题是这样的:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?也就是说,有一个未知数,这个数除以三余二,除以五余三,除以七余二,问这个数是多少? 示例程序 2 11 “黄蓉的题目”Calc.javapublic class Calc public static void main(String args) int x; for (x=0;x100;x+) if (x%3=2) & (x%5=3) & (x%7=2) System.out.println(这个数字是:+x); /end of main/end of Calc

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!