04747Java语言程序设计(一)-输入和输出流
- 格式:pdf
- 大小:86.62 KB
- 文档页数:3
《Java语⾔程序设计(⼀)》课后习题答案(课程编号04747)第⼀章 Java语⾔基础 (5)1.1 指出JA V A语⾔的主要特点和JA V A程序的执⾏过程。
(5)1.2 说出开发与运⾏JA V A程序的重要步骤。
(5)1.3 如何区分应⽤程序和⼩应⽤程序? (5)1.4 说出JA V A源⽂件的命名规则。
(5)1.6 JA V A语⾔使⽤什么字符集?共有多少个不同的字符? (5)1.7 JA V A语⾔标识符的命名规则是什么? (6)1.8 JA V A有那些基本数据类型,它们的常量⼜是如何书写的? (6)1.9 指出下列内容哪些是JA V A语⾔的整型常量,哪些是浮点数类型常量,哪些两者都不是。
(6)第⼆章运算和语句 (7)2.1 Java的字符能参加算术运算吗? (7)2.2 占字节多的变量能直接赋值给占字节少的变量么? (7)2.3 试⽤Java语⾔表达式描述以下数学计算式或逻辑条件: (7)2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。
(7)2.6 若⼀个数恰好等于它的因⼦之和,则这个数称为“完全数”。
编写程序求1000之内的所有完全数。
(7)2.7 编写输⼊正实数x,求平⽅不超过x的最⼤整数n,并输出。
(8)2.8 输⼊正整数n,输出由n⾏n列星号字符组成的三⾓形图案。
(11)2.9 设有整型变量x和y的值分别为5和110。
试指出执⾏了以下循环语句后,变量x和y的值分别多少? (12)2.10求⼩于999的所有⽔仙花数。
(12)2.11 编程序解百鸡问题:鸡翁⼀,值钱五;鸡母⼀,值钱三;鸡雏三,值钱⼀。
百钱买百鸡。
求鸡翁、鸡母和鸡雏各⼏何? (13)2.12 编写程序,按下⾯的公式计算⾃然对数底e的值:e=1+1/1!+1/2!+1/3!+1/4!+......(13)2.13 编写程序,⽤如下公式计算圆周率PI的近似值:PI=4-4/3+4/5-4/7+4/9-4/11...(14)2.14 回⽂整数是指正读法和反读相同的整数,编写⼀个程序,输⼊⼀个整数,判断他是否为回⽂整数。
04747 java语言程序设计(一)第一章JAVA语言基础出题点:1.JA V A语言的特点:强类型、编译和解释、自动无用内存回收功能、面向对象、与平台无关、安全性、分布式计算、多线程。
(P3)2.小应用程序与应用程序的区别(P5)(1)小应用程序只能在与JA VA兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行。
小应用程序的运行还受到严格的安全限制。
而JA V A 应用程序没有这些限制,也不支持网页嵌入和下载运行。
(2)两者在代码编写上也有很大差异。
一个小应用程序必须定义成一个Applet类的子类,应用程序可以是Applet类的子类,也可以不是。
(3)应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。
而小应用程序不必定义main()方法。
它的执行由Applet类中定义的多个方法控制。
3.JA V A应用程序的开过过程(P6)(1)JA V A应用程序,先编写JA V A源程序,源程序经JA V A编译器编译后产生字节码文件(*.class),最后由JA V A解释器解释执行字节码文件。
(2)小应用程序,先编写源程序,然后经JA V A编译器编译后产生字节码文件,最后由WEB 浏览器解释执行字节码文件。
4.标识符:由字母和数字符组成,限定标识符第一个字符不能是数字符。
(P8)5.关键字:均由小写字母组成,关键字不可以用做变量、方法、类或标号的标识符。
(P8)6.基本数据类型:整数类型(判断合法常量,注意区分三种进制允许出现的字符)、浮点数类型(科学计数法表示123.45e1,e两边必须有数字)、字符类型(常用转义字符)、逻辑类型。
非基本数据类型:数组、字符串、类、接口(P8)7.整数类型依次分为:byte(8位)、short(16位)、int(32位)、long(64位)。
(P9)8.浮点数类型分为:float(单精度型32位)、double(双精度型64位)。
第七章:输入和输出流第一节:数据流的基本概念1.在java中,把不同类型的输入、输出源抽象为流,其中输入或输出的数据成为数据流,用统一的接口表示。
2.数据流是指一组有顺序的、有起点和终点的字节集合。
程序从键盘接收数据或向文件中写数据,都可以使用数据流来完成。
3.流分为输入数据流和输出数据流。
输入数据流只能读不能写;而输出数据流只能写不能读。
从数据流中读取数据是,必须有一个数据源与该数据流相连(FileInput Stream in = new FileInputStream(“javatest.txt”);)(实例化)4.Java.io包中提供了表示数据流的4个基本抽象类(不可以实例化),分别是InputStream、OutputStream、Reader和Writer。
因此涉及数据流操作的程序中,几乎都要使用引入语句:import java.io.*5.为了使对象的状态能够方便地永久保存下来,java.io包中又提供了以字节流为基础的用于对象的永久化保存状态的机制,通过实现ObjectInput和Object Output接口来完成。
6.输入数据流提供的主要操作方法有:(得到-1,标志数据流结束)int read():从输入流读取一个字节的二进制数据int read( byte [ ] b):将多个字节读到数组中,填满整个数组int read( byte [ ] b ,int off , int len): 从输入流中读取长度为len的数据,从数组b中下标为off的位置开始放置读入的数据,读毕返回读取的字节数。
7.void close(): 关闭数据流int available(): 返回目前可以从数据流中读取的字节数long skip(long l): 跳过数据流中指定数量的字节不读取,返回值表示实际跳过的字节数8.如需要反向读取数据流,则使用回推操作(Push Back)Boolean markSupported(): 用于测试数据流是否支持回推操作void mark(int): 用于标记数据流的当前位置,并划出一个缓冲区,其大小至少为指定参数的大小。
1、简述java语言的特点?Java语言是目前使用最为广泛的网络编程语言之一(1分)具有面向对象(1分)与平台无关性(1分)多线程性(1分)动态性等特点(1分)2、简述Java程序的开发过程1使用一个文字编辑器,编写源文件。
(1分)2使用java编译器,编译源文件得到字节码文件。
(2分)3运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。
(2分)3、java源文件的命名规则是什么?如果源文件中有多个类,那么只能有一个类是public类(1分)如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分)如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分)4、怎样区分应用程序和小应用程序?一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main 方法必须被说明为public static void (1分)一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。
(2.5分)5、Java中共有哪些基本数据类型?基本类型共有8种,分四类分别是(1分)逻辑型(1分)字符型(1分)整型(1分)浮点型(1分)6、Java中数据类型分别用什么符号来表示?逻辑型用boolean 表示(1分)字符型用char表示(1分)整型共有4种分别是byte、short、long、int (2分)浮点型共两种float和double (1分)7、简答标示符的概念及定义原则标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。
(2.5分)Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java中的关键字不能用作标示符。
(2.5分)8、简答什么是强制类型转换及转换格式当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。
2017年4月高等教育自学考试全国统一命题考试Java语言程序设计(一)试卷课程代码 04747一、单项选择题(本大题共10小题,每小题1分,共10分)1. 在下列供选的字符串中,不能作为Java整型常量的是A.052B.0x3BEHC.6389D.0x3fedL【答案】B【解析】该题考查Java语言基础知识中基本数据类型中的整数类型。
Java语言中整型常量有十进制、八进制和十六进制三种写法。
A项以数字符0开头,是八进制写法;C项是十进制写法;D项以0x开头,后随字符和英文字母A到F,是十六进制写法,最后的字母L表示该整型为长整型;C项错在最后的字母H,十六进制表示时后随字符和英文字母A到F。
所以C项不能作为Java整型常量。
【知识点】整数类型的四种表示形式2. 在以下供选的关键字中,能用于定义常值变量的是A.finalB.staticC.protectedD.super【答案】A【解析】该题考查Java语言基础知识中的关键字。
Java语言中的关键字被赋予特定的意义,用于表示程序结构、定义和修饰等。
每个关键字在程序中出现有特定位置和使用方法的要求。
B项用于修饰类变量或类方法;C项为访问权限中受保护访问权限关键字,只限子类或者同一包中的类的方法能访问;D项。
A项的意义是最终的,其意思是“不能改变”,修饰变量时,声明该变量的值不能被改变。
所以A项能用于定义常值变量。
【知识点】常用关键字的使用3. 下列Java语句中,不正确的是A.float e=0.0d;B.char c,d=‘a’;C.int $ e,a,b=10;D.double e=0.0f;【答案】A【解析】该题考查Java语言基础知识中基本数据类型间转换关系。
Java语言中的基本数据类型转换分为自动转换和不兼容类型的强制转换两种:当满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件时,发生自动转换。
A项是定义单精度实型(float)变量(e)且赋值(0.0d),但是0.0d是双精度实型值,不满足目的类型数的范围比来源类型的大这个条件,在赋值时出现类型不匹配错误,因此是不正确的;B项定义了两个字符型变量(c和d)并对d赋初始值(’a’);C项定义了三个整型变量($e、a和b)并对b赋初始值10;D项定义了一个双精度实型变量(e)并对e赋单精度初始值(0.0f),满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件,会自动转换。
04747Java语言程序设计(一)2017年版课后思考题与练习题程序设计题参考答案第三章流程控制语句5.1题_____________________________________________________________________________ public class Chapt3_5_1 {public static void main(String[] args) {int n[ ]={2,4,6,8,10};//分别计算2、4、6、8、10int stepmulti=1;for (int i=0;i<n.length;i++){stepmulti*=n[i];System.out.println("n["+i+"]!="+n[i]+"!="+stepmulti);}}}5.2题_____________________________________________________________________________ public class Chapt3_5_2 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=0.000f;for (float i=1;i<=n;i++)sum=sum+(1/i);System.out.println("S=1+1/2+1/3+.....+1/n="+sum);}}5.3题_____________________________________________________________________________ public class Chapt3_5_3 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=1.000f;for (float i=1; i<=n;i++)sum=sum+1/(3*i);System.out.println("S=1+1/3+1/6+...+1/3n="+sum);}}5.4题_____________________________________________________________________________public class Chapt3_5_4 {public static void main(String[] args) {int n=7;int i=0;while(i<n){if (i<n/2){for (int j=0; j<i;j++) System.out.print(" ");for (int k=0; k<n-2*i; k++) System.out.print(" * ");}else {for (int m=0; m<n-i-1;m++) System.out.print(" ");for (int k=0;k<n-(n-(i+1))*2;k++)System.out.print(" * ");}i++;System.out.println("");}}}5.5题_____________________________________________________________________________ public class Chapt3_5_5 {public static void main(String[] args) {int n=10;int i=0;while (i<10){for (int j=1;j<n-i;j++)System.out.print(" * ");i++;System.out.println();}}}5.6题_____________________________________________________________________________ public class Chapt3_5_6 {public static void main(String[] args) {for (int i=1;i<10;i++)System.out.print("\t "+i);for (int i=1;i<10;i++){System.out.print("\n"+i+"\t");for (int j=1;j<10;j++)System.out.print(j+"*"+i+"="+i*j+"\t");}}}5.7题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_7 {public static void main(String[] args) {String str;Scanner scan=new Scanner(System.in);System.out.println("请输入一串字符:");str=scan.nextLine();int k=0;goon: for(int i=0;i<str.length();i++){if (!(str.substring(i,i+1).equals(str.substring(str.length()-i-1,str.length()-i)))) {System.out.println("你输入的字符串("+str+")不是回文");k=1;break;}else continue goon;}if (k==0) System.out.println("你输入的字符串("+str+")是回文");scan.close();}}5.8题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_8 {public static void main(String[] args) {int n=0;Scanner scan=new Scanner(System.in);System.out.println("请输入一个整数:");int num=scan.nextInt();for (int i=2;i<num;i++){if (num%i==0){System.out.println(num+"非质数!");break;}else n=1;}if (n==1)System.out.println(num+"是个质数!");scan.close();}}5.9题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_9 {public static void main(String[] args) {Scanner t=new Scanner(System.in);System.out.println("请输入华氏温度:");double tin=t.nextDouble();System.out.println("转换后的摄氏温度为:"+(tin-32)/1.8);t.close();}}5.10题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_10 {public static void main(String[] args) {double s;Scanner leng=new Scanner(System.in);System.out.println("请输入三角形的第一条边长a:");double a=leng.nextDouble();System.out.println("请输入三角形的第二条边长b:");double b=leng.nextDouble();System.out.println("请输入三角形的第三条边长c:");double c=leng.nextDouble();if (a+b<=c||a+c<=b||b+c<=a||Math.abs(a-b)>=c||Math.abs(a-c)>=b||Math.abs(b-c)>=a) System.out.print("您输入的三条边无法构成三角形");//题目未要求判断,可以忽略else {s=(a+b+c)/2;System.out.println("这个三角形的面积S为"+Math.sqrt(s*(s-a)*(s-b)*(s-c)));}leng.close();}}5.11题_____________________________________________________________________________ import java.util.Calendar;//获取系统当年年份需要用到import java.util.Scanner;/***根据本书进度编写的程序,重复代码比较多,读者可在学习后续章节后再优化**/public class Chapt3_5_11 {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入数字1、2、3选择你要执行的操作,1、输入一个月份,打印当年该月的月历;2、输入当年的一个日期,查询当天是星期几;3、查询两个日期之间相差几天。
自考Java语言程序设计(一)2022年4月真题及(04747)自考Java语言程序设计(一)2022年4月真题及答案解析(04747)1.[单选题] 下列选项中,不属于Java语言特性或语法成分的是()A.面向对象B.全局变量C.JVMD.多线程2.[单选题] 下列选项中,能作为文档解释的是()A./*我是javadoc 解释*/B.//我是javadoc解释*/C./**我是javadoc 解释*/D./*我是javadoc 解释**/3.[单选题] 下列选项中,不能作为for语句中条件表达式的是()A.k++B.k=10C.k==- lD.true4.[单选题] 关于类的叙述中,正确的是()A.每个类都要有一个main方法B.类中可以不显式定义构造方法C.声明一个类时,必须使用public修饰符D.类具有封装性,故不能访问类的数据成员5.[单选题] 下列选项中,能正确加入如下Java代码段的Test类中,并成为cal()的重载方法的是()public class Test{public void cal(int x,int y,int z){ }//在此处添加cal()的重载方法}A.public int cal(int x, int z){ }B.public int cal(int x, int y, int z){ }C.public int cal (int x,int y,int z) {return 0;}D.public int cal(int x, int y, float z){return 0;}6.[单选题] 下列选项中,能够正确初始化数组in的是()A.int [] m;B.m= {1,2,3,4,5};C.int [] m = new int[5];D.int [] m = new int[5]{l,2,3,4,5};7.[单选题] 下列选项中,能作为Java接口成员的是()A.void aMethodO;B.private void aMethod();C.interface void aMethod();D.protected void aMethodO;8.[单选题] 若程序中有语句FileOutputStream out = new FileOutputStream(“myFile.dat”);, 则选项正确的是()A.如果文件myFiIe.dat存在,则将抛出IOException异常B.如果文件myFile.dat不存在,贝幡抛出IOException异常C.如果文件myFile.dat存在,则将覆盖掉文件中己有的内容D.如果文件myFile.dat存在,则将在文件的末尾开始添加新内容9.[单选题] 若要自行设置容器中组件的位置和大小,则需要执行的操作是()A.调用方法setSize()B.调用方法getContentPane()C.调用方法getPreferredSizeOD.调用方法setLayout(null)和setBounds()10.[单选题] 子线程自动获得的优先级是()A.最低优先级B.最高优先级C.随机的优先级D.父类的优先级11.[填空题] Java编译器将Java程序编译成虚拟机能够识别的二进制代码,这种代码称为______________。
04747java语言程序设计一Java语言程序设计一Java是一种广泛使用的高级编程语言,由Sun Microsystems公司(现属于Oracle公司)的James Gosling在1995年首次发布。
Java语言以其跨平台性、面向对象的特性、健壮性、安全性和多线程能力而闻名。
本课程将介绍Java语言的基础知识,包括语法、数据类型、控制结构、类与对象、异常处理以及输入输出等。
1. Java语言概述Java是一种静态类型、面向对象的编程语言,设计目标是实现“一次编写,到处运行”(Write Once, Run Anywhere,简称WORA)。
Java 程序可以在任何支持Java虚拟机(JVM)的平台上运行,这使得Java 成为了开发跨平台应用程序的理想选择。
2. Java开发环境搭建在开始编写Java程序之前,需要搭建Java开发环境。
首先需要下载并安装Java Development Kit(JDK),然后配置环境变量,确保可以在命令行中使用`javac`和`java`命令。
3. Java基本语法Java的基本语法包括变量声明、数据类型、运算符、控制语句等。
Java是一种强类型语言,所有变量在使用前必须声明其类型。
- 数据类型:Java提供了多种数据类型,包括整型(int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。
- 变量:变量是存储数据的容器,需要指定类型和名称。
- 运算符:包括算术运算符、关系运算符、逻辑运算符、位运算符等。
- 控制语句:包括条件语句(if, switch)、循环语句(for, while, do-while)。
4. 面向对象编程面向对象编程(OOP)是Java的核心特性之一。
OOP基于类和对象的概念,类是对象的蓝图,而对象是类的实例。
- 类:定义了一组具有相同属性和方法的对象的结构。
- 对象:类的实例,具有类定义的属性和方法。
2015年10月高等教育自学考试全国统一命题考试Java语言程序设计(一) 试卷(课程代码04747)本试卷共13页,满分100分.考试时间150分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。
必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。
第一部分选择题一、单项选择题(本大题共10小题.每小题1分.共10分)在每小题列出的四个备选项中只有一个是符合题目要求的。
请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分.1.以下字符组合中,不能作为Java整型常量的是A.037 B.0x3ADG C.7000 D.0x3abcL2.以下程序代码的输出结果是3.设有数组定义,则x.length的值为A.2 B.3 C.4 D.54. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是A.7 B.6 C.3 D.05.以下关于Swing与AWT之间关系的叙述中,正确的是A.Swing是AWT的提高和扩展B.在写GUl程序时,AWT和Swing不能同时使用C.AWT和Swing在不同的平台上都有相同的表示D.AWT中有一些类是从Swing中的一些继承的6.以下供选择的类中,其子类能用来创建框架窗口的是A.JWindow B.JFrameC.JDialog D.JAudio7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用start( )方法。
B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。