2Java程序设计基本语法.ppt

上传人:sccc 文档编号:5347491 上传时间:2023-06-28 格式:PPT 页数:45 大小:1.31MB
返回 下载 相关 举报
2Java程序设计基本语法.ppt_第1页
第1页 / 共45页
2Java程序设计基本语法.ppt_第2页
第2页 / 共45页
2Java程序设计基本语法.ppt_第3页
第3页 / 共45页
2Java程序设计基本语法.ppt_第4页
第4页 / 共45页
2Java程序设计基本语法.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《2Java程序设计基本语法.ppt》由会员分享,可在线阅读,更多相关《2Java程序设计基本语法.ppt(45页珍藏版)》请在三一办公上搜索。

1、第2章 Java程序设计基本语法,内容摘要,Java程序的基本组成元素Java基本数据类型、变量与常量运算符与表达式算法的基本控制结构数组向量类,学习目标,了解Java中的关键字与标识符定义和使用掌握基本运算符和表达式的使用方法掌握自增和自减运算符的使用方法理解运算符优先级掌握分支语句、循环语句的使用方法区分break语句和continue语句的作用掌握return语句使用方法熟练掌握一维数组的用法掌握二维数组定义和用法理解向量类,2.1 Java语言基本组成元素,关键字与标识符运算符与表达式。,2.1.1 关键字与标识符,关键字(keyword),也称保留字(reserved word),是

2、指程序代码中规定用途的单词。也就是说,只要在程序代码内部出现该单词,编译程序就认为是某种固定的用途。标识符,也就是标识的符号,指程序中一切自己指定的名称,例如后续语法中涉及到的变量名称、常量名称、数组名称、方法名称、参数名称、类名、接口名、对象名等等。,2.1.1 关键字与标识符,关键字 关键字就是Java语言中已经被赋予特定意义的一些单词。例如public,char,default等,这些保留关键字不能当成标识符使用。Java中的关键字有:abstract boolean break byte case catch char class continue do double else ext

3、ends false find finally float implement import instanceof int interface long native new null package private public return short static super switch synchronized this throw true try void while strictfp volatile transient。,2.1.1 关键字与标识符,标识符:用来标识类名、方法名、类型名、文件名的有效字符序列成为标识符。简单的说,标识符就是一个名字。下面是命名标识符的规则。标识

4、符严格区分大小写。标识符是由字母、数字、下划线(_)和美元符号($)组成的字符序列。标识符必须以字母、下划线(_)或美元符($)开头而不能以数字开头。标识符不能是关键字或保留字。,2.1.2 运算符与表达式,运算符:是一种特殊符号,用以表示数据的运算、赋值和比较。一般由一至三个字符组成,但Java将其视为一个符号。运算符共分为以下几种:算术运算符、比较运算符、条件运算符、逻辑运算符、位运算符、赋值运算符和自增自减运算符。表达式:是指一个或多个运算符和运算数共同作用以完成某项计算的组合。计算后的值通常是一个数,但也可以不是,参与运算的运算数可以是文本、常量、变量或其它数据资源。表达式的计算与使用

5、方式是编写程序的基础。,2.1.2 运算符与表达式,运算符优先级表2-6 运算符优先级表,2.2 Java数据类型,Java是一种强类型语言,数据在使用前必须预先声明其类型,不同的类型有不同的数据结构、不同的存储方式,参与运算也不同。数据类型有两种:基本数据类型和引用类型(reference)。基本数据类型是由程序设计语言系统所定义、不可再划分的,数据所占内存的大小是固定的,与软硬件环境无关,数据在内存中存放的是数据值本身。引用类型在内存中存放的是指向该数据的地址,不是数据值本身,它往往由多个基本数据类型组成。引用数据类型也被称为复合数据类型。,表2-7 Java基本数据类型,Java中的常量

6、常量就是程序里持续不变的量。它们不会随着程序的变化呈现不同的值,用户也无法重新对一个已定义的常量赋值。Java中的常量包含整型、浮点型、布尔型、字符型、字符串型。Java中的变量程序中的数据存储在内存中,为了使用数据则必须知道数据所在的内存位置,如果使用内存地址编号来调用数据那会相当麻烦,因此指定某个明确的名称来存储数据,该名称就是变量(variable)。将数据指定给某个变量,就是将数据存储到对应的内存空间,用户调用该变量时就调用了相应内存中的数据。,数据类型 变量名1,变量名2,变量名n;,例如:int num,total;double d1;,给变量分配 空间,byte,short,in

