《Java编程基础》PPT课件.ppt

上传人:sh****n 文档编号:6611034 上传时间:2020-02-29 格式:PPT 页数:63 大小:336.05KB
返回 下载 相关 举报
《Java编程基础》PPT课件.ppt_第1页
第1页 / 共63页
《Java编程基础》PPT课件.ppt_第2页
第2页 / 共63页
《Java编程基础》PPT课件.ppt_第3页
第3页 / 共63页
点击查看更多>>
资源描述
第2章Java编程基础 主要内容 Java程序基本结构标识符与关键字基本数据类型常量和变量运算符与表达式数学函数字符串基本输入输出 本章知识框图 学习重点 熟悉Java编程入门概念 掌握Java语法基础 熟练应用数学常量 函数和字符串 2 1Java程序结构 例2 1 一个简单的Java程序 该程序用于说明Java程序的基本结构 源文件位置 光盘 chapter02 java02 01 java java02 01 java 在控制台输出字符串publicclassjava02 01 publicstaticvoidmain String args System out println Java你好 注意 Java区分大小写 例如class不同于Class 任何大小写错误都将导致程序无法运行 2 1 1注释 Java有两种类型的注释 第一种是以 开始的注释 开始直到行尾为注释内容 注释可以放在一行 或者放在一行末尾 例如 System out println Java你好 在控制台输出信息第二种注释以 开始 到 结束 和 包含的注释块可以书写在多个行中 例如 java02 01 java第1个例程在控制台输出字符串 注释不能嵌套 2 1 2初识类 代码第2行中的关键字public是访问修饰符 说明类java02 01可以在哪些地方访问 关键字class声明一个类 类的名字为java02 01 类的名字以字母开始 包含数字 字母和下划线 Java对类的名字长度没有限制 在定义类名时 若使用了多个单词 则习惯性把单词的第一个字母大写 例如MyFirstJava Java程序的所有代码都必须包含在类中 Java程序源代码文件名必须与类的名字相同 大小写完全相同 以 java作为扩展名Java源代码编译后生成字节码文件 字节码文件的名称与类名相同 以 class作为扩展名 2 1 3语句和代码块 Java的语句以分号 结束 可以根据需要将一条语句书写在多个代码行中 Java编译器自动忽略多余的空格 例如 System out println Java123 代码中的花括号 表示代码块 类和方法的代码都必须以坐花括号 开始 右花括号 结束 书写代码时 建议将匹配的花括号上下对齐 花括号内的代码增加一级缩进 2 1 4main方法 Java程序在运行时 总是首先执行main方法 所以main方法是Java应用程序的入口 每个Java应用程序都必须有一个main方法 main方法必须声明为publicstaticvoid 本例代码第5行惟一可以改变的是args 即main方法的参数名字 可以将args用任何其他合法的标识符代替 2 2标识符与关键字 标识符是Java程序使用的符号 用于表示类 方法 参数以及对象的名称 一个标识符必须以字母 下划线或Unicode货币符号 如 等 开始 其后跟任意的字母 数字 下划线或货币符号 Java使用Unicode字符集 所以可使用Unicode字符来定义标识符 例如使用中文字符 Java关键字 2 3基本数据类型 数据类型决定计算机如何存储和处理数据 Java的基本数据类型包括布尔型 字符型 四种整数类型和两种浮点类型 说明 Java的数据类型还包括引用数据类型 类 接口和数组属于引用数据类型 2 3 1布尔型 布尔型 boolean 只有两个值 true 逻辑真 和false 逻辑假 一个布尔型数据在内存中占1位的存储空间 布尔型数据不能与其他类型的数据进行相互转换 布尔型数据常用于逻辑条件判断 在C 中 可以用数字或指针等充当布尔值 0相等于布尔值false 非零值相当于布尔值true 但在Java中不允许这样 下面语句若放在C 中 x可以是非布尔类型 若放在Java中 x只能是布尔类型 if x 下面的语句使用数字5作为逻辑条件 Java编译器会提示类型不兼容 if 5 2 3 2字符型 字符型 char 常量是用单引号括起来的单个字符 字符型数据占用两个字节的存储空间 存储为Unicode编码 传统的ASCII码占1个字节 有128个字符 ASCII码对应Unicode编码的前128个字符 一些特殊字符需使用转义字符表示 表2 2Java常用的转义字符 char在Java中实际上属于整数类型 可与整数类型或浮点类型的数相互转换 char型数据可执行算术运算 在运算时作为int型数据 用其Unicode码进行计算 下面的例子使用char型变量和常量执行算术运算 例2 2 char型数据用于算术运算 publicclassjava02 02 publicstaticvoidmain String args charc1 A charc2 c3 c1 1 c1加1 得到字符 B c2 char c1 1 c1 1得到int型的67 这里必须用char强制转换类型c3 A 3 A 和 2 的Unicode码相加 得到116 即 t 的Unicode码System out println c1 输出BSystem out println c2 输出CSystem out println c1 1 输出67System out println c3 输出tSystem out println A 3 输出116 2 3 3整数类型 Java的整数类型包括byte short int和long 整数指不带小数点的数值 在Java种 整数常量默认为int型 1 127 32760和 2147483648都是int型常量 要表示long型常量 可在数值后使用后缀L 例如 1L 127L 32760L和 2147483648L都是long型常量 也可用L的小写作为long型后缀 但这容易与数字1混淆 建议不要使用 表2 3Java的整数类型 8进制和16进制 以数字0开始整数被认为是8进制 例如 010 十进制的8021 十进制的17以0 x或0X开始的整数被认为是16进制 16进制中的10到15用字母A到F或 a到f 表示 例如 0 x10 十进制的160 x21 十进制的33 2 3 4浮点类型 Java的浮点类型包括float 单精度浮点型 和double 双精度浮点型 float型取值范围为 3 40282347E38到3 40282347E38 精确到8或9位有效数字 一个float型数据在内存中占用32位的存储空间 浮点型常量默认为double型 可用f或F作为后缀表示float型常量 例如 1f 2 5F和1 24E8f double型取值范围为 1 79769313486231570E308到1 79769313486231570E308 精确到16或17位有效数字 一个double型数据在内存中占用64位的存储空间 可用d或D作为后缀表示double型常量 例如 1d 2 5D和1 24E8D 2 3 5枚举类型 枚举类型用于处理具有固定值的数据 例如 rgb三原色分别是红色 绿色和蓝色 为了处理这种有限制的数据 JDK1 5提供了枚举类型 例如 enumRGB 红色 绿色 蓝色 定义RGB枚举类型后 可以定义RGB类变量 例如 RGBr RGB 红色 枚举类型变量的值只能是给定的枚举值或null 枚举变量的值可以直接输出 例如 System out println r 输出 红色 2 4常量与变量 2 4 1常量常量指在程序中其值不会变化的量 除了各种字面常量之外 在Java中可使用final关键字声明常量 例2 5 声明和使用final常量 源文件位置 光盘 chapter02 java02 05 java java02 05 java 声明和使用final常量publicclassjava02 05 publicstaticvoidmain String args finalfloatPI 3 14159f 声明的同时赋值finalfloate 声明e 2 718218f 赋值System out println PI PI System out println e e 2 4 2变量 变量是用于存储数据的标识符 在程序中可多次修改变量的值 声明变量Java要求变量在使用之前必须进行声明 变量声明格式如下 数据类型变量名 变量的命名规则遵循标识符的命名规则 例如 charStudentName bytesocre intx1 longy2 booleanisPassed 可同时命名多个变量 变量名之间用逗号分隔 例如 intx1 x2 x1和x2都是int型 赋值和初始化 可在声明的同时初始化变量 例如 intn 5 这里的等号 表示赋值 也可先声明变量 然后用赋值语句进行初始化 例如 intn 声明n 5 赋值 表2 4各种数据类型的初始值 2 5运算符和表达式 Java的运算符包括 算术运算符 关系运算符 位运算符 逻辑运算 赋值运算符和条件运算符 参与运算的数据称为操作数 只需要一个操作数的运算符称为一元运算符 需要两个操作数的运算符称为二元运算符 需要三个操作数的运算符称为三元运算符 2 5 1算术运算符与算术表达式 Java的算术运算符包括 加 自加 减 自减 乘 除 和 取余 由算术运算符连接构成的表达式称为算术表达式 和 运算符如果两个操作数都是数值型 运算符执行算术加法 只要有一个操作数为字符串 运算符就执行字符串连接 例如 System out println 3 5 输出8System out println x 3 5 输出x 35 运算符作用于变量 表示变量的值加1 有前缀和后缀两者形式 例如 n n 这两条语句作用相同 都令变量n的值加1 当 运算符用于表达式中时 前缀式表示变量值加1后再用于表达式计算 后缀式表示变量用于表达式计算后再加1 在类中 可用staticfinal声明类常量 类常量在类的方法之外声明 和 运算符 运算符作为二元运算符时执行算术减法 例如 5 3 运算符作为一元运算符时表示取负 例如 3 x 取x的相反数 运算符表示变量值减1 有前缀式和后缀式两种 用法与 运算符类似 运算符Java用 表示乘法运算符 在使用时应特别注意乘法表达式不能省略 例如 数学表达式2x 5对应的Java表达式为2 x 5 运算符 运算符的两个操作数都是整数时执行整数除法 整数除法先执行除法 然后取结果的整数部分作为整数除法的计算结果 例如 5 2的结果为2 注意 整数除零会产生Java编译器错误 运行时产生ArithmeticException异常 浮点数除零产生无穷大或NaN 运算符 运算符求余数 x n表示计算x除以n的余数 在求余时 余数的符号始终与被除数一致 例如 5 2和5 2的结果为1 5 2和 5 2的结果为 1 2 5 2关系运算符与关系表达式 关系运算符用于比较两个操作数 比较的结果为boolean值true或false Java的关系运算符包括 大于 大于等于 5的结果为false 3 4 5的结果为true 2 5 3位运算符 位运算用于对整数的二进制数值的某些位执行操作 Java的位运算符包括 按位与 按位或 按位异或 按位取反 右移 和 右移 若位运算的任意一个操作数为long类型 则运算结果为long类型 否则结果为int型 移位运算的左侧操作数为long类型时 运算结果为long类型 否则结果为int型 2 5 4逻辑运算符和逻辑表达式 逻辑运算符用于对逻辑值 true和false 执行运算 Java的逻辑运算符包括 逻辑与 逻辑或 和 逻辑非 由逻辑运算符连接构成的表达式称为逻辑表达式 和 运算符按照 短路 方式计算 对于表达式x y 若表达式x的值为false 整个表达式x y的值即可判定为false 表达式y将不计算 2 5 5赋值运算符 赋值运算符 是最简单的运算符 用于将等号右侧的常数或表达式的值赋给等号左侧的变量 例如 x 5 将常量5存入变量xy x 将变量x的值存入变量yz x y 5 先计算x y 5 然后将计算结果存入变量zJava允许在表达式中使用赋值运算符 这时将所赋的值用于表达式计算 例如 x y z 5 等价于x y z 5 x y和z都赋值为5a 3 b 6 b赋值为6 计算3 6 再将结果9赋值给a 2 5 6条件运算符 条件运算符 是一个三元运算符 其格式如下 表达式1 表达式2 表达式3表达式1是一个逻辑常量 逻辑表达式或关系表达式 计算时 如果表达式1的值为true 则条件运算的结果为表达式2的值 否则为表达式3的值 例如 max a b a b 这条语句执行后 max中为a和b中的最大值 2 5 7类型转换 在二元运算符中 如果两个操作数的数据类型不同 Java首先将其转换成相同数据类型 在基本数据类型中 boolean型不能与其他数据类型相互转换 数值数据类型 包括char byte short int long float和double 之间可以相互转换数据类型 数据类型转换可分为两者情况 可能损失精度和不损失精度 不损失精度时 Java可以自动完成数据类型转换 要损失精度时 必须用强制类型转换 数据类型转换可分为下列情况 char转换为short int long float和double 不损失精度 char转换为byte时 如果字符的Unicode编码在 0 127 之间时不损失精度 否则要损失精度 其他类型转换为char时 可能损失精度 整数类型 包括char 转换为浮点类型时 不损失精度 浮点类型转换为整数类型 包括char 时 可能损失精度 一般的情况 占用内存字节数少的向占用内存字节数多的类型转换时不损失精度 占用内存字节数多的向占用内存字节数少的类型转换时可能损失精度 2 6数学常量和函数 Java的Math类提供了多种数学函数 Java中称为方法 和常量 常量Math E表示数学常量E的近似值 常量Math PI表示数学常量的近似值 2 7字符串 Java提供了预定义的类来处理字符串和日期 2 7 1定义字符串变量字符串常量用双引号 作为定界符 例如 Java 123 Java定义了String类来处理字符串 用String可定义字符串变量 例如 Stringname Jake String类型的变量为对象变量 它可以调用String类定义的各种方法来处理字符串 Java使用 完成字符串连接操作 例如 Stringstr1 123 Stringstr2 abc Stringstr3 str1 str2 str3的值为 123abc 当操作数一个为字符串 另一个不是字符串时 后者将转换为字符串 Java中的所有对象均可转换成字符串 例如 Stringstr1 abc 123 str1的值为abc123Stringstr2 abc true str2的值为abctrue 2 7 2使用String类方法 返回字符串中的字符 String类的charAt方法返回字符串中的字符 例如 Stringname Jake charc name charAt 2 c的值为 k Java与C 处理字符串方法类似 字符串中字符的位置号从0开始 在字符串 Jake 中 字符 J 的位置号为0 字符 a 的位置号为1 返回指定字符的Unicode码 String类的codePointAt方法返回字符串中指定字符的Unicode码 例如 Stringname Jake intn name codePointAt 1 n的值为 a 的Unicode码 即97 字符串比较 String类的compareTo和compareToIgnoreCase方法用于比较两个字符串 后者忽略大小写 例如 Stringname Jake intn pareTo Jcke 返回 c 减 a 的值 即 2intm pareToIgnoreCase JCke 忽略大小写 返回 2两个字符串相同时比较结果为0 不同时比较结果为对应第1个不同字符的Unicode码差值 测试字符串包含 String类的contains方法用于测试是否包含另一个字符串 包含返回true 不包含返回false 例如 Stringname Jake booleann name contains ak n的值为truebooleanm name contains ae m的值为false 比较字符串是否相等 String类的equals方法比较两个字符串是否相等 相等返回true 不等返回false 例如 Stringname Jake s2 Tome System out println name equals Jake 输出trueSystem out println name equals s2 输出false 返回字符串位置 String类的indexOf方法用于返回指定字符或字符串在字符串中第1次出现的位置 若不包含指定字符或字符串 则返回 1 indexOf方法格式如下 indexOf 参数1 参数2 参数1可以是Unicode码或字符串 参数2是开始查找的位置 例如 例如 Stringname Jake Farm inta name indexOf 97 返回字符 a 第一次出现的位置 即1intb name indexOf 97 2 返回从第2个字符开始 a 第一次出现的位置 即6intc name indexOf ak 返回字符串 ak 第一次出现的位置 即1intd name indexOf ak 2 返回从第2个字符开始 ak 第一次出现的位置 即 1indexOf方法用于返回指定字符或字符串在字符串中第1次出现的位置 计算字符个数 String类的length方法返回字符串中的字符个数 例如 Stringname Jake intn name length 返回4 字符串修改 String类的replace方法用于修改字符串中的字符或子字符串 例如 Stringname 123123 s2 s2 name replace 1 A 把字符串中的 1 替换为 A System out println s2 输出A23A23s2 name replace 12 ab 把字符串中的 12 替换为 ab System out println s2 输出ab3ab3 返回子字符串 String类的substring方法返回子字符串 substring n 返回从第n个字符开始到末尾字符构成的子字符串 substring n m 返回从第n个字符开始到第m个字符之前的字符构成的子字符串 例如 Stringname abcdef System out println name substring 2 输出cdefSystem out println name substring 2 4 输出cd 大小写转换 String类的toLowerCase方法将字符串中所有字母转换为小写 toUpperCase方法将字符串中所有字母转换为大写 例如 Stringname ab12AB System out println name toLowerCase 输出ab12abSystem out println name toUpperCase 输出AB12AB 删除空格 String类的trim方法删除字符串开头和末尾的空格 例如 Stringname abc System out println 123 name trim 123 输出123abc123 2 8基本输入和输出 输入指从键盘等外部设备读取数据到程序中 输出指将程序中的数据输出到控制台等设备 2 8 1基本输出 向控制台输出可以使用System out对象的print println和printf方法 print和println前面以多次使用了System out println向控制台输出数据 System out println输出数据后 会附加输出一个换行符号 即换行 System out print也向控制台输出数据 但不换行 printf JDK1 5提供了printf方法来实现更为精确的格式输出控制 它与C中的printf函数类似 例如 doublex 123 456789 System out printf x 6 2f x 输出123 46printf方法参数的基本格式如下 格式控制字符串 输出参数1 输出参数2 格式控制字符串中以 开始为格式说明符 例如 6 2f中的6表示输出总宽度 句点符号表示包含小数点 2表示小数位数最多两位 f为转换符 表示按浮点数格式化 表2 14printf方法的转换符 表2 15其他用于printf方法的格式符 表2 16用于printf方法的日期格式符 2 8 2基本输入 Java提供了多种方法来实现数据的输入 1 使用对话框输入数据使用javax swing包中JOptionPane类的showInputDialog方法可创建一个输入对话框 用户输入以字符串返回 如果要输入整数或浮点数 可使用Interger parseInt或Double parseDouble方法将字符串转换成数值 例如 Strings JOptionPane showInputDialog 输入整数 intn Integer parseInt s 2 从控制台输入使用JDK1 5提供的System in 标准输入流 中的Scanner类可实现从控制台输入数据 首先定义一个Scanner类对象 例如 Scannerinput newScanner System in 然后调用Scanner类对象的下列方法来输入数据 next 输入字符串 字符串以空格结束 nextLine 输入一行作为字符串 可以包含空格 nextInt 输入整数 nextDouble 输入浮点数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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