2022年java第三章上机练习题.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆习题 1. 数据类型转换应用【案例简介】下例说明白整型、浮点型、字符串型之间的相互转换;【案例目的】把握 Java中两个不兼容类型能够的数据格式之间的转换;【技术要点】高精度到低精度的数据转换时候需要进行强制转换,低精度向高精度进行转换的时候的会自动进行,字符串到其他类型的转换需要用到特定的方法;【代码分析】public class Conversation public static void mainString args String str = "123" int j; byte b; int i=257; double d = 323.142; System.out.println"nConversion of int to byte." /i 强制转换成 byte 型System.out.println"i and b "+ i + " "+b; System.out.println"nConversion of double to int." /d 强制转换成 int 型System.out.println"d and i "+ d + " "+i; /d 强制转换成 byte 型System.out.println"d and b "+ d + " "+b; j=Integer.parseIntstr; /str 转换成 int 型System.out.println"j="+j; 【相关学问】数据类型转换(1)简洁数据类型中各类型数据间的优先关系和相互转换不同类型数据间的优先关系如下低-> 高byte->short->char-> int -> long -> float -> double 自动类型转换规章整型,实型,字符型数据可以混合运算;运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;表 2-4 自动类型转换规章操作数 1 类型操作数 2 类型转换后的类型byte、 short、char int Int byte、 short、char、int long Long byte、 short、char、int、 long float Float byte、 short、char、int、 long、float double Double (2)强制类型转换高级数据要转换成低级数据,需用到强制类型转换,如:int i; byte b=bytei; / 把 int 型变量 i 强制转换为(3)其他转换byte 型数字变为字符串用如下方法转换相应类型的数字:Double.toStringdouble ;Float.toStringfloat; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆Long.toStringfloat; Integer.toStringfloat; Short.toStringfloat; Byte.toStringByte; 也可以使用字符串类的 valueOf 方法:String.valueOf 各种类型的数值变量 ; 仍可以用空字符串连接数字,将数字转换为字符串;如:""+25 ;数字类型转换为各种常用进制的字符串类toBinaryStringlong or int :转换为二进制形式的字符串类;toOctalStringlong or int :转换为八进制形式的字符串类;toSexStringlong or int :转换为十六进制形式的字符串类;字符串转换为数字Byte.parseBytestring :转换为字节型的数值;Short.parseShortstring:转换为短整型的数值;Integer.parseIntstring:转换为整型的数值;Long.parseLongstring :转换为长整型的数值;Float.parseFloatstring :转换为单精度型的数值;Double.parseDoublestring :转换为双精度型的数值;2.4 数组和字符串 习题 2. 求平均成果【案例简介】数组 A 中存放有 10 个同学某门课程的成果、输出这10 个同学的平均成果;【案例目的】把握 Java一维数组的使用方法,包括数组的动态初始化、静态初始化等;【技术要点】数组的静态初始化方法及拜访方法;【代码分析】public class Score public static void mainString args int a = 90,87,67,81,89,96,76,71,91,57,i,sum=0; double ave; /求平均成果 ave System.out.println"Average="+ave; 【相关学问】1数组的概念数组是 Java语言中的一种复合数据类型,它是由类型相同的元素组成的有次序的数据集合;在一个数组中每个元素的数据类型都是相同的,数组元素可以是基本类型、对象类型,也可 以是数组类型;数组要经过定义、安排内存及赋值后才能使用;2数组的定义 type arrayName ; type arrayName; type arrayName ; type arrayName; 类型 type可以为 Java 中任意的数据类型,包括简洁类型和复合类型;例如:int intArray ; Date dateArray; int b; 3数组的初始化( 1)静态初始化例如:int intArray=1,2,3,4; String stringArray="abc", "How", "you" int intArray =1,2,2,3,3,4,5; 求二维数留意: Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续安排的,所以不要 第 2 页,共 5 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆组每一维的大小相同;( 2)动态初始化简洁类型的数组例如:int intArray; intArray = new int5; int a = new int23 int b = new int2 b0 = new int3; b1 = new int5; ;4数组元素的引用一维数组元素的引用方式为:arrayNameindex index 为数组下标,它可以为整型常数或表达式,下标从0 开头;每个数组都有一个属性length 指明它的长度,例如: intArray.length 指明数组 intArray 的长度;二维数组中元素的引用方式为:arrayNameindex1index2 例如:num10; 的一个;习题 3. 多维数组矩阵转置4*3 的多维数组;【案例简介】将3*4 的多维数组转置为【案例目的】把握多维数组以及交叉数组的使用方法;【技术要点】数组的静态初始化方法及拜访方法;【代码分析】publicclass Matrix publicstaticvoid mainString args int a=1,2,3,4, 2,3,4,5, 3,4,5,6; int b= new int 43; int i,j; System. out .println " 转换前 " ; / 利用两重循环进行显示数组 / 利用两重循环进行转置System. out .println " 转换后 " ; / 利用两重循环进行显示数组 2.5 流程掌握习题 4. 打印出九九乘法表【案例目的】把握 Java循环流程的掌握;习题 5. 求一元二次方程的根;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆【案例目的】把握 Java分支流程的掌握;【技术要点】依据参数的不同,分别进行有根、无根、重根的判别;方程求根提示: Math.sqrta 求 a 的平方根【代码分析】publicclass roots publicstaticvoid mainString args int a,b,c; float x1,x2; int check; a=1; b=2; c=1; System.out .println" 方程式为: " +a+ "x2+"+b+ "x+"+c+ "=0" System.out .println" 方程解为: " ; /假如有重根/假如有不同两个根/否就无根 【相关学问】1. 掌握语句 Java 程序通过掌握语句来执行程序流,完成肯定的任务;程序流是由如干个语句组成的,语句可以是单一的一条语句,如 c=a+b,也可以是用大括号 括起来的一个复合语句;Java中的掌握语句有以下几类:分支语句: if-else,switch 循环语句: while , do-while ,for 与程序转移有关的跳转语句:break, continue,return 2. 分支语句分支语句供应了一种掌握机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句;( 1)条件语句 if-else ifboolean-expression statement1; else statement2; ( 2)多分支语句 switch switch expression case value1 : statement1; break; case value2 : statement2; break; case valueN : statemendN; break; default : defaultStatement; 细心整理归纳 精选学习资料 expression 的返回值类型必需是这几种类型之一:int, byte,char, short; 第 4 页,共 5 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆case子句中的值valueN 必需是常量,各case子句中的值应是不同的;default 子句是可选的;case分支后,使程序跳出switch 语句,即终止 switch 语句的执行 (在break 语句用来在执行完一个一些特别情形下,多个不同的 case值要执行一组相同的操作,这时可以不用 break);2-6 习题习题 6:猜数字嬉戏编写一个 Java应用程序,实现以下功能:程序随机安排一个1100 之间的整数, 用户在输入自己的推测,程序返回提示信息,分别是 “ 猜大了” 、“ 猜小了” 、“ 猜对了” ;用户可以依据提示信息再次输入推测,直到提示信息是“ 猜对了”提示:/ 新建一个随机数产生器,然后生成一个 0到10 之间的整数,代码如下:import java.util.Random; Random random = new Random; int number = random.nextInt10; / 猎取掌握台整数输入,代码如下:import java.util.Scanner;Scanner sc = new ScannerSystem. in ; int guess_number=sc.nextInt; 完整代码 : 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 5 页 - - - - - - - - -