7、t,long,float,double,char,boolean 复合类型,例如:int num,total;double d1;,给变量分配 空间,num:,total:,d1:,变量“先声明后使用”,num=5;total=2*num;d1=-234.45;num=6;K=90;Num=J+90+num;,5,10,-234.45,6,2.2.3 数据类型转换,在编写程序过程中,经常会遇到一种情况,就是需要将一种数据类型的值转换成另一种不同数据类型的变量,由于数据类型有差异,在赋值时就需要进行数据类型的转换。1、数值型不同类型数据的转换自动类型转(隐式转换)换强制类型转换(显示转换)。2、

8、字符串型数据与整型数据相互转换,2.2.3 数据类型转换,自动类型转换要满足两个条件:转换前后的两种类型彼此兼容,转换后的类型的取值范围要大于源类型(低级类型数据转换成高级数据类型数据)。例如,当byte型向int型转换时,由于int型取值范围大于byte型,就会发生自动转换。所有的数据类型,包括整型和浮点型彼此都可以进行这样的转换。转换规则为:字符型转换为整型:char-int数值型之间的转换:byte-short-int-long-float-double,2.2.3 数据类型转换,强制类型转换当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法进行,这就需要进行强制类型转换

9、。强制类型转换的格式为:(目标数据类型)变量名或表达式其中,目标数据类型是值转换后的数据类型。参看例程cpp2_0.java,注意:在程序设计中,不推荐从较长数据向较短数据的转换,会导致计算数据精度的降低。,2.2.3 数据类型转换,字符串转换成数值型数据数字字符串数据转换成byte/short/int等数据类型,可以利用下表提供的Byte/Short、Integer、Float、Double、Long类的parseXXX()方法。,2.2.3 数据类型转换,数值型数据转换成字符串字符串可用加号“+”来实现连接操作。,字符串转换成数值型数据String MyNum=“1234.567”;flo

10、at MyFlo=Float.parseFloat(MyNum);数值型数据转换成字符串Int MyInt=1234;String MyString=“”+MyInt;,2.3 控制语句,程序控制语句分为三类:分支语句,包括if语句和switch语句;循环语句,包括for循环语句、while循环语句和do-while循环语句;跳转语句,包括break语句、continue语句和return语句。在本节将详细介绍这些控制程序执行流程的语句。,2.3.1 分支语句,分支语句是所有流程控制结构中最基础的控制语句。程序在执行过程中会根据条件来选择执行程序分支。分支语句的两种语句是:if和switch语

11、句,两种语句的特点如下表所示。,2.3.1 分支语句,if语句,2.3.1 分支语句,ifelse语句,2.3.1 分支语句,嵌套使用ifelse语句,例如:Core.java,2.3.1 分支语句,switch语句,例如:SwitchT.java,2.3.2 循环语句,循环结构,在某些条件继续时,重复执行一段代码。能够多次执行同一个任务。包括for循环、while循环以及do-while循环。每一种循环语句都有各自的优点,如下表所示。,2.3.2 循环语句,使用for循环时,一般遵循下面所示的语法结构:for(表达式1;表达式2;表达式3)循环体;,例如:ForSum.java,2.3.2

12、循环语句,while循环语法格式非常简单,如下所示:while(逻辑表达式)循环体;,例如:Avg.java,2.3.2 循环语句,do-while循环的一般语法结构如下所示:do 循环体;while(测试条件);,例如:DoSum.java,2.3.3 跳转语句,在使用循环语句时,只有循环条件表达式的值为假时才能结束循环。如果想提前中断循环,只需在循环语句块中添加break语句。break语句属于跳转语句,跳转语句还包括continue语句,它功能是跳过本次循环要执行的剩余语句,然后开始执行下一次循环。除了break语句和continue语句可以实现程序跳转外,return语句也能实现跳转。

13、它们的功能特点如下表所示。,2.4 数组,数组提供了一种将有联系的信息分组的便利方法。然而Java数组的工作原理与C/C+语言中数组不相同。在本节接下来的内容将介绍数组的声明、使用及原理。一维数组是一组相关变量的一维集合,在程序设计中这样的列表很常见声明一维数组的语法有两种格式:type arrayName=new typesize type arrayName=new typesize对数组初始化有两种方法:一种是在数组声明时就初始化,另一种是在定义后进行初始化。,例如:ArraySort.java,1声明数组格式:数组元素类型 数组名;或 数组元素类型 数组名;,例如:int intArr

