




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务2:处理考试系统中的数据,目标本模块通过案例中定义的数据、实现的代码段为引线,着重介绍Java语言中的基本数据类型、运算符与表达式、程序控制结构以及数组的概念等Java语言中基础的内容。对于Java初学者,首先要理解这些基本概念,掌握Java的基本语法,才能为今后的学习奠定坚实的基础。,学习本模块涉及哪些重要内容?,本模块导读学习程序设计语言的第一步是熟悉该语言支持的数据结构、程序控制语句语法等基本问题,学习Java也不例外。Java作为一门新兴的高级语言,具有数据结构简单、丰富,以及程序控制语句通用、高效等优点。对于初学者来说,通过一个完整案例中简单的变量、常量、成员变量、成员方法定义,开始接触、熟悉Java语言的数据类型、程序控制语句应用方法的最佳途径。本模块通过案例中定义的数据、实现的代码段为引线,着重介绍Java语言中的基本数据类型、运算符与表达式、程序控制结构以及数组的概念等Java语言中基础的内容。对于Java初学者,首先要理解这些基本概念,掌握Java的基本语法,才能为今后的学习奠定坚实的基础。,学习本模块涉及哪些重要内容?,本模块要点掌握Java语言中基本数据类型和变量、常量的概念掌握Java语言中运算符和表达式的使用掌握Java语言中的几种程序控制结构掌握Java语言中数组的使用,任务一数据类型和变量常量,子任务1Java语言中的基本数据类型【案例】在单机版考试系统的ReadTestquestion.java文件中,有如下代码:importJava.io.*;importJava.util.*;publicclassReadTestquestionintscore=0;【1】longtime=0;【2】booleantestover=false;【3】,任务一数据类型和变量常量,子任务1Java语言中的基本数据类型代码详解定义变量score,数据类型为整型,赋初值为0定义变量time,数据类型为长整型,赋初值为0定义变量testover,数据类型为逻辑型,赋初值为false,任务一认识Java语言,子任务1Java语言中的基本数据类型知识点详解Java语言中数据类型的分类基本数据类型整数类型:整数类型简称整型。不含小数点的数字为整数类型数据,例如:-14、98、213、0等。整数类型又根据数据所占内存空间的大小和数字的范围分为字节型(byte)、短整型(short)、整型(int)和长整型(long)四种.字节型:字节型占一个字节的内存空间,取值范围为:-128127,即-2727-1。它使用关键字byte来定义字节整型变量。例如:bytex=33,任务一认识Java语言,子任务1Java语言中的基本数据类型知识点详解短整型:短整型占两个字节的内存空间,取值范围为-3276832767,即-215215-1。它使用关键字short来定义短整型变量,例如:shortx=456.整型:整型占四个字节的内存空间,取值范围为-21474836482147483647,即-231231-1。它用关键字int来定义整型变量,例如:intx=45。长整型:长整型占八个字节的内存空间,取值范围为:-9223372036854775808L9223372036854775807L,即-263263-1。它使用关键字long来定义长型整型变量,在声明长整型时,在整数后要加“L”或“l”以示区别。例如:longx=43L。,任务一认识Java语言,子任务1Java语言中的基本数据类型知识点详解浮点类型:浮点类型又称为实型,浮点类型是指那些包含有小数部分的数字,例如:-38.2、32.00、87.143等。浮点类型根据数据所占内存空间的大小和数字的范围分为单精度浮点型(float)和双精度型浮点型(double)两种。单精度浮点型:单精度浮点型占四个字节的内存空间,取值范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。它使用关键字float来定义单精度浮点型变量,例如:floatx=123.5f。单精度浮点型的数据其最后一个字符之后必须加“F”或“f”,如果数据的最后一个字符后没有“F”或“f”,则默认为double类型的数值。例如:1233.539f,1289.97F,123.0f(f不可省略)。使用关键字float来定义单精度浮点型变量时,如果变量赋值时没加上后缀f,就会出错,例如:floatx=123.5(出错)。,任务一认识Java语言,子任务1Java语言中的基本数据类型知识点详解双精度型浮点型:双精度浮点型占八个字节的内存空间,取值范围对于负数从-1.79769313486232E308到-4.94065645841247E-324,对于正数从4.94065645841247E-324到1.79769313486232E308。它使用关键字double来定义变量,例如:doublex=12389.5439d(d可以省略)。逻辑类型:逻辑类型占一个字节的内存空间。逻辑型数据只有两个值true和false(必须小写),Java中的逻辑型数据和数字之间不能相互转换,即false和true不对应于任何0或非0的整数值。逻辑型变量的定义如下:booleanx=true。字符类型:字符类型用两个字节表示一个字符。Java中的字符型数据是16位无符号型数据,它表示Unicode集,而不仅仅是ASCII集。它使用关键字char来定义字符型变量,在定义字符类型字符时,要用一对单引号将字符括起来。例如:charc=x。,任务一认识Java语言,子任务2常量和变量变量变量的声明:Java语言的变量声明格式为:数据类型变量名列表;变量名必须是合法的Java标识符,并且具有一定的含义,以增加程序的可读性。变量类型可以是前面所讲的Java任意一种基本数据类型。变量的声明中多个变量间用逗号隔开。例如:floata,b,c;,任务一认识Java语言,子任务2常量和变量为变量赋初值:声明了一个变量后,系统会自动给变量赋一个默认的初始值,见表3-1。但一般要重新赋值,具体做法是使用赋值语句,语法格式为:变量名=数据;声明变量和给变量赋初值合并一起使用。其格式为:数据类型变量名=数据;一次声明多个同样类型的变量并且赋初值。其格式为:数据类型变量名1=数据,变量名2=数据,变量名n=数据;,任务一认识Java语言,子任务2常量和变量常量直接常量:就是常数,不使用任何标识符直接引用其值的常量。例如:123,-456,0,1.23f,true,a等。符号常量:就是常值变量,用关键字final把一个标识符定义为常量,例如:finalintMAX_SIZE=345。算术运算符与算术表达式算术运算符是针对数值类型操作数进行运算的符号。根据参与运算的操作数的数目,可将算术运算符分为双目运算符和单目运算符两种。,任务二运算符和表达式,知识点详解,表3-2算术运算符,任务二运算符和表达式,知识点详解关系运算符与关系表达式关系运算符用于比较两个操作数之间的关系。关系表达式返回一个逻辑结果:true或false。在Java语言中“true”或“false”不能用“0”或“1”来表示,而且这两个逻辑值必须用小写“true”与“false”。逻辑运算符与逻辑表达式Java语言中的逻辑运算符只对逻辑型数据进行运算,其表达式的值只有true或false两种取值。Java中提供了6种逻辑运算符,如表3-4所示。逻辑运算符的运算规则如表3-5所示。,任务二运算符和表达式,知识点详解,表3-3关系运算符,任务二运算符和表达式,知识点详解表3-4逻辑运算符,任务二运算符和表达式,知识点详解表3-5逻辑运算符运算规则,任务二运算符和表达式,知识点详解逻辑非运算符“!”的优先级高于其它逻辑运算符。相同优先级的逻辑运算符的执行顺序为自左右。位运算符与位表达式位运算的操作数是二进制比特位。Java语言中的位运算符如表3-6所示。,任务二运算符和表达式,表3-6位运算符,任务二运算符和表达式,知识点详解“”按位取反运算符:用来对一个二进制数按位取反,即将0变为1,将1变为0。“elseif(score=70)System.out.println(score+中等);elseif(score=60)System.out.println(score+及格);elseSystem.out.println(score+不及格);,任务三程序控制结构,知识点详解程序编译运行的结果是在控制台输出如下信息:65及格switch选择结构:在Java语言中,用switch结构也可以实现多分支选择,其语法格式为:switch(表达式)case值1:语句体1;break;case值2:语句体2;break;case值3:语句体3;break;,任务三程序控制结构,知识点详解case值n:语句体n;break;default:语句体n+1;break;表达式的值必须是整型或者字符型数据,并且要与各个case子句之后的常量值类型保持一致。一个switch语句中,可以有多个case子句,但是每个case之后的常量值不能相同。case后的值必须是整数值,case与值之间必须有空格。case子句中的语句体可以是一条或者多条Java语句,且可以不用花括弧“”括起来。,任务三程序控制结构,知识点详解一般情况下,每个case子句的最后是break语句。break语句是可选的,用来从整个switch语句中,跳出,继续执行switch语句下面的语句。如果没有使用break语句,则继续执行下面的case子句中的子语句体,直到遇到break语句,或者整个switch语句结束。break语句用来在执行完一个case分支后,使程序跳出switch结构,即终止switch语句的执行。当所有case子句中的常量值都与表达式的值不相同时,则执行default语句中的语句体,default子句也是可选的,所以如果表达式的值与任何一个case子句中的值都不匹配并且没有default子句,程序不作任何操作,直接跳出switch语句。,任务三程序控制结构,知识点详解当执行到switch语句时,首先计算表达式的值,然后依次与case子句中的常量作比较。当找到和表达式值相同的常量值后,将不在继续查找,并以此处作为进入花括弧中case子句的子语句体的插入点。插入点之前的子语句体不会再被执行,而插入点之后到第一个break语句之前的所有子语句体都会被执行。遇到break语句时,结束整个switch语句的执行,跳到其下面的语句,继续运行程序。如果表达式的值与每一个case后的值都不相等,则执行default后的语句,直至遇到该switch的结束符“”为止。,任务三程序控制结构,知识点详解例3-3:将例3-2的例子修改成用switch结构编写的形式。完整的程序score1.java如下:publicclassscore1publicstaticvoidmain(Stringangs)intscore=65;/定义成绩变量inta=score/10;switch(a)case9:/case子句System.out.println(score+优秀);/输出语句break;case8:System.out.println(score+良好);/输出语句,任务三程序控制结构,知识点详解break;case7:System.out.println(score+中等);/输出语句break;case6:System.out.println(score+及格);/输出语句break;default:System.out.println(score+不及格);/输出语句break;,任务三程序控制结构,子任务2循环结构【案例】在单机版考试系统的TestArea.java文件中如下代码:for(inti=0;ifileName.length;i+)【1】list.add(fileNamei);【2】,任务三程序控制结构,子任务2循环结构for循环for循环的语法格式为:for(循环初始值;循环条件;循环增量)循环体循环体可以是一条或者多条语句。一条语句时可以省略,但为了增强程序的可读性最好不要省略,多条语句时必须用一对括起。循环初始值是循环变量赋初值的表达式,循环初始值可以并列多个表达式,但它们之间要用逗号隔开。,任务三程序控制结构,子任务2循环结构循环条件必须为逻辑型的常量或者变量、关系表达式、或者逻辑表达式。因为循环条件是循环结束的条件,所以编写循环条件表达式时要避免程序陷入“死循环”。当循环条件的值为true时执行循环体,当循环条件的值为false时,循环结束,执行for语句下面的语句。循环增量是增量表达式,每次执行完循环体后,都要执行该表达式改变循环变量的值,以使得循环条件不成立,退出循环,从而避免“死循环”。循环增量不仅可以是增量表达式,还可以是减量表达式,即循环变量的值不仅可以由小到大,还可以由大到小。for循环在执行时,首先执行循环变量初始化操作,然后判断循环条件是否成立,如果成立,则执行循环体中的语句,然后执行增量部分。完成一次循环后,重新判断循环条件。,任务三程序控制结构,子任务2循环结构for循环通常用于循环次数能够确定的情况,但也可以根据循环结束条件完成循环次数不确定的情况。例3-4:利用for循环求自然数1-100的和。完整的for1.java程序代码如下:publicclassfor1publicstaticvoidmain(Stringargs)intsum=0;/存放结果的变量for(inti=1;i=100;i+)/初始化、执行循环体的条件、增量部分sum=sum+i;/循环体,任务三程序控制结构,子任务2循环结构System.out.println(1+2+3+100=+sum);/输出结果程序编译运行的结果,在控制台输出如下:1+2+3+100=5050while循环while循环的语法格式为:while(循环条件)循环体,任务三程序控制结构,子任务2循环结构循环条件必须为逻辑型的常量或者变量、关系表达式、或者逻辑表达式。循环体可以是一条或者多条语句。一条语句时可以省略,但为了增强程序的可读性最好不要省略,多条语句时必须用一对括起。while循环结构在每一次循环之前先计算循环条件的值,如果为true,则执行循环体;如果为false,循环体不被执行,转而执行循环体后面的语句。因此while循环体可能被循环执行多次也可能一次也不被执行。,任务三程序控制结构,子任务2循环结构循环条件必须为逻辑型的常量或者变量、关系表达式、或者逻辑表达式。例3-5:用while循环求5的阶乘。完整的jiecheng.java程序代码如下:publicclassjiechengpublicstaticvoidmain(Stringargs)ints=1,n=1;while(n=5)/循环条件s=s*n;/循环体n=n+1;System.out.println(5!=+s);/输出结果,任务三程序控制结构,子任务2循环结构程序编译运行的结果,在控制台输出如下:5!=120dowhile循环dowhile循环的语法格式为:do循环体while(循环条件);循环条件的值必须是逻辑型的,可以是逻辑型的常量或者变量、关系表达式、或者逻辑表达式。循循环体可以是一条或者多条语句。一条语句时可以省略,但为了增强程序的可读性最好不要省略,多条语句时必须用一对括起,任务三程序控制结构,子任务2循环结构不论循环条件的值是true还是false,循环体中的语句至少被执行一次。在do-while形式中,while(表达式)后边要有分号,而在while形式中,则不需要分号。while语句和do-while语句没有本质上的区别,在大多数情况下可以互相代替。当执行到do-while语句时,先执行do-while语句的里循环体,然后判断do-while语句中的循环条件。如果值是true,则再次执行循环体,然后再次计算循环条件的值,如果值是true,则继续执行循环体,如此反复循环下去。直到循环条件的值为false时,则不再执行循环体,循环结束,执行do-while下面的语句。,任务三程序控制结构,子任务3控制转移结构break语句break语句通常用在循环结构和switch结构中。它的作用是使程序从一个语句体的内部跳出去,继续执行该语句体下面的语句。例如,从switch语句的case子句中跳出,或者从循环体内跳出。在循环语句中,break语句一般与if语句一起使用,满足一定条件时跳出循环。例3-6:break语句的应用。该程序的循环条件永远为真,但是使用break语句可以强行退出循环。,任务三程序控制结构,子任务3控制转移结构完整的break1.java程序代码如下:publicclassbreak1publicstaticvoidmain(Stringargs)for(inta=1;true;a+)if(a=6)break;System.out.println(a);System.out.println(退出循环了!);,任务三程序控制结构,子任务3控制转移结构程序编译运行的结果,在控制台输出如下:12345退出循环了!continue语句,任务三程序控制结构,子任务3控制转移结构continue语句continue语句必须出现在循环语句中,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。对于while和dowhile语句直接进行循环条件测试。continue语句用于使程序流程转到循环语句的“”处。例3-7:continue语句的应用。该程序在循环条件为真的情况下,当符合某个条件时用continue语句强制跳过一些语句,达到控制循环运行结果的目的。,任务三程序控制结构,子任务3控制转移结构完整的continue1.java程序代码如下:publicclasscontinue1publicstaticvoidmain(Stringargs)for(inta=1;a=10;a+)if(a=5)continue;System.out.println(a);System.out.println(退出循环了!);,任务三程序控制结构,子任务3控制转移结构程序编译运行的结果,在控制台输出如下:678910退出循环了!,任务四数组,子任务1一维数组一维数组的定义一维数组的定义分为声明数组和为数组分配内存空间两步。第一步:声明数组。语法格式为:typearrayName;或typearrayName;type包括基本数据类型和对象数据类型。arrayName是数组名,数组名称必须符合Java标识符的命名规则。在里面不能有任何内容。,任务四数组,子任务1一维数组在里面不能有任何内容。例如:intresults;/声明了一个整型数组,数组名为resultsbooleaninfo;/声明了一个逻辑型数组,数组名为infodoubleb;/声明了一个双精度浮点型数组,数组名为b以上这些声明语句都是正确的。声明数组时只是告诉系统一个新的数组的名称和类型,数组本身不能存放任何元素,现在数组值均为null。,任务四数组,子任务1一维数组第二步:为数组分配内存空间。语法格式为:arrayName=newtypearraysize;new是为数组分配内存使用的关键字。arraysize是数组的大小,即数组包含多少个元素。例如:results=newint10;/数组results包含10个元素通常也可以将声明与分配内存空间合成一条语句。例如:intresults=newint10;/声明整型数组results,并为其分配10个元素(空间),任务四数组,子任务1一维数组一维数组的初始化当一个数组用new关键字为其分配内存后,系统自动用数据类型的缺省值初始化所有的数组元素。表3-8给出了一维数组缺省初始化值,但是在实际应用中通常不使用系统的数组默认值,而是重新给数组赋初值。,任务四数组,子任务1一维数组按照顺序依次给每个元素赋值。例如:给数组results赋值results0=81;results1=92;results9=45;在定义数组的同时直接给数组赋初值,初值的个数是数组的长度。初值必须用花括弧括起来,各初值之间用逗号(半角)分隔开。,任务四数组,子任务1一维数组例如:intresults=87,90,77,55,98,37,64,100;/数组有8个元素在使用第2种方法时,一定要注意定义和初始化要在一条语句中完成,也就是说不可以定义数组后,在另一条语句中再给数组赋初值例如,下面的写法是错误的。intresults;results=87,90,77,55,98,37,64,100;例3-8:定义一个一维数组d,重新给数组赋初值,最后输出数组长度以及数组的每一个元素值。,任务四数组,子任务1一维数组完整的array1.java程序代码如下:publicclassarray1publicstaticvoidm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国徐州房地产行业市场深度分析及投资战略规划报告
- 粉笔机项目投资可行性研究分析报告(2024-2030版)
- 2025年中国肠膜蛋白粉行业市场运营现状及投资战略咨询报告
- 以问题为导向:高中历史教学中培养学生问题意识的实践探索
- 中国自动启停系统行业市场深度分析及投资策略咨询报告
- 以迁移理论赋能高中数列教学:策略、实践与成效探究
- 以趣启思:高中英语阅读课堂导入策略与实践探究
- 以读促用:高中阅读教学中语用能力培养策略探究
- 中国SPA水疗行业市场运行现状及投资规划建议报告
- 中国超声波牙刷行业市场深度分析及投资战略规划报告
- 整体施工劳务服务方案
- 2025年度地下综合管廊代建合同模板
- 中药材种植安全事故应急预案
- 水泥搅拌桩施工项目进度管理措施
- 国家开放大学法学本科《商法》期末纸质考试第四大题案例分析库2025珍藏版
- 2024年山东省消防工程查验技能竞赛理论考试题库-下(多选、判断题)
- 人工智能赋能教师数字素养提升
- 换电站合同范例
- 【超星学习通】马克思主义基本原理(南开大学)尔雅章节测试网课答案
- 2025高考数学专项复习:圆锥曲线基础总结、二级结论、方法与技巧
- 安全生产标准化实施细则范例(3篇)
评论
0/150
提交评论