Java语言程序设计基础.ppt

上传人:max****ui 文档编号:6364345 上传时间:2020-02-24 格式:PPT 页数:78 大小:401.05KB
返回 下载 相关 举报
Java语言程序设计基础.ppt_第1页
第1页 / 共78页
Java语言程序设计基础.ppt_第2页
第2页 / 共78页
Java语言程序设计基础.ppt_第3页
第3页 / 共78页
点击查看更多>>
资源描述
第3章Java语言程序设计基础 3 1Java语言程序的基本构成要素3 2数据类型3 3运算符3 4常用Java数值计算方法3 5表达式3 6包装类3 7输入输出初步3 8流程控制3 9数组和字符串 3 1Java语言程序的基本构成要素 3 1 1标识符程序中使用的各种数据对象 如符号常量 变量 方法和类等 都需要一定的名称 这种名称叫做标识符 Identifier Java的标识符由字母 数字 下划线 或美元符 组成 但必须以字母 下划线或美元符开始 Java标识符是大小写敏感的 也就是要严格地区分大小写 否则会出错 这点是初学者学习Java语言时要特别注意的 另外 Java标识符没有字符数的限制 Java要求表示类 接口名的标识符用大写字母开头 表示变量 方法名的标识符用小写字母开头 表示常量名的标识符中全部使用大写的字母 3 1 2保留字保留字 ReservedWord 又称为关键字 是Java语言本身使用的标识符 它有其特定的语法含义 所有的Java保留字将不能被用做标识符 如for while boolean等都是Java语言的保留字 表3 1Java保留字表 续表 注 加 号的保留字是Java目前还未用的 3 1 3分隔符分隔符用来分隔开Java程序中的基本语法元素 可分为注释 空白符和普通分隔符3种 1 注释在程序中加适当的注释可提高程序的可读性 注释有如下3种形式 1 行注释符 注释内容 2 多行注释符 注释内容 3 Java文档注释符 注释内容 2 空白符空白符包括空格符 回车符 换行符和制表符等 在使用中 多个空白符与一个空白符的作用相同 3 普通分隔符普通分隔符具有确定的语法含义 要按照语法规定去使用 有如下4种分隔符 大括号 分号 逗号 冒号 3 2数据类型 计算机程序处理的对象是各种数据 数据类型是指数据的内在表现形式 根据现实世界数据的不同形式 数据就划分为多种不同的类型 数据类型不同 能进行的运算不同 取值范围也不同 在计算机语言中还反映为数据的存储形式不同 Java的每种数据类型占用固定的内存长度 与软硬件平台无关 每种数据类型均有一个缺省的数值 表3 2Java语言的数据类型 3 2 1常量与变量程序中所处理的数据表现为两种形式 常量和变量 1 常量常量是在程序执行中不能变化的量 常量区分为不同的类型 如整型常量123 实型常量4 56 字符常量 a 布尔常量true和false以及字符串常量 Javaprogramming 2 变量为了在Java中存储一个数据 必须申请存储空间 变量就是这个存储空间的名字 在变量中可根据需要存入不同的数据 尤其要指出的是 Java是属于强类型的编程语言 这意味着对每一个变量都必须作类型声明 变量具有名称 类型 值和作用域等特性 在使用一个变量前必须先定义 变量定义是用标识符为变量命名 确定其数据类型 还可以根据需要为它赋初值 变量初始化 定义了变量即为变量指定了存储方式 若是基本类型的变量 因为它们的存储长度是固定的 如何分配存储单元就确定了 若是复合类型的变量 定义后还需要用new运算符为用户数据分配存储单元 复合类型变量中存储用户数据存储单元的引用 指针 3 2 2基本类型1 整型常量Java的整型常量有3种形式 十进制 十六进制和八进制 2 整型变量整型变量按所占内存大小的不同有byte short int long4种 Java的整数都是有符号数 表3 3整型数据类型 3 实型常量Java的实型常量有标准和科学计数法两种表现形式 标准形式 科学计数法形式 4 实型变量 表3 4实型数据类型 5 字符型数据字符型char数据是由一对单引号括起来的单个字符 表3 5转义字符表 6 布尔型数据布尔boolean类型是最简单的一种数据类型 布尔数据只有两个值 true和false 且都是保留字 分别表示 真 和 假 两种状态 关系运算和逻辑运算返回布尔类型的值 布尔型是一个独立的类型 它不像C语言中的布尔型代表0和1两个整数 由于这个原因 Java中的布尔类型不能转换成数字 7 字符串数据字符串常量是用双引号括起来的零个或多个字符 包括转义字符 3 3运算符 运算符的作用是与一定的运算数据组成表达式来完成相应的运算 对不同的数据类型 有着不同的运算符 对运算符 有运算对象 操作数 个数及类型 运算优先级 结合性等特性 Java语言对运算符的优先级 结合性和求值顺序有明确的规定 从根本上消除了运算符运算过程的二义性以及结果不统一的弊端 运算符的优先级是指不同运算符在运算中执行的先后顺序 在Java语言中共有17种优先级 每个运算符分属确定的一个优先级别 Java语言严格按照运算符的优先级由高到低地顺序执行各种运算 运算符的结合性确定同级运算符的运算顺序 左结合性规定 运算数据先与左边的运算符结合 然后与右边的运算符结合 右结合性正好相反 3 3 1算术运算符算术运算符按操作数的多少可分为一元 或称单目 和二元 或称双目 两类 一元运算符一次对一个操作数进行操作 二元运算符一次对两个操作数进行操作 算术运算符的操作数类型是数值类型 1 一元算术运算符 表3 6一元算术运算符 2 二元算术运算符算术运算符的第二种类型是二元运算符 这种运算符并不改变操作数的值 而是返回一个必须赋给变量的值 表3 7列出了二元算术运算符 二元算术运算符具有左结合性 表3 7二元算术运算符 这些都是常用的运算 对二元算术运算符 有以下两点要注意 两个整数运算的结果是整数 5 2结果是2而不是2 5 取模运算是求两个数相除的余数 如17 3的结果是2 可以对实数求余数 实数a b的结果为a int a b b 余数的符号与被除数a相同 如123 4 10的结果为3 4 3 3 2关系运算符关系运算符用于确定一个数据与另一个数据之间的关系 即进行关系运算 所谓关系运算是比较运算 将两个值进行比较 关系运算的结果值为true或false 布尔型 表3 8列出了Java语言提供的6种关系运算符 它们都是双目运算符 在这里要指出的是 等于运算符 不要与赋值运算符 混淆 以至于关系运算变成了赋值运算 表3 8关系运算符 3 3 3逻辑运算符逻辑运算符可以对布尔类型的数据 布尔常量 布尔变量 关系表达式和逻辑表达式等 进行运算 结果也为布尔类型 表3 9列出了Java语言的逻辑运算符 逻辑运算规则如表3 10所示 表3 9布尔运算符 表3 10逻辑运算真值表 3 3 4位运算符位运算符用来对二进制位进行运算 运算操作数应是整数类型 结果也是整数类型 表3 11列出了Java的位运算符 表3 11位运算符列表 表3 12位运算真值表 3 3 5赋值运算符赋值运算符都是二元运算符 具有右结合性 1 简单赋值运算符 2 复合赋值运算符 复合赋值运算符的右边是一个整体 表3 13中的等价是有条件的 即op1仅计算1次 表3 13复合赋位运算符 3 3 6条件运算符条件运算符是一种三元运算符 它的格式如下 Operand Expression1 Expression2在这个式子中 先计算Operand的真假 若为真 则计算并返回Expression1 若为假 则计算并返回Expression2 例如 a b a b 这个表达式将返回a和b中较大的那个数值 3 3 7字符串运算符运算符 可以实现两个或多个字符串的连接 也可实现字符串与其他类对象的连接 在连接时 其他类对象会被转换成字符串 另外 运算符 把两个字符串连接的结果放进第一个字符串里 在前面的例子里 当想把几项输出内容输出在同一行里时使用的就是 运算符 3 4常用Java数值计算方法 在Java的类Math中包含了一些数值常量 如E和PI 以及一些基本的数值计算方法 如指数 对数 平方根和三角函数等 为用户程序进行数值计算带来了方便 表3 14列出了一些常用的数值计算方法 表3 14类Math中常用的数值计算方法 续表 3 5表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列 3 5 1类型转换在一个表达式中可能有不同类型的数据进行混合运算 这是允许的 但在运算时 Java将不同类型的数据转换成相同类型 再进行运算 1 自动类型转换 表3 15不同类型数据之间的转换规则 2 强制类型转换 表3 16不会丢失信息的类型转换 3 表达式求值中的自动类型提升Java语言对表达式求值的自动类型提升规则如下 所有byte和short类型提升为int类型 若一个操作数是long类型 则整个表达式提升为long类型 若一个操作数是float类型 则整个表达式提升为float类型 若有double类型 则表达式值为double类型 自动类型提升对数据的运算带来了方便 但也容易引起编译错误 3 5 2优先级 表3 17运算符优先级 3 6包装类 表3 18基本类型与包装类 3 7输入输出初步 3 7 1输出inti 10 j 20 System out println i i j j 输出为i 10 j 20System out println i j 输出为30System out println sum i j 输出为sum 1020System out println sum i j 输出为sum 30 3 7 2输入在Java中 未提供与System out print 对应的输入方法 仅有一个System in read 可用于从键盘输入整数值在0 255之间的int类型数据 若程序运行时需要从键盘输入其他类型的数据 则需要使用Java提供的输入输出功能 不论从键盘输入何种类型的数据 Java从键盘接收数据都是以字符串的形式进行 再根据实际数据的需要进行类型转换 在Java中实现输入时要使用异常处理机制 这是Java特有的部分内容 3 8流程控制 3 8 1语句和块1 语句在Java语言中 有下面几类语句 空语句 标识语句 声明语句 表达式语句 分支语句 循环语句 跳转语句 同步语句和异常语句等 有两种基本的语句 表达式语句和声明语句 1 表达式语句 赋值表达式 包含赋值运算符 或复合赋值运算符之一 或 的前后缀形式 方法调用 无论它是否有返回值 对象创建表达式 用new来创建一个对象的表达式 2 声明语句 2 块用一对花括号 将零个或多个语句括起来 就构成一个块 也称复合语句 在块中允许包含另一个块 块嵌套 在Java语言中 允许一个块出现在任何单一语句可以出现的地方 块体现了Java面向对象程序设计的封装概念 在一个块中声明的局部变量的作用域是该变量的声明开始点到最小的包含其声明的块结束 3 8 2if else分支语句1 用单个if语句实现单选 双选结构2 用多个if语句实现多选结构 1 if语句并列 2 if语句嵌套 在用if嵌套方法进行多分支程序设计时 将if语句嵌套在else部分 若需要在if else语句的statement1部分嵌套if语句 则将内层的if语句用括号括起来 指明正确的if与else的配对组合 3 8 3switch语句使用switch语句时 需要注意的是 各个case后的常量值value应各不相同 通常在每一种case情况后都应使用break语句 否则 遇到第一个相等情况后 下面break前的所有语句都会被执行 包括default后面的语句 若有的话 各个分支的statement可以是一条或多条语句 不必使用复合语句 不同case后的语句statement相同时 可以合并多个case子句 switch语句在用表达式的值比较每一个case后的值value时 是从前往后顺序进行的 若各个值value互不相同 则case子句的顺序可任意 3 8 4循环语句一个循环一般包括4个部分 初始化部分 用来设置循环的一些初始条件 如累加器清零等 循环体部分 重复执行的一段程序 可以是一条语句 也可以是一块语句 循环条件变更部分 在本次循环结束 下一次循环开始前执行的语句 常用形式为一个计数器值的增减 终止部分 一般为布尔表达式 每一次循环都要对该表达式求值 以检查是否满足循环终止条件 1 while语句Java执行while循环语句时 可以分解为以下步骤 计算表达式boolean expression 循环条件 检查boolean expression的值 如果值为true 则执行 否则执行 执行给定语句statement 即执行即循环体 其中应该包含对循环条件有影响的语句 使得循环条件会发生相应变换 转移到 执行 循环结束 2 do while语句do循环语句的执行过程 执行给定语句statement 即执行即循环体 其中应该包含对循环条件有影响的语句 使得循环条件会发生相应变换 计算表达式boolean expression 循环条件 检查boolean expression的值 如果值为true 则执行 否则执行 循环结束 3 for语句for语句执行步骤 计算表达式expression1 只计算一次 默认时表示无初始内容 接着检查表达式expression2的值 如果值为true 转向 执行 如果值为false 则转到 执行 执行语句statement 即执行循环体部分 由于for语句有expression3 因此在循环体中不需要安排对循环条件有影响的语句 执行expression3 转到 执行 循环结束 省略表达式expression1 在表达式expression1中包含变量定义等更多的内容 省略表达式expression3 在表达式expression3中包含更多内容 同时省略表达式expression1和表达式expression3 同时省略所有表达式expression 4 循环嵌套循环嵌套是指在某个循环语句的循环体中又包含另一个循环语句 也称多重循环 外面的循环语句称为 外层循环 外层循环的循环体中的循环称为 内层循环 3 8 5标号和其他流程控制语句1 标号标号是一个标识符 用于给某语句或程序块的首地址取一个名字 2 break语句3 continue语句 3 9数组和字符串 数组是可以通过下标定位的同类型数据的集合 它是程序设计过程中常用的数据结构 数组中的每个数据称为元素 相同数据类型的元素按照一定顺序线性排列就构成了数组 1 数组元素类型Java的引用类型可以是以下两种数组元素类型 1 数组元素可以是接口类型 它的值是空引用或任何实现了该接口的类型的实例 2 数组元素可以是抽象类类型 它的值是空引用或该抽象类的非抽象子类的实例 2 数组类型在Java中 数组类型是通过指定数组的元素类型和数组维数来定义的 用数组元素类型名后面跟一对或多对方括号 来表示 3 数组维数数组可以是一维也可以是多维数组 维数对应于用来识别每个数组元素的下标个数 在数组类型中的方括号 的数目表示数组的维数 4 数组长度数组的每一维都有长度 即数组的每一维所包含的元素个数 Java允许数组的元素个数为零 此时称数组为空 在Java中 数组的长度不是数组类型的一部分 因此 数组的长度必须在为数组分配内存空间时指定 3 9 2数组的声明与使用1 声明数组2 创建数组空间3 创建数组元素和初始化 1 数组的类型是基本数据类型时 数组元素的创建和初始化 2 数组的类型是引用类型时 数组元素的创建和初始化 4 数组的使用 1 访问数组 2 数组的应用举例 3 9 3多维数组1 多维数组的声明2 多维数组的创建 1 直接为数组的每一维分配空间 2 从数组的第一维开始 依次为每一维分配空间 3 多维数组的使用 3 多维数组的初始化 1 直接为数组的每个元素赋值 2 在声明数组的同时进行初始化 3 非基本数据类型多维数组的初始化 3 9 4数组操作的常用方法1 获得数组长度的操作可以使用两种方法获得数组的元素个数 1 数组的length属性 如下所示 数组名 length 2 利用Array类的静态方法getLength 它的原型如下 publicstaticintgetLength Objectarray 2 数组的复制操作使用arraycopy时要注意几个方面 1 复制超出了源或目的数组的下标范围会产生IndexOutOfBoundsException的异常 2 源与目的数组的元素类型不一致会产生ArrayStoreException的异常 3 源或目的数组为null会产生NullPointerException 3 使用Arrays类对数组进行操作 1 数组的排序操作sort方法的主要形式有两种 publicstaticvoidsort 数组 publicstaticvoidsort 数组 起始下标 结束下标 2 数组的查找操作 3 数组的填充操作 publicstaticvoidfill 数组 value publicstaticvoidfill 数组 起始下标 结束下标 value 4 判断数组是否相同的操作
展开阅读全文
相关资源
相关搜索

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


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

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


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