14、ay;,2.创建数组空间 数组名=new 数组元素类型 数组元素的个数;,例如:intArray=new int 10;,为整型数组intArray分配10个整数元素所占据的内存空间,并使每个元素初值为0。即intArray0,intArray1,intArray9的值各为0,int intArray;intArray=new int 10;,int intArray=new int 10;,合二为一,String stringArray=new String5;/初值为null,用new关键字为一个数组分配内存空间后,系统将为每个数组元素都赋予一个初值,这个初值取决于数组的类型。所有数值型数

15、组元素的初值为0,字符型数组元素的初值为一个不可见的ISO控制符(u0000),布尔型数组元素的初值为false,类的类型的数组在创建时,元素的初值为null。数组对象一旦创建之后,在程序整个执行期间,就不能再改变数组元素的个数。,2.4.1 一维数组与多维数组,数组的内存结构如图2-24所示:,2.4.2 一些与数组操作相关函数,对数组的一些基本操作,像排序、搜索与比较等比较常见。在Java中提供了Arrays类可以协助完成这几个操作,Arrays类位于java.util包中,它提供了几个方法可以直接使用,以下介绍两个与数组操作有关的函数。使用System.arraycopy()函数复制数组

16、用Arrays.sort来排序数组,例如:ArrayCopy.java,例如:TestArraySort.java,2.4.3 向量类,Vector类,即向量类可以实现可增长的对象数组,它也是一种集合类,存在java.util.包中。Vector类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小。Vector有三个构造函数:public Vector(int initialCapacity,int capacityIncrement)public Vector(int initialCapacity)public Vector(),Java语言有关内

17、存分配知识,栈内存和堆内存:在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配。堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理。在堆内存中创建一个数组或对象后,还可以在栈内存中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在堆内存中的地址。引用变量相当于是为数组或对象起个名字,是普通的变量,定义时在栈中分配,数组或对象在没有引用变量指向它时,变为垃圾,在随后一个不确定的时间内被垃圾回收器收走(释放掉),Java语言有关

18、内存分配知识,Intx;X=new int10;,.,?,Intx,堆内存,.,0 x8000,Intx,0,0,0,0 x8000,(对象首地址),New int(10)产生的对象,0,X0,X1,.,X8,X9,栈内存,栈内存,import java.io.*;public class class_namepublic static void main(String args)throws IOExceptionBufferedReader buf;/声明buf为BufferedReader类型的变量,该类在java.io类库中String str;/声明str为String类型的变量.b

19、uf=new BufferedReader(new InputStreamReader(System.in);/创建buf对象str-buf.readLine();/用readLine()方法读入字符串存入str中.,由键盘输入数据,利用键盘输入数据,Java语言提供了两种方式方式1、利用键盘输入数据,基本格式如下:,参看例程app2_1.java,由键盘输入数据,1、输入字符串:,参看例程app2_2.java,2、输入数值:从键盘输入的数据均被视为字符串,所以必须转换。,参看例程app2_3.java,3、输入多个数据:,import java.util.*;public class cl

20、ass_namepublic static void main(String args)Scanner reader=new Scanner(System.in);/用System.in创建一个Scanner对象Double num;/声明double型变量,也可以声明其他数值型变量.num=reader.nextDouble();/调用reader对象的相应方法,读取键盘数据.,由键盘输入数据,利用键盘输入数据,Java语言提供了两种方式方式2、利用键盘输入对象,基本格式如下:,由键盘输入数据,利用键盘输入对象,Scanner类的对象有下列方法:nextByte()、nextDouble()

21、、nextFloat()、nextInt()、nextLong()、nextShort()、next()和nextLine()上述的nextXXX()方法被调用后,则等待用户在命令行输入数据并按Enter键(或空格键、Tab键)确认。在从键盘上输入数据时,通常是让类对象先调用hasNextXXX()方法等待用户在键盘上输入数据,然后调用nextXXX()方法读取数据。next()和nextLine()方法被调用后,则等待用户在键盘上输入一行文本,这两个方法返回一个String类型的数据。,参看例程app2_4.java,参看例程app2_5.java,程序结构:包声明、导入语句、类定义。词法记号:关键字、标识符、文字、操作符、分隔符、空白符。数据类型:简单数据类型和复合数据类型.表达式:由运算符和操作数组成。运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符位运算符、条件运算符等。对一个表达式进行运算时,要注意运算符的优先级与结合性,以及混合运算时数据类型的转换。,小结,程序控制结构中常用的语句:条件语句、循环语句和跳转语句。Break语句跳出循环继续执行循环外的下一条语句;continue语句是中止本次循环而转到循环的开始处继续运行。数组是有序相同的数据类型的数据的集合,利用数组数据结构,可以很好地为程序组织起循环。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号