Java程序设计基本语法.ppt

上传人:max****ui 文档编号:6361436 上传时间:2020-02-23 格式:PPT 页数:45 大小:1.31MB
返回 下载 相关 举报
Java程序设计基本语法.ppt_第1页
第1页 / 共45页
Java程序设计基本语法.ppt_第2页
第2页 / 共45页
Java程序设计基本语法.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
第2章Java程序设计基本语法 内容摘要 Java程序的基本组成元素Java基本数据类型 变量与常量运算符与表达式算法的基本控制结构数组向量类 学习目标 了解Java中的关键字与标识符定义和使用掌握基本运算符和表达式的使用方法掌握自增和自减运算符的使用方法理解运算符优先级掌握分支语句 循环语句的使用方法区分break语句和continue语句的作用掌握return语句使用方法熟练掌握一维数组的用法掌握二维数组定义和用法理解向量类 2 1Java语言基本组成元素 关键字与标识符运算符与表达式 2 1 1关键字与标识符 关键字 keyword 也称保留字 reservedword 是指程序代码中规定用途的单词 也就是说 只要在程序代码内部出现该单词 编译程序就认为是某种固定的用途 标识符 也就是标识的符号 指程序中一切自己指定的名称 例如后续语法中涉及到的变量名称 常量名称 数组名称 方法名称 参数名称 类名 接口名 对象名等等 2 1 1关键字与标识符 关键字关键字就是Java语言中已经被赋予特定意义的一些单词 例如public char default等 这些保留关键字不能当成标识符使用 Java中的关键字有 abstractbooleanbreakbytecasecatchcharclasscontinuedodoubleelseextendsfalsefindfinallyfloatimplementimportinstanceofintinterfacelongnativenewnullpackageprivatepublicreturnshortstaticsuperswitchsynchronizedthisthrowtruetryvoidwhilestrictfpvolatiletransient 2 1 1关键字与标识符 标识符 用来标识类名 方法名 类型名 文件名的有效字符序列成为标识符 简单的说 标识符就是一个名字 下面是命名标识符的规则 标识符严格区分大小写 标识符是由字母 数字 下划线 和美元符号 组成的字符序列 标识符必须以字母 下划线 或美元符 开头而不能以数字开头 标识符不能是关键字或保留字 2 1 2运算符与表达式 运算符 是一种特殊符号 用以表示数据的运算 赋值和比较 一般由一至三个字符组成 但Java将其视为一个符号 运算符共分为以下几种 算术运算符 比较运算符 条件运算符 逻辑运算符 位运算符 赋值运算符和自增自减运算符 表达式 是指一个或多个运算符和运算数共同作用以完成某项计算的组合 计算后的值通常是一个数 但也可以不是 参与运算的运算数可以是文本 常量 变量或其它数据资源 表达式的计算与使用方式是编写程序的基础 2 1 2运算符与表达式 运算符优先级表2 6运算符优先级表 2 2Java数据类型 Java是一种强类型语言 数据在使用前必须预先声明其类型 不同的类型有不同的数据结构 不同的存储方式 参与运算也不同 数据类型有两种 基本数据类型和引用类型 reference 基本数据类型是由程序设计语言系统所定义 不可再划分的 数据所占内存的大小是固定的 与软硬件环境无关 数据在内存中存放的是数据值本身 引用类型在内存中存放的是指向该数据的地址 不是数据值本身 它往往由多个基本数据类型组成 引用数据类型也被称为复合数据类型 表2 7Java基本数据类型 Java中的常量常量就是程序里持续不变的量 它们不会随着程序的变化呈现不同的值 用户也无法重新对一个已定义的常量赋值 Java中的常量包含整型 浮点型 布尔型 字符型 字符串型 Java中的变量程序中的数据存储在内存中 为了使用数据则必须知道数据所在的内存位置 如果使用内存地址编号来调用数据那会相当麻烦 因此指定某个明确的名称来存储数据 该名称就是变量 variable 将数据指定给某个变量 就是将数据存储到对应的内存空间 用户调用该变量时就调用了相应内存中的数据 数据类型变量名1 变量名2 变量名n 例如 intnum total doubled1 给变量分配空间 byte short int long float double char boolean复合类型 例如 intnum total doubled1 给变量分配空间 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 字符串型数据与整型数据相互转换 2 2 3数据类型转换 自动类型转换要满足两个条件 转换前后的两种类型彼此兼容 转换后的类型的取值范围要大于源类型 低级类型数据转换成高级数据类型数据 例如 当byte型向int型转换时 由于int型取值范围大于byte型 就会发生自动转换 所有的数据类型 包括整型和浮点型彼此都可以进行这样的转换 转换规则为 字符型转换为整型 char int数值型之间的转换 byte short int long float double 2 2 3数据类型转换 强制类型转换当两种类型彼此不兼容 或目标类型取值范围小于源类型时 自动转换无法进行 这就需要进行强制类型转换 强制类型转换的格式为 目标数据类型 变量名或表达式其中 目标数据类型是值转换后的数据类型 参看例程cpp2 0 java 注意 在程序设计中 不推荐从较长数据向较短数据的转换 会导致计算数据精度的降低 2 2 3数据类型转换 字符串转换成数值型数据数字字符串数据转换成byte short int等数据类型 可以利用下表提供的Byte Short Integer Float Double Long类的parseXXX 方法 2 2 3数据类型转换 数值型数据转换成字符串字符串可用加号 来实现连接操作 字符串转换成数值型数据StringMyNum 1234 567 floatMyFlo Float parseFloat MyNum 数值型数据转换成字符串IntMyInt 1234 StringMyString MyInt 2 3控制语句 程序控制语句分为三类 分支语句 包括if语句和switch语句 循环语句 包括for循环语句 while循环语句和do while循环语句 跳转语句 包括break语句 continue语句和return语句 在本节将详细介绍这些控制程序执行流程的语句 2 3 1分支语句 分支语句是所有流程控制结构中最基础的控制语句 程序在执行过程中会根据条件来选择执行程序分支 分支语句的两种语句是 if和switch语句 两种语句的特点如下表所示 2 3 1分支语句 if语句 2 3 1分支语句 if else语句 2 3 1分支语句 嵌套使用if else语句 例如 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循环语句 while循环语法格式非常简单 如下所示 while 逻辑表达式 循环体 例如 Avg java 2 3 2循环语句 do while循环的一般语法结构如下所示 do 循环体 while 测试条件 例如 DoSum java 2 3 3跳转语句 在使用循环语句时 只有循环条件表达式的值为假时才能结束循环 如果想提前中断循环 只需在循环语句块中添加break语句 break语句属于跳转语句 跳转语句还包括continue语句 它功能是跳过本次循环要执行的剩余语句 然后开始执行下一次循环 除了break语句和continue语句可以实现程序跳转外 return语句也能实现跳转 它们的功能特点如下表所示 2 4数组 数组提供了一种将有联系的信息分组的便利方法 然而Java数组的工作原理与C C 语言中数组不相同 在本节接下来的内容将介绍数组的声明 使用及原理 一维数组是一组相关变量的一维集合 在程序设计中这样的列表很常见声明一维数组的语法有两种格式 typearrayName newtype size type arrayName newtype size 对数组初始化有两种方法 一种是在数组声明时就初始化 另一种是在定义后进行初始化 例如 ArraySort java 1 声明数组格式 数组元素类型数组名 或数组元素类型 数组名 例如 intintArray 2 创建数组空间数组名 new数组元素类型 数组元素的个数 例如 intArray newint 10 为整型数组intArray分配10个整数元素所占据的内存空间 并使每个元素初值为0 即intArray 0 intArray 1 intArray 9 的值各为0 intintArray intArray newint 10 intintArray newint 10 合二为一 StringstringArray newString 5 初值为null 用new关键字为一个数组分配内存空间后 系统将为每个数组元素都赋予一个初值 这个初值取决于数组的类型 所有数值型数组元素的初值为0 字符型数组元素的初值为一个不可见的ISO控制符 u0000 布尔型数组元素的初值为false 类的类型的数组在创建时 元素的初值为null 数组对象一旦创建之后 在程序整个执行期间 就不能再改变数组元素的个数 2 4 1一维数组与多维数组 数组的内存结构如图2 24所示 2 4 2一些与数组操作相关函数 对数组的一些基本操作 像排序 搜索与比较等比较常见 在Java中提供了Arrays类可以协助完成这几个操作 Arrays类位于java util包中 它提供了几个方法可以直接使用 以下介绍两个与数组操作有关的函数 使用System arraycopy 函数复制数组用Arrays sort来排序数组 例如 ArrayCopy java 例如 TestArraySort java 2 4 3向量类 Vector类 即向量类可以实现可增长的对象数组 它也是一种集合类 存在java util 包中 Vector类提供了实现可增长数组的功能 随着更多元素加入其中 数组变的更大 在删除一些元素之后 数组变小 Vector有三个构造函数 publicVector intinitialCapacity intcapacityIncrement publicVector intinitialCapacity publicVector Java语言有关内存分配知识 栈内存和堆内存 在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配 堆内存用来存放由new运算符创建的对象和数组 在堆中分配的内存 由java虚拟机的自动垃圾回收器来管理 在堆内存中创建一个数组或对象后 还可以在栈内存中定义一个特殊的变量 让栈中的这个变量的取值等于数组或对象堆内存中的首地址 栈中的这个变量就成了数组或对象的引用变量 引用变量实际上保存的是数组或对象在堆内存中的地址 引用变量相当于是为数组或对象起个名字 是普通的变量 定义时在栈中分配 数组或对象在没有引用变量指向它时 变为垃圾 在随后一个不确定的时间内被垃圾回收器收走 释放掉 Java语言有关内存分配知识 Int x X newint 10 Int x 堆内存 0 x8000 Int x 0 0 0 0 x8000 对象首地址 Newint 10 产生的对象 0 X 0 X 1 X 8 X 9 栈内存 栈内存 importjava io publicclassclass name publicstaticvoidmain String args throwsIOException BufferedReaderbuf 声明buf为BufferedReader类型的变量 该类在java io类库中Stringstr 声明str为String类型的变量 buf newBufferedReader newInputStreamReader System in 创建buf对象str buf readLine 用readLine 方法读入字符串存入str中 由键盘输入数据 利用键盘输入数据 Java语言提供了两种方式方式1 利用键盘输入数据 基本格式如下 参看例程app2 1 java 由键盘输入数据 1 输入字符串 参看例程app2 2 java 2 输入数值 从键盘输入的数据均被视为字符串 所以必须转换 参看例程app2 3 java 3 输入多个数据 importjava util publicclassclass name publicstaticvoidmain String args Scannerreader newScanner System in 用System in创建一个Scanner对象Doublenum 声明double型变量 也可以声明其他数值型变量 num reader nextDouble 调用reader对象的相应方法 读取键盘数据 由键盘输入数据 利用键盘输入数据 Java语言提供了两种方式方式2 利用键盘输入对象 基本格式如下 由键盘输入数据 利用键盘输入对象 Scanner类的对象有下列方法 nextByte nextDouble nextFloat nextInt nextLong nextShort next 和nextLine 上述的nextXXX 方法被调用后 则等待用户在命令行输入数据并按Enter键 或空格键 Tab键 确认 在从键盘上输入数据时 通常是让类对象先调用hasNextXXX 方法等待用户在键盘上输入数据 然后调用nextXXX 方法读取数据 next 和nextLine 方法被调用后 则等待用户在键盘上输入一行文本 这两个方法返回一个String类型的数据 参看例程app2 4 java 参看例程app2 5 java 程序结构 包声明 导入语句 类定义 词法记号 关键字 标识符 文字 操作符 分隔符 空白符 数据类型 简单数据类型和复合数据类型 表达式 由运算符和操作数组成 运算符 算术运算符 赋值运算符 关系运算符 逻辑运算符位运算符 条件运算符等 对一个表达式进行运算时 要注意运算符的优先级与结合性 以及混合运算时数据类型的转换 小结 程序控制结构中常用的语句 条件语句 循环语句和跳转语句 Break语句跳出循环继续执行循环外的下一条语句 continue语句是中止本次循环而转到循环的开始处继续运行 数组是有序相同的数据类型的数据的集合 利用数组数据结构 可以很好地为程序组织起循环
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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