java程序设计第三章PPT详细讲解.ppt

上传人:max****ui 文档编号:6362260 上传时间:2020-02-23 格式:PPT 页数:69 大小:226KB
返回 下载 相关 举报
java程序设计第三章PPT详细讲解.ppt_第1页
第1页 / 共69页
java程序设计第三章PPT详细讲解.ppt_第2页
第2页 / 共69页
java程序设计第三章PPT详细讲解.ppt_第3页
第3页 / 共69页
点击查看更多>>
资源描述
标识符 关键字和类型 表达式与程序流控制 数组 第三章JAVA语言基础 标识符 标识符包括 变量名 类名 方法 函数 名以字母 或 开头大小写敏感 且长度没有限定如 usernameuser name sys varl change 风格约定 不作为变量名 方法名开头变量名 方法名首单词小写 其余单词只有首字母大写 如anyVariableName接口名 类名首单词第一个字母大写 如AnyClassName常量 完全大写ANYCONSTANTVALUE注释 注释一行 注释一行或多行 可用javadoc命令转化为HTML文件 标识符 关键字 当前不使用 为Java2增加的 Java基本数据类型 逻辑型 文字型 整数类型 浮点型 逻辑型 boolean 取值 true false如 booleantruth true 基本数据类型 逻辑型 文字型 char Stringchar 16位的unicode 国际码 字符 如 charmychar Q unicode字符集是一套字符编码系统 可以支持各类文字的字符 达34168个字符 定义形式 a t u String是类 Stringgreeting GoodMorning n 基本数据类型 文字型 char型程序例 publicclassCharToInt publicstaticvoidmain Stringargs intintResult intVar 10 charcharVar 语 intResult intVar charVar System out println Thecharis charVar System out println Thechar sUnicodeis u Integer toHexString charVar System out println Theintvaluecorrespondingtothecharis newInteger charVar toString System out println Int intVar addsthechar theresultis intResult 改改程序看结果 System out println Thecharis intResult System out println Thecharis char intResult System out println Thecharis charVar 1 System out println Thecharis char charVar 1 整数类型 byte short int和long 类型长度取值范围byte8位 27 27 1short16位 215 215 1int32位 231 231 1long64位 263 263 1 基本数据类型 整数类型 Java中缺省整型是int可有3种形式 十进制 八进制 十六进制十进制八进制十六进制int2407710XAB07long24L0771L0XAB07L 整型常量 浮点型 float和double长度 float 32位double 64位缺省是double类型 如3 14 double型 表达方法 E或e 科学记数法6 02e23F或f 表示float类型 6 02e23FD或d 表示double型 2 718D 基本数据类型 浮点型 例3 2基本数据类型 Assign java 改改程序看结果 floatz 3 414 doublew 3 1415f c u0001 str Hi tout tthere n str Hi 0out tthere n x 6 0 exp3 3SomeConstTest java 改改程序看结果 System out println Float NaN 0 0 类的初步概念 日期 类型的两种不同表达 方式一 intday month year 定义年 月 日intd1 m1 y1 定义一个日期intd2 m2 y2 定义另一个日期方式二 classDate intday intmonth intyear voidsetDate inta intb intc Java用class创建新的类型 structDate intday intmonth intyear 类的变量的声明与引用 在Java中 一个类声明后 不能直接引用 必须经过实例化 基本类型声明后 直接开空间 如 inta a 12 非基本类型不直接开空间 而是开辟引用空间 数据空间没有开 只有通过实例化 才能给数据开辟空间 记不记得电视机遥控器 类的变量的声明与引用 例 1Datetoday 2today newDate today 遥控器 电视机 引用变量之间的赋值 1Datea b 2a newDate 3b a 0 xabcd 0 xabcd 变量及作用域 变量的定义 变量的值是可以变化的 它的定义包括变量名 变量类型和作用域几个部分 注意以下几点 1 变量名必须是一个合法的标识符 变量名应具有一定的含义 以增加程序的可读性 2 变量类型可以为前面所说的任意一种数据类型 3 声明一个变量的同时也就指明了变量的作用域 变量的作用域指明可访问该变量的一段代码 按作用域来分 变量可以有下面几种 局部变量 类成员变量 方法参数 异常处理参数 局部 local 变量是在一个方法内定义的变量 也被称作自动 automatic 临时 temporary 或栈 stack 变量 当执行进入一个方法时 局部变量被创建 当执行离开该方法时 局部变量被清除 它的作用域为它所在的代码块 整个方法或方法中的某块代码 在成员函数内定义的变量对该成员变量是 局部的 因而 你可以在几个成员函数中使用相同的变量名而代表不同的变量 在一个确定的域中 变量名应该是唯一的 通常 一个域用大括号 和 来划定 相对于一个方法的 局部 变量 如果在初始化之前想使用它 编译器会提示出错 如下面这样就是不允许的 voidf inti i i 1 exp3 4TestInit java inty 当一个对象被创建时 实例变量在分配存储器的同时被值初始化 初始化值如下表所示 补充例1 Java中的数据类型 SimpleTypes java补充例2 Java中变量的作用域 Scope java补充例3 Java中对象的初始化 InitVal java 运算符与表达式 与C不同之处 Java是强类型语言 类型限制比C严格 运算符的操作对象的类型会受到更多限制 Java不提供指针运算符 增加了对象操作符instanceof 字符串运算符 和零填充的右移 等 算术运算操作符 关系操作符 逐位异或 按位取反 逻辑操作符 异或 赋值操作符 其它操作符 type new instanceof Java操作符类别 补充例4 Java中算术运算符的使用 ArithOp java例3 5一元算术运算符的使用 TestUnary java 逻辑操作符与位操作符相同的 根据操作数判定是何种运算符 称为不短路与 或 称为短路与 或 逻辑操作符与位操作符 补充例5 Java中逻辑运算符的使用 LogicOp java 用 运算符连接字符串 Stringsalutation Dr Stringname Pete Seymour Stringtitle salutation name 则title值 Dr PeteSeymour StringandStringBuffer 一起看看网上的解释String是不可变类型StringBuffer是可变类型String赋值后不能改变StringBuffer则没有这个问题在内容需要变化的时候尽量用StringBuffer比如拼SQL语句的时候最好用StringBufferByhardas 孤魂一笑 String对象是不能更改的 java还有另外的一个标准库StringBuffer 这个对象是可以被直接更改的 当你对字符串进行转换的时候 如增加 删除 应该使用StringBuffer 如果你有静态字符串 只是把他们连接起来 String对象是最佳选择 Byzeusguitar 选择 Stringmsg kkkk msg llll 你没有改变msg的内容 实际上是你抛弃了最初的 kkkk 对象 重新生成了 llll 对象 Stringmsg kkkk Stringm msg msg llll 现在你得到了两个对象 kkkk llll msg和m是引用 好比是个指向对象的东东 Bywkrain 戈壁一沙鸥 右移操作符 和 带符号右移1010 2 111010 无符号右移 以0填充1010 2 001010 补充例6 Java中位运算符的使用 BitOp java Java强制类型转换 一般形式 type expression例 float x 2对强制类型转换的限制 整型与浮点型可以相互转换 但基本类型和数组 对象等复合类型之间不能互相转换 补充例7 Java中的类型转换 TypeConversion java 程序流控制 while do while for if else switch while语句举例 例3 6 WhileDemo java补充例8 用while语句计算10的阶乘 WhileOp java StringcopyFromMe g do while语句示例 例3 7 DoWhileDemo java补充例9 用do while语句计算10的阶乘 DoWhileOp java StringcopyFromMe g for语句 例3 8 ForDemo java补充例10 用for语句计算10的阶乘 ForOp1 java补充例11 for语句的嵌套 ForOp2 java if语句 例3 9 IfElseDemo java补充例12 求三个数中的最大者 MaxOfThree java switch语句 例3 10 SwitchDemo javaSwitchDemo2 java补充例13 根据不同的四则运算符 对两个实数执行相应的运算并输出结果 SwitchOp2 java 循环跳转语句 break label 从switch语句 循环语句中跳出 continue label 跳过标号循环体的其余部分 不带label跳过最内层循环的剩余语句 label statement 例3 11 BreakDemo java例3 12 3 13例3 14ContinueWithLabelDemo java 请考虑不用label如何处理 数组 声明数组 数组的创建与初始化 多维数组 数组拷贝 数组 数组中的元素都是同一种类型 数组的长度在创建的时候确定 并且在创建后固定不变 如果要建立存储不同类型数据的集合 或者要求集合的长度可以动态变化 可以使用Collection 集合 类 数组声明 可以声明基本类型和类类型的数组声明包含两部分 数组类型与数组名称 格式 C C 标准形式 chars Pointp char s Point p 推荐使用 数组的声明 在Java中数组作为类来处理 所以数组声明并不创建实例对象 而是创建一个可用来引用该数组的引用 数组的创建与初始化 可以象其它对象一样 使用new来创建 格式 newelementType arraySize 基本类型数组例 char s s newchar 20 创建有20个字符的数组 尝试画出内存布局图 例3 15 ArrayDemo java 对象数组 除了基本类型以外 还可以创建对象类型的数组 Point p 创建1个引用p newPoint 100 创建100个引用创建100个Point对象 p 0 newPoint p 1 newPoint 数组的初始化 数组元素是被初始化的 字符串 u0000 null对象数组 null用初始值创建数组inta 1 2 3 Stringnames Jack Wang Lee Dated newDate newDate newDate 对象数组举例 例3 16 ArrayOfStringsDemo java 多维数组 声明方法inta 或int a 实例化a newint 4 4 直接为每一维分配内存 生成规则数组a newint 4 只有最后维可以不给值 其它都要给 可 以生成不规则数组a 0 newint 10 a 1 newint 5 数组成员变量length 数组元素个数 a newint 10 12 a length 10 a 0 length 12 多维数组示例 补充例 ArrayOfArrays java例3 17 ArrayOfArraysDemo1 java例3 18 ArrayOfArraysDemo2 java 数组拷贝 数组一旦创建 其大小不可变 但已有的数组变量可指向全新的数组 该数组原指的内容丢失inta newint 6 a newint 10 不必重新声明a数组变量之间赋值是引用赋值 1inta newint 6 2intb 3b a 数组数据的复制 通过拷贝数组的函数 System arrayCopy Objectsource intsrcIndex Objectdest intdestIndex intlength 数组拷贝 数组拷贝示例 例3 19 ArrayCopyDemo java补充例ArrayCopy java 数组拷贝示例 运行结果 数组排序 思考 对数组 9 1 3 4 2 5 7 6 8 进行排序 如何写程序 补充例 ArraySort java 说明 在编制程序中可以直接使用类Arrays提供的某个sort方法 来对数组排序 sort方法常见的使用形式如下 publicstaticvoidsort Xxxa 该方法用改进的快速排序方法对指定的数组a进行排序 其中数组a是类型为char byte short int long float double或者boolean的一个数组 2 查找publicstaticintbinarySearch Xxxa Xxxv 该方法用折半查找算法在指定的数组a查找值为v的元素 其中数组a是类型为char byte short int long float double或者boolean的一个数组 v是与数组a的元素类型相同的值 3 填充publicstaticvoidfill Xxxa Xxxv 该方法用指定的指定的值v来填充数组a 执行该方法的结果是 数组a中所有元素的值都变成v 其中数组a是类型为char byte short int long float double或者boolean的一个数组 命令行参数 每一个JavaApplication程序都有一个含有Stringargs 参数的main方法 该方法的说明如下 publicstaticvoidmain Stringargs 这个参数Stringargs 表示main方法接收了一个字符串数组 该字符串数组就是从命令行上传递过来的参数 由于JavaApplication程序可以用命令行来启动 所以命令行参数就成为向JavaApplication程序传递参数数据的常用而且有效的手段 补充例CommandParam java 上机题 P7710 11 12 15
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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