java程序设计案例教程-模块.ppt

上传人:za****8 文档编号:2949067 上传时间:2019-12-05 格式:PPT 页数:79 大小:1.18MB
返回 下载 相关 举报
java程序设计案例教程-模块.ppt_第1页
第1页 / 共79页
java程序设计案例教程-模块.ppt_第2页
第2页 / 共79页
java程序设计案例教程-模块.ppt_第3页
第3页 / 共79页
点击查看更多>>
资源描述
,模块三 Java程序设计基础,目标 本模块通过案例中定义的数据、实现的代码段为引线,着重介绍Java语言中的基本数据类型、运算符与表达式、程序控制结构以及数组的概念等Java语言中基础的内容。对于Java初学者,首先要理解这些基本概念,掌握Java的基本语法,才能为今后的学习奠定坚实的基础。,学习本模块涉及哪些重要内容?,本模块导读 学习程序设计语言的第一步是熟悉该语言支持的数据结构、程序控制语句语法等基本问题,学习Java也不例外。Java作为一门新兴的高级语言,具有数据结构简单、丰富,以及程序控制语句通用、高效等优点。对于初学者来说,通过一个完整案例中简单的变量、常量、成员变量、成员方法定义,开始接触、熟悉Java语言的数据类型、程序控制语句应用方法的最佳途径。 本模块通过案例中定义的数据、实现的代码段为引线,着重介绍Java语言中的基本数据类型、运算符与表达式、程序控制结构以及数组的概念等Java语言中基础的内容。对于Java初学者,首先要理解这些基本概念,掌握Java的基本语法,才能为今后的学习奠定坚实的基础。,学习本模块涉及哪些重要内容?,本模块要点 掌握Java语言中基本数据类型和变量、常量的概念 掌握Java语言中运算符和表达式的使用 掌握Java语言中的几种程序控制结构 掌握Java语言中数组的使用,任务一 数据类型和变量常量,子任务1 Java语言中的基本数据类型 【案例】 在单机版考试系统的ReadTestquestion.java文件中,有如下代码: import Java.io.*; import Java.util.*; public class ReadTestquestion int score=0; 【1】 long time=0; 【2】 boolean testover=false; 【3】 ,任务一 数据类型和变量常量,子任务1 Java语言中的基本数据类型 代码详解 定义变量score,数据类型为整型,赋初值为0 定义变量time,数据类型为长整型,赋初值为0 定义变量testover ,数据类型为逻辑型,赋初值为false,任务一 认识Java语言,子任务1 Java语言中的基本数据类型 知识点详解 Java语言中数据类型的分类 基本数据类型 整数类型 :整数类型简称整型。不含小数点的数字为整数类型数据,例如:-14、98、213、0等。整数类型又根据数据所占内存空间的大小和数字的范围分为字节型(byte)、短整型(short)、整型(int)和长整型(long)四种 . 字节型:字节型占一个字节的内存空间,取值范围为:-128127, 即-27 27-1。它使用关键字 byte 来定义字节整型变量。例如:byte x=33,任务一 认识Java语言,子任务1 Java语言中的基本数据类型 知识点详解 短整型:短整型占两个字节的内存空间,取值范围为-3276832767, 即-215215-1。它使用关键字 short 来定义短整型变量,例如:short x=456 . 整型:整型占四个字节的内存空间,取值范围为-21474836482147483647,即-231231-1。它用关键字 int 来定义整型变量,例如:int x=45。 长整型:长整型占八个字节的内存空间,取值范围为 :-9223372036854775808L9223372036854775807L,即-263263-1。它使用关键字 long 来定义长型整型变量,在声明长整型时,在整数后要加“L”或“l”以示区别。例如:long x=43L。,任务一 认识Java语言,子任务1 Java语言中的基本数据类型 知识点详解 浮点类型 :浮点类型又称为实型,浮点类型是指那些包含有小数部分的数字,例如:-38.2、32.00、87.143等。浮点类型根据数据所占内存空间的大小和数字的范围分为单精度浮点型(float)和双精度型浮点型(double)两种。 单精度浮点型: 单精度浮点型占四个字节的内存空间,取值范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。它使用关键字 float 来定义单精度浮点型变量,例如:float x=123.5f。单精度浮点型的数据其最后一个字符之后必须加“F”或“f”,如果数据的最后一个字符后没有“F”或“f”,则默认为double类型的数值。例如:1233.539f, 1289.97F, 123.0f(f 不可省略)。 使用关键字 float 来定义单精度浮点型变量时,如果变量赋值时没加上后缀f,就会出错,例如:float x=123.5 (出错)。,任务一 认识Java语言,子任务1 Java语言中的基本数据类型 知识点详解 双精度型浮点型:双精度浮点型占八个字节的内存空间,取值范围对于负数从-1.79769313486232E308 到 -4.94065645841247E-324,对于正数从4.94065645841247E-324到1.79769313486232E308。它使用关键字 double 来定义变量,例如:double x=12389.5439d(d可以省略)。 逻辑类型:逻辑类型占一个字节的内存空间。逻辑型数据只有两个值true和false(必须小写),Java中的逻辑型数据和数字之间不能相互转换,即false和true不对应于任何0或非0的整数值。逻辑型变量的定义如下:boolean x=true。 字符类型:字符类型用两个字节表示一个字符。Java中的字符型数据是16位无符号型数据,它表示Unicode集,而不仅仅是ASCII集。它使用关键字 char 来定义字符型变量,在定义字符类型字符时,要用一对单引号将字符括起来。例如:char c=x。,任务一 认识Java语言,子任务2 常量和变量 变量 变量的声明:Java语言的变量声明格式为:数据类型 变量名列表; 变量名必须是合法的Java标识符,并且具有一定的含义,以增加程序的可读性。 变量类型可以是前面所讲的Java任意一种基本数据类型。 变量的声明中多个变量间用逗号隔开。例如:float a, b, c;,任务一 认识Java语言,子任务2 常量和变量 为变量赋初值:声明了一个变量后,系统会自动给变量赋一个默认的初始值,见表3-1。但一般要重新赋值,具体做法是使用赋值语句,语法格式为:变量名 = 数据; 声明变量和给变量赋初值合并一起使用。其格式为:数据类型 变量名=数据; 一次声明多个同样类型的变量并且赋初值。其格式为:数据类型 变量名1=数据,变量名2=数据, ,变量名n=数据;,任务一 认识Java语言,子任务2 常量和变量 常量 直接常量:就是常数,不使用任何标识符直接引用其值的常量。例如:123,-456,0,1.23f,true, a等。 符号常量 :就是常值变量,用关键字final把一个标识符定义为常量,例如:final int MAX_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。 “&”按位与运算符:参加运算的两个操作数,按二进制位进行“与”运算。如果两个相应的位都为1,则该位的结果为1,其余为0。即,0&0=0,0&1=0,1&0=0,1&1=1。 “|”按位或运算符:参加运算的两个操作数,按二进制位进行“或”运算。如果两个相应的位都为0,则该位的结果为0,其余为1。即,0|0=0,0|1=1,1|0=1,1|1=1。 “”按位异或运算符:参加运算的两个操作数,按二进制位进行“异或”运算。如果两个相应的位都为0或者1,则该位的结果值为0,否则为1。即,00=0,01=1,10=1,11=0。,任务二 运算符和表达式,知识点详解 “”按位异或运算符:参加运算的两个操作数,按二进制位进行“异或”运算。如果两个相应的位都为0或者1,则该位的结果值为0,否则为1。即,00=0,01=1,10=1,11=0。 “”右移运算符:用来将一个操作数的二进制位右移若干位。移到右端的低位被舍弃,最高位则保持原值不变。每右移一位相当于原数值除2。 “”无符号右移运算符:用来将一个操作数的各个二进制位无符号右移若干位。移出的低位被舍弃,高位补0。例如:如果a=11101010,则a 2的值为00111010。,任务二 运算符和表达式,知识点详解 条件运算符 条件运算符是唯一的一个三目运算符,条件运算符由“?”和“:”连接的三个操作数构成,使用形式为:表达式1?表达式2:表达式3 说明:先求解表达式1,若为真,则取表达式2的值作为最终结果返回,若表达式1结果为假,取表达式3的值为最终结果返回。 例如:设a = 2,b = 8,c = 11,d = 34,求x=( a b ) ? c : d 的值。 首先计算a b(表达式1),结果为真,则最终x的结果是c(表达式2)的值,即x=11。,任务二 运算符和表达式,知识点详解 赋值运算符 赋值运算符“=”用来把一个表达式的值赋给一个变量。使用方法为: 变量名 = 数据 例如:a=3 其中,数据可以是一般的数据,也可以是表达式,但是变量的类型必须和数据的类型保持一致。在赋值符“=”前加上其他运算符,即构成扩展赋值运算符 。如表3-7所示。,任务二 运算符和表达式,知识点详解 表3-6 扩展赋值运算符,任务三 程序控制结构,子任务1 选择结构 【案例】在单机版考试系统的Login.java文件中 如下代码: if(rs.next() 【1】 【2】 if(rs.getString(“PWD“).equals(PWD) new JavaTest(); System.out.println(“OK“); ,任务三 程序控制结构,子任务1 选择结构 else JOptionPane.showMessageDialog( null , “你输入的密码错误!“, “登录失败“ , JOptionPane.ERROR_MESSAGE) ; 【3】 else 【4】 【5】 JOptionPane.showMessageDialog( null , “该用户不存在!“, “登录失败“ , JOptionPane.ERROR_MESSAGE) ; 【6】 ,任务三 程序控制结构,子任务1 选择结构 代码详解 if是关键字, rs.next()为判断条件。 【2】【3】之间的代码是rs.next()条件满足时要执行的语句体。习惯上“”放在if或else之后,而“”另起一行且与if或else同列。 【2】【3】之间的代码是rs.next()条件满足时要执行的语句体。在本案例中语句体也是if语句,属于if的嵌套。 else是条件不满足的情况。习惯上放在同层前一个“”之后。 【5】【6】之间的代码是rs.next()条件不满足时要执行的语句体。,任务三 程序控制结构,知识点详解 if单分支结构的语法格式 if ( 条件表达式 ) 语句体; 条件表达式的值必须是逻辑型的,可以是逻辑型的常量、变量、关系表达式、或者逻辑表达式。 语句体可以是一条语句或者多条语句,如果只有一条语句, 可以省略不写,但为了增强程序的可读性最好不要省略。多条语句时必须用一对 括起来。,任务三 程序控制结构,知识点详解 当程序执行到if语句时,首先计算条件表达式的值,如果值为true,则执行if语句中的语句体,然后再执行if语句下面的语句;如果值为false,则不执行if语句中的语句体,直接执行if语句下面的语句。 if双分支结构的语法格式为: if ( 条件表达式 ) 语句体A; else 语句体B; ,任务三 程序控制结构,知识点详解 条件表达式的值必须是逻辑型的,可以是逻辑型的常量、变量、关系表达式、或者逻辑表达式。 语句体可以是一条语句或者多条语句,如果只有一条语句, 可以省略不写,但为了增强程序的可读性最好不要省略。多条语句时必须用一对 括起来。 当程序执行到if-else语句时,首先计算条件表达式的值,如果值是true,则执行if语句中的语句体A,然后跳过else语句执行if结构下面的语句;如果值是false,则不执行if语句中的语句体A,而是执行else语句中的语句体B,执行完后再继续执行if结构下面的语句。,任务三 程序控制结构,知识点详解 例3-1:判断2000年是不是闰年。判断闰年的条件是:如果该年能被4整除但不能被100整除,或者能被400整除,该年就是闰年。否则不是闰年。 完整的程序leapyear.java如下: public class leapyear /定义类 public static void main(String args) /定义主方法 int year=2000; if(year%4=0 /条件满足时执行的语句,输出结果 else ,任务三 程序控制结构,知识点详解 System.out.println(year+“ 不是闰年“); /条件不满 足时执行的语句 程序编译运行的结果是在控制台输出如下信息: 2000年时闰年,任务三 程序控制结构,知识点详解 if多分支结构的语法格式 if ( 条件表达式1 ) 语句体1 else if ( 条件表达式2 ) 语句体2 else if ( 条件表达式n ) 语句体 n else 语句体 n+1 ,任务三 程序控制结构,知识点详解 条件表达式的值必须是逻辑型的,可以是逻辑型的常量、变量、关系表达式、或者逻辑表达式。 语句体可以是一条语句或者多条语句,如果只有一条语句, 可以省略不写,但为了增强程序的可读性最好不要省略。多条语句时必须用一对 括起来。 当程序执行到if-else if-else语句时,首先计算表达式1的值,如果值是true,则执行语句体1,然后跳过else if语句和else语句,继续执行if结构下面的语句。如果表达式1的值为false,则判断表达式2的值,如果为true,则执行语句体2,然后跳过else语句,继续执行if结构下面的语句。如果表达式2的值为false,则判断表达式3的值,依次类推。如果所有条件都为false,则执行语句体n+1。,任务三 程序控制结构,知识点详解 例3-2:根据学生的成绩评出优、良好、中等、及格和不及个五个等级。判断标准如下: score=90) System.out.println(score+“优秀“);,任务三 程序控制结构,知识点详解 else if(score=80) System.out.println(score+“良好“); else if(score=70) System.out.println(score+“中等“); else if(score=60) System.out.println(score+“及格“); else System.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如下: public class score1 public static void main(String angs) int score=65; /定义成绩变量 int a=score/10; switch(a) case 9: / case子句 System.out.println(score+“优秀“); /输出语句 break; case 8: System.out.println(score+“良好“); /输出语句,任务三 程序控制结构,知识点详解 break; case 7: System.out.println(score+“中等“); /输出语句 break; case 6: System.out.println(score+“及格“); /输出语句 break; default: System.out.println( score+“不及格“ ); /输出语句 break; ,任务三 程序控制结构,子任务2 循环结构 【案例】在单机版考试系统的TestArea.java文件中 如下代码: for(int i=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程序代码如下: public class for1 public static void main(String args) int sum=0; /存放结果的变量 for(int i=1;i=100;i+) /初始化、执行循环体的条件、 增量部分 sum=sum+i; /循环体 ,任务三 程序控制结构,子任务2 循环结构 System.out.println(“1+2+3+100= “+sum);/输出结果 程序编译运行的结果,在控制台输出如下: 1+2+3+100= 5050 while循环 while循环的语法格式为: while (循环条件) 循环体 ,任务三 程序控制结构,子任务2 循环结构 循环条件必须为逻辑型的常量或者变量、关系表达式、或者逻辑表达式。 循环体可以是一条或者多条语句。一条语句时 可以省略,但为了增强程序的可读性最好不要省略,多条语句时必须用一对 括起。 while循环结构在每一次循环之前先计算循环条件的值,如果为true,则执行循环体;如果为false,循环体不被执行,转而执行循环体后面的语句。因此while循环体可能被循环执行多次也可能一次也不被执行。,任务三 程序控制结构,子任务2 循环结构 循环条件必须为逻辑型的常量或者变量、关系表达式、或者逻辑表达式。 例3-5: 用while循环求5的阶乘。 完整的jiecheng.java程序代码如下: public class jiecheng public static void main(String args) int s=1,n=1; while(n=5) /循环条件 s=s*n; /循环体 n=n+1; System.out.println(“5!= “+s); /输出结果 ,任务三 程序控制结构,子任务2 循环结构 程序编译运行的结果,在控制台输出如下: 5!= 120 dowhile循环 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程序代码如下: public class break1 public static void main(String args) for(int a=1;true;a+) if(a=6) break; System.out.println(a); System.out.println(“退出循环了!“); ,任务三 程序控制结构,子任务3 控制转移结构 程序编译运行的结果,在控制台输出如下: 1 2 3 4 5 退出循环了! continue语句,任务三 程序控制结构,子任务3 控制转移结构 continue语句 continue语句必须出现在循环语句中,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。对于while和do while语句直接进行循环条件测试。continue语句用于使程序流程转到循环语句的“”处。 例3-7:continue语句的应用。该程序在循环条件为真的情况下,当符合某个条件时用continue语句强制跳过一些语句,达到控制循环运行结果的目的。,任务三 程序控制结构,子任务3 控制转移结构 完整的continue1.java程序代码如下: public class continue1 public static void main(String args) for(int a=1;a=10;a+) if(a=5) continue; System.out.println(a); System.out.println(“退出循环了!“); ,任务三 程序控制结构,子任务3 控制转移结构 程序编译运行的结果,在控制台输出如下: 6 7 8 9 10 退出循环了!,任务四 数组,子任务1 一维数组 一维数组的定义 一维数组的定义分为声明数组和为数组分配内存空间两步。 第一步:声明数组。 语法格式为: type arrayName; 或 type arrayName; type包括基本数据类型和对象数据类型。 arrayName是数组名,数组名称必须符合Java标识符的命名规则。 在里面不能有任何内容。,任务四 数组,子任务1 一维数组 在里面不能有任何内容。 例如:int results; /声明了一个整型数组,数组名为results boolean info; /声明了一个逻辑型数组,数组名为info double b; /声明了一个双精度浮点型数组,数组名为b 以上这些声明语句都是正确的。声明数组时只是告诉系统一个新的数组的名称和类型,数组本身不能存放任何元素,现在数组值均为null。,任务四 数组,子任务1 一维数组 第二步:为数组分配内存空间。 语法格式为: arrayName= new typearraysize; new是为数组分配内存使用的关键字。 arraysize是数组的大小,即数组包含多少个元素。 例如:results = new int10; /数组results包含10个元素 通常也可以将声明与分配内存空间合成一条语句。 例如:int results = new int10; /声明整型数组results,并为其分配10个元素(空间),任务四 数组,子任务1 一维数组 一维数组的初始化 当一个数组用new关键字为其分配内存后,系统自动用数据类型的缺省值初始化所有的数组元素。表3-8给出了一维数组缺省初始化值,但是在实际应用中通常不使用系统的数组默认值,而是重新给数组赋初值。,任务四 数组,子任务1 一维数组 按照顺序依次给每个元素赋值。 例如:给数组results赋值 results0 = 81; results1 = 92; results9 = 45; 在定义数组的同时直接给数组赋初值,初值的个数是数组的长度。初值必须用花括弧括起来,各初值之间用逗号(半角)分隔开。,任务四 数组,子任务1 一维数组 例如:int results = 87,90,77,55,98,37,64,100 ;/数组有8个元素在使用第2种方法时,一定要注意定义和初始化要在一条语句中完成,也就是说不可以定义数组后,在另一条语句中再给数组赋初值例如,下面的写法是错误的。 int results; results = 87,90,77,55,98,37,64,100 ; 例3-8: 定义一个一维数组d,重新给数组赋初值,最后输出数组长度以及数组的每一个元素值。,任务四 数组,子任务1 一维数组 完整的array1.java程序代码如下: public class array1 public static void main(String args) int d = new int 1, 14, 6, 2, 3, 78, 21, 45, 79, 34 ; / 通过枚举法创建了数组对象,该数组有10个元素值 for (int i=0;id.length;i+) / for循环,逐个对数组元素引用,输出数组元素 值 System.out.print(di + “ “); /输出每个数组元素 ,任务四 数组,子任务1 一维数组 System.out.print(di + “ “); /输出每个数组元素 System.out.println(); /换行 System.out.println(“d.length=” + d.length); / 输 出数组长度 程序编译运行的结果,在控制台输出如下: 1 14 6 2 3 78 21 45 79 34 d.length=10,任务四 数组,子任务2 二维数组 二维数组的定义 二维数组的定义也分为声明数组和为数组分配内存空间两步。 第一步:声明数组。 语法格式为: type arrayName; 或 type arrayName; type包括基本数据类型和对象数据类型。 arrayName是数组名,数组名称必须符合Java语言标识符命名规则。 在里面不能有任何内容。,任务四 数组,子任务2 二维数组 第二步:为数组分配内存空间。 例如: array2 = new int23; /正确的方法,2行3列的数组, 数组每行、每列之间长度相同,总共有6个元素。 array2 = new int2; /正确的方法, 最高维必须指定长度而其余低维可不指定长度。数组每行、每列之间长度不相同。数组有2行。array2 0 = new int3;表示该数组的第一行有3列,也就是3个元素。array2 1 = new int5;表示该数组的第二行有5列,也就是5个元素。 array2 = new int3; /错误,不允许最高维不指定长度而其余低维指定长度,任务四 数组,子任务2 二维数组 二维数组的初始化 按照顺序依次给每个元素赋值 例如:给数组results赋值如下。 intarray2; /声明数组array2 array2 = new int23; /给数组array2分配内存空间,2行3列,共6个元素 array2 00 = 67; /第1个元素值为67 array2 01 = 97; /第2个元素值为97 array2 02 = 100; /第3个元素值为100 array2 10 = 89; /第4个元素值为89,任务四 数组,子任务2 二维数组 array2 11 = 73; /第5个元素值为73 array2 12 = 65; /第6个元素值为65 在定义数组的同时直接给数组赋初值 例如 int results = 84,77,100 , 98,63,65 ; /该数组也是2行3列 整个初值数据用花括弧括起来,其中的每一行初值也必须用花括弧括起来,行之间用逗号分隔开。内层花括弧内的元素值也要用逗号分隔开。,学材小结,理论知识 填空题 1、表达式83 & 6=6 & 123的结果是_. 2、设i=3,j=5则执行完j=+i 后,i= ,j= 。 3、二维数组的长度是指 _. 4、Java中_语句可以终止当前一轮的循环,不再执行其下面 的语句,直接进入下一轮的循环。_语句可以使程序从一个 语句体的内部跳出去,继续执行该语句体下面的语句。 5、有如下程序 public class if1 public static void main(String args),学材小结,理论知识 填空题 int a=69,b=59; if(ab) System.out.println(a+“大于“+b); else System.out.println(a+“小于“+b); 程序的输出结果为:_。,学材小结,理论知识 选择题 1、定义一个双精度型变量num的语句是 。 int num; B. double num; C. float num; D. boolean num; 2、若已定义数组a:int a = 0,1,2,3,4,5,6,7,8,9,则对a数组元素 正确的引用是_。 a-3 B. a9 C. a10 D. a(0) 3、应用程序的main方法中有以下语句,则输出的结果是_。 int b=1, 1, 1, 2,2, 3; int sum=0; for(int i=0;ib.length;i+) ,学材小结,理论知识 选择题 for(int j=0;jbi.length;j+) sum+=bij; System.out.println(“sum=“+sum); 10 B. 6 C. 9 D. 13 4、有如下代码,则程序的运行结果是_。 public class for1 public static void main(String args),学材小结,理论知识 选择题 int sum=0; for(int i=1;i=100;i+) sum+=i; System.out.println(sum); 5050 B. 0 C. 120 D. 5000,学材小结,理论知识 选择题 5、用于定义简单数据类型的一组关键字是_。 A. class, float, main, public B. float, boolean, int, long C. char, extends, float, double D. int, long, float, import 实训任务 实训 利用if语句编程实现分段函数 【实训目的】 掌握if双分支结构的使用 【实训内容】 用if双分支选择结构计算下面的分段函数y的值: Y=,3*x+5 (x=0),x-5 (x0),学材小结,理论知识 实训任务 【实训步骤】 步骤1 根据题目要求确定要使用if的双分支结构来求解该分段函数。 步骤2 补充代码。 public class_ public static void main(String args) _; if(_) _; System.out.println(“ y=“+ ); else ; System.out.println(“ y=“+ ); _ _ _,学材小结,理论知识 实训任务 步骤3 在机器上调试通过该代码,输出结果。 拓展练习 1、编写程序输出如下九九乘法表。,学材小结,理论知识 拓展练习 2、用循环结构求10! 3、求两个正整数的最大公约数和最小公倍数。 4、定义一个数组a:int a = 8, 25, 17, 36, 13, 2, 89, 45 ; 求 该数组的最大值、最小值和平均值。 5、定义两个二维数组 int a=1,2,3,-1,2,1,0,2; int b=4,1,3,-1,1,9,2,0,1,1,3,4; 求这两个数组的乘积(矩阵相乘)。 6、给定3个整数,找出其中的最大数,并输出该最大值。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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