超星java程序设计_16期末答案(学习通2023题目答案)

分类: 管理学题库发布于:2024-06-02 14:13:02ė81603次浏览648条评论

超星java程序设计_16期末答案(学习通2023题目答案)

第一周 认识Java

本周测验

1、超星程序?设计下面关于Java Application 程序结构特点描述中,正确的期末是( )??
A、.java文件不需要编译,答案直接可以运行
B、学习Java程序中声明有public类时,通题则Java程序文件名与public类的目答类名可以不相同。
C、超星程序组成Java Application程序的设计多个类中,有且仅有一个主类。期末
D、答案一个.java文件中定义多个类时,学习允许其中声明多个public类。通题

2、目答下面关于Java 语言特点的超星程序描述中,正确的是( )
A、Java是纯面向过程的编程语言,支持单继承和多继承。
B、Java语言不支持网络编程。
C、Java语言不支持多线程编程。
D、Java语言编写的程序与平台无关、可移植性好。

3、下列关于虚拟机说法错误的是( )?
A、虚拟机可以用软件实现
B、虚拟机的英文简称是JDK
C、字节码是虚拟机的机器码
D、虚拟机把代码程序与各操作系统和硬件分开

4、Java语言是1995年由( )公司发布的。
A、Sun
B、Microsoft
C、Borland
D、Fox Software

5、Java是一门跨平台的、面向对象的语言。

6、Java Application应用程序的编写和执行分3步进行:编写源代码、编译源代码、解释执行。

7、Java语言不区分大小写,编码时大小写随意。

8、包含main()方法的类,称为主类。

9、Java编译器可以将Java源程序编译成与机器无关的二进制代码文件,即字节码文件,它的扩展名是( )。

10、Java应用程序源文件中最多只能有( )个main方法。

本周编程作业

1、实践操作: (1)下载并安装JDK,配置环境,具体参考视频学习1.2; (2)编写并运行程序,在命令行显示“世界,你好!”,可以参考操作演示视频。

第二周 Java语言语法基础

本周测验

1、下面哪些标识符在Java语言中是合法的?
A、persons$
B、2TwoUsers
C、*point
D、false

2、下列哪个语句不能通过编译。( )
A、double d = 545.0;
B、char a1 = “c”;
C、int i = 321;
D、float f1 =45.0f;

3、Java应用程序的源文件和编译后的字节码文件,扩展名分别为( )
A、.java和.class
B、.class和.java
C、.class和.class
D、.java和.java

4、对于一个三位的正整数n=789,以下结果为8的( )
A、n/10%2
B、(n-n%10)/100
C、n%10
D、n%100/10

5、Java中的数据类型一般包括基本类型和引用类型两大类。

6、数据类型boolean是引用类型。

7、int类型数据和float类型数据进行运算时,结果为float类型。

8、int a,b,c=100;该语句表示a、b、c均被定义为整形,且a、b、c的均值为100.

9、设 x = 2 ,则表达式 ( x + + )/3 的值是( )。

10、若x = 5,y = 10,则x < y的逻辑值为( )。

本周编程作业

1、编写程序,使用Scanner类完成从键盘输入一个整数,一个双精度浮点数,一个单精度浮点数,要求: (1)将浮点数统一转为整型; (2)求解三个整数的平均值,并且输出。 要求在提交作业时,在文本区,下拉列表选择java语言,将.java源文件复制到文本区即可。

第三周 流程控制(1)

本周测验

1、下列不属于条件语句关键字的是( )
A、if
B、else
C、switch
D、while

2、下面不属于java条件分支语句结构的是( )
A、if结构
B、if-else结构
C、if-else if结构
D、if-else else结构

3、对于下面的代码片段,m的哪个值将引起"default"的输出?( ) switch(m){ case 0: System.out.println("case 0"); case 0: case 1: System.out.println("case 1"); break; case 2: System.out.println("case 2"); break; default: System.out.println("default"); }
A、0
B、1
C、2
D、3

4、关于选择结构下列哪个说法正确?( )
A、if语句和 else语句必须成对出现,if不可以单独出现
B、if语句可以没有else语句对应
C、switch结构中每个case语句中必须用break语句
D、switch结构中必须有default语句

5、switch-case语句中,default可以省略。

6、switch语句中,各个case后的常量值必须互不相同,否则会出现一个值有两种执行方案

7、if(表达式) { 语句块;} 这里的语句块可以是单条语句,也可以是多条复合语句。

8、if(表达式) { 语句块1;} else { 语句块2;} 其中else的隐含意义是对前面条件取反。

9、int a=1,b=2,min; min=a<b ? a : b; 执行这两句话后,min的值为( )

10、Java语言中的选择结构可以通过if语句和( )语句来实现。

本周编程作业

1、编程题: (1)从键盘输入一个月份(1~12),打印输出对应的季节(春、夏、秋、冬); (2)如果输入的数值不在(1~12)范围内,显示“您输入的数据有误!”; (3)分别使用if语句和switch语句实现上述功能。 提交:在文本区下拉菜单选择.java语言,将两个程序的.java源文件代码依次复制进去即可。

第五周 数组与字符串

本周测验

1、下面的代码片段的运行结果为( ) String str1="Hello"; String str2="Hello"; System.out.println(str1==str2);
A、true
B、false
C、0
D、1

2、以下代码片断运行结果为: String str1=new String("Hello"); String str2=new String("Hello"); System.out.println(str1.equals(str2));
A、true
B、false
C、0
D、1

3、设有数组定义:int MyIntArray[ ]={ 10,20,30,40,50,60,70}; 则执行以下几个语句后的输出结果是: int s=0; for(int i=0;i<MyIntArray.length;i++) if(i%2==1) s+=MyIntArray[ i ]; System.out.println(s);
A、90
B、120
C、50
D、180

4、阅读下面代码片段,请给出s的值为( ) int a[] = { 10,20,30,40,50,60,70,80,90 }; for ( i = 0 ; i < a.length ; i ++ ) { if ( a[i]%3==0 ) continue; else s += a[i]; }
A、240
B、120
C、270
D、30

5、下列程序段执行后的结果是? String s = new String( "World!" ); System.out.println( s.length() );
A、6
B、4
C、5
D、3

6、以下代码片段中,aChar的值为( ) String aStr="HelloWorld"; char aChar=aStr.charAt(1);
A、e
B、H
C、l
D、o

7、String类的对象一旦被配置,它的值是固定不变的,如果一定要改变它的值,会产生一个新的字符串。

8、数组是Java基本数据类型之一。

9、以下关于数组的语句是合法的。 int a[10]=new int[];

10、String类和数组都是引用类型。

本周编程作业

1、从键盘读入5个整数,放入长度为5的数组中,再将这5个数逆序输出。

2、从键盘输入一个字符串,给定一个字符,如’a’,计算在字符串中该给定字符出现的次数并输出。

第四周 流程控制(2)

本周测验

1、循环一般应包括哪几部分内容( )。
A、初始化部分
B、循环体部分
C、迭代部分和终止部分
D、以上都是

2、设有程序段 int k=10; while(k==0) { k=k-1; } 则下面叙述中正确的是( )。
A、该while循环的循环体将执行10次
B、该循环是死循环,循环体会无限执行下去
C、循环体语句一次也不会执行
D、循环体语句只会执行一次

3、下面程序片段的运行结果是( )。public static void main(String[] args) { int i=1, num=0; while(i<=10) { if (i%3==0) { num=num+1;} i++; } System.out.print(num); }
A、3
B、2
C、1
D、0

4、若有如下代码片段,则运行结果为( ) int i,n=10,s=0; for(i=1;i<=n;i++) s=s+i; System.out.println("Sum="+s);
A、Sum=45
B、Sum=55
C、Sum=53
D、Sum=20

5、以下说法正确的是( )。
A、while循环的循环体至少执行一次
B、do-while循环的循环体最少执行次数为0
C、continue语句可以使用在switch分支结构中
D、break语句只能跳出其所在层的循环

6、对于for循环,当循环体部分有多条语句时,必须用{ }括起来。

7、可以使用break跳出while循环,但不能用break跳出for循环。

8、continue语句和break语句作用完全相同。

9、while和do-while循环是不同的, do-while循环的循环体至少执行一次。

10、以下代码片段的作用,是输出10行10列的*号。 for(i=1;i<=10;i++) { for(j=1;j<=10;j++) { System.out.print("*"); } System.out.println(); }

本周编程作业

1、从键盘输入一个正整数n(如果输入数据不符合要求,提醒用户重新输入,直到满足要求为止),求解1-n之间所有奇数的和。请使用循环语句实现。

2、求解水仙花数,水仙花数是三位数,各位数字的立方和等于这个三位数本身, 如:371=3*3*3+7*7*7+1*1*1,则371就是一个水仙花数。请使用while循环实现。

第六周 类与对象

本周测验

1、以下选项中哪个是Student类创建对象的正确语句?( )
A、s1=new Student( );
B、Student s1=new Student( );
C、s1=Student( );
D、Student s1=Student( );

2、下列关于成员变量与成员方法,说法错误的是( )。
A、成员变量是类与外界交互的唯一窗口。
B、成员方法是类与外界进行交互的重要窗口。
C、成员方法是实现类内部功能的机制。
D、方法可带参数,也可以不带参数。

3、关于局部变量与成员变量,下列说法错误的是( )。
A、成员变量是指在类中定义的变量
B、方法中定义的变量及形参等都是局部变量
C、成员变量和局部变量的区别是两者的数据类型不同
D、局部变量随着方法的调用而产生,随着方法调用结束而自动结束

4、有关本周所学知识,下列说法正确的是( )。
A、类具有封装性,所以类的成员变量和成员方法是不能被访问的
B、当成员变量与局部变量同名时,要在局部变量前加this
C、当一个.java源文件中,有多个类时,每个类都必须使用public进行修饰
D、new Cylinder().setCylinder(2.5, 5,3.14);则new Cylinder()就是匿名对象

5、关于参数传递,下面说法错误的是( )。
A、当参数是基本数据类型时,采用的是值传递。
B、当参数是引用数据类型时,采用的是引用传递。
C、在引用传递中,传递形参时,编译程序将把实际值在内存中的引用传递给方法。
D、在值传递的方法调用中,系统不会为形参开辟新的内存区域。

6、在不考虑可变参数的情况下,方法的形参与实参的个数、顺序、数据类型应保持一致。

7、定义类的成员变量时,可以同时赋初值,并且对成员变量的操作只能放在方法当中。

8、方法有无返回值,在调用方法的时候,代码书写是完全一样的。

9、在类定义内部,方法之间可相互调用。

10、类是对象的抽象,对象是类的实例。

11、如果为Student类创建两个对象,那么这两个对象将会占据同一片内存空间。

12、对象是以类为模板创建的具体实例,占用的内存空间要比变量大得多。

本周编程作业

1、编写程序: (1)创建一个Box类,在该类中: 定义三个成员变量,表示一个立方体的长、宽和高; 定义成员方法setBox(……)对参数(长、宽、高)进行检查,如果>0,则赋值给成员变量,否则给出错误提示; 定义成员方法volume(),求立方体的体积。 (2)定义主类、主方法,创建Box类的对象box,利用参数传递,求给定尺寸的立方体(如:3、4、5)的体积。 要求:在文本区选择.java语言,将所有代码写入即可。题目中未涉及到的信息,可自行确定。

2、编写程序: (1)定义类MaxNum,在其中定义方法maxCount(……),求一维数组的最大值; (2)定义主类、主方法。在主方法中定义长度为10的一维数组,从键盘录入10个数存入数组中;调用maxCount()方法求解其中的最大数,并输出。 要求:在文本区选择.java语言,将所有代码写入即可。题目中未涉及到的信息,可自行确定。

第七周 类的特性

本周测验

1、void 的含义是( )
A、方法体为空
B、定义的方法没有形参
C、定义的方法没有返回值
D、方法的返回值不能参加算术运算

2、下列哪个修饰符所修饰的成员只能在本类中被访问?( )
A、static
B、public
C、default
D、private

3、指出下列哪个方法与方法public void add(int a) { }为合理的重载方法。( )
A、public float add(int a){ }
B、public void add(int a,int b) { }
C、public void add(int total) { }
D、public int add(int b){ }

4、为Test类中的一个无形式参数、无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为( )
A、static void method( )
B、public void method( )
C、final void method( )
D、private void method( )

5、访问控制符指的是一组限定类、成员变量或成员方法,是否可以被程序里的其他部分访问和调用的修饰符。

6、缺省访问控制符指的是类、类的成员(包括成员变量、成员方法等),不使用任何访问控制符 。它的特征是能被同一个包中的类访问和引用,其他包不可以,又称为包访问性。

7、如果一个类是公共的,说明该类的成员变量和成员方法都是公共的,都可以被外部所有其他类所访问。

8、构造方法的作用是在对象被创建时初始化对象的成员,它不可以带参数。

9、实例成员不保存在对象内存区间中,保存在类的内存区域,是公共存储单元。

10、方法的重载指多个方法带有不同的参数,使用相同的方法名。这里参数不同指:参数个数不同、参数类型不同、参数的顺序不同。

本周编程作业(互评作业)

1、编程创建一个Rectangle类,在类中: (1)定义两个私有变量length和width表示长、宽; (2)定义一个方法setDemo(...)对长和宽进行初始化,当长或者宽<0时,给出错误提示; (3)定义一个方法area()求面积; 创建主类Test,要求在主类主方法中,创建Rectangle类的对象,求给定尺寸的长方形的面积(假设长、宽分别从键盘输入)。 注意:在文本区选择.java语言,将源代码写入即可,不需要截图,不需要附件。题目中未涉及到的信息,可自行确定。

2、编写程序,输出人的姓名和年龄。 定义一个人类(Person),在该类中: (1)定义两个私有属性,姓名(name)和年龄(age)。 (2)定义构造方法,用来初始化数据成员。 (3)定义显示(display)方法,将姓名和年龄输出; 在main方法中,利用所定义的构造方法,创建人类的实例(如:张三,18),然后将信息输出。 要求:在文本区选择.java语言,将源代码写入即可,不需要截图,不需要附件。题目中未涉及到的信息,可自行确定。

第八周 继承、抽象类与接口(1)

第八周测验

1、下面说法错误的是( )。
A、Java语言只支持单重继承
B、abstract可修饰类、方法
C、private提供最高级别的保护
D、关键字final和abstract能同时使用

2、下面描述正确的是( )。
A、this可以用来访问父类中定义的成员变量和成员方法
B、在Java中,通过类的定义实现单重继承,通过抽象类的定义实现多重继承关系
C、super可以调用当前类中的构造方法,和this功能一样
D、父类中声明为final的成员在子类中可以被继承,但不能被覆盖

3、以下程序段的运行结果为( )。 class A { double f(double x, double y) { return x * y; } } class B extends A { double f(double x, double y) { return x + y; } } public class Test { public static void main(String args[]) { B b = new B(); System.out.println("Output is " + b.f(4, 6)); } }
A、Output is 10.0
B、Output is 24.0
C、Output is 6.0
D、Output is 24

4、在程序编写中,通过类名即可引用的方法是( )。
A、静态方法
B、实例方法
C、最终方法
D、私有方法

5、Java语言只支持单重继承。

6、Java中所有的类,都直接或间接地继承自java.lang.Object。

7、父类中有多个构造方法时,调用父类中某个特定的构造方法,需要使用super关键字。

8、在子类中,可以通过super关键字访问父类中的私有成员。

9、方法的覆盖,指的是在子类中,定义名称、参数个数与类型均与父类完全相同的方法,用以重写父类里同名的方法。

10、使用final方法的好处:固定该方法所对应的具体操作,防止子类误对父类关键方法的重定义,保证程序安全性和正确性。

第九周 继承、抽象类与接口(2)

第九周测验

1、定义一个静态方法,必须使用的修饰符是( )。
A、public
B、class
C、interface
D、static

2、某个类要实现一个接口,必须使用的关键字是( )。
A、interface
B、abstract
C、implements
D、static final

3、下列关于接口的说法,( )是正确的。
A、接口和类的各种规则是完全一样的,只是接口可以实现多重继承而已
B、接口不能继承接口
C、接口中的静态方法和常量,都可以通过接口名进行调用
D、一个类最多可以同时实现两个接口

4、下列说法,不正确的是( )。
A、一个类可以同时实现多个接口
B、若一个类声明实现某接口,就应实现该接口中所有抽象方法
C、Object类是所有类的直接或间接父类
D、在接口继承中,子接口只能继承到父接口中的常量

5、如内部类中有与外部类同名的域或方法,可以用外部类类名.this来访问外部成员。

6、Java中的接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道。

7、接口和抽象类是实现“面向抽象编程”的重要形式。

8、匿名内部类也可以有构造方法。

9、Java中的包可以将各种类组织在一起,使程序功能清楚、结构分明,还能解决类名冲突的问题。

10、Java编译器为所有程序自动引入包java.lang,自动引入它包含的所有的类,使用其他包中的类,须用import引入。

11、接口中除了抽象方法,还可以包含默认方法和静态方法。

学习通Java程序设计_16

Java是一种广泛应用于网络的编程语言,而在网络编程中,Socket编程是不可避免的一部分。本文将介绍如何使用Java中的Socket编程进行网络通信。

Socket编程的基础知识

在进行Socket编程之前,需要先了解几个基本概念:

  • IP地址:是一组用于标识网络上设备的数字,类似于家庭地址。
  • 端口号:是一个与IP地址组合使用的数字,用于标识网络中的进程。
  • 协议:用于规定数据传输时的标准,如TCP、UDP等。
  • Socket:是一个抽象的概念,用于表示网络中的一个端点。

Socket编程的步骤

下面是Socket编程的基本步骤:

  1. 创建Socket对象。
  2. 建立连接。
  3. 发送数据。
  4. 接收数据。
  5. 关闭连接。

Socket编程的实例

下面是一个使用Java Socket进行网络通信的示例:

import java.io.*;import java.net.*;public class Client {     public static void main(String[] args) throws Exception {         Socket socket = new Socket(\127.0.0.1\ 8080);        OutputStream outputStream = socket.getOutputStream();        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);        dataOutputStream.writeUTF(\Hello Server!\        InputStream inputStream = socket.getInputStream();        DataInputStream dataInputStream = new DataInputStream(inputStream);        System.out.println(\Message from server: \ + dataInputStream.readUTF());        dataOutputStream.close();        outputStream.close();        socket.close();    }}

上述代码中,首先创建了一个Socket对象,并指定要连接的IP地址和端口号(这里使用了本地IP地址和8080端口号)。接着,使用OutputStream对象发送数据,使用DataInputStream对象接收数据。最后,关闭连接。

import java.io.*;import java.net.*;public class Server {     public static void main(String[] args) throws Exception {         ServerSocket serverSocket = new ServerSocket(8080);        Socket socket = serverSocket.accept();        InputStream inputStream = socket.getInputStream();        DataInputStream dataInputStream = new DataInputStream(inputStream);        System.out.println(\Message from client: \ + dataInputStream.readUTF());        OutputStream outputStream = socket.getOutputStream();        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);        dataOutputStream.writeUTF(\Hello Client!\        dataInputStream.close();        inputStream.close();        dataOutputStream.close();        outputStream.close();        socket.close();        serverSocket.close();    }}

上述代码中,首先创建了一个ServerSocket对象,并指定要监听的端口号(这里使用了8080端口号)。接着,使用accept()方法等待客户端连接。一旦客户端连接成功,就可以使用InputStream对象接收数据,使用DataOutputStream对象发送数据。最后,关闭连接。

总结

Socket编程是Java网络编程中非常重要的一部分,具有广泛的应用场景。本文介绍了Socket编程的基础知识、步骤以及实例,希望对读者有所帮助。

学习通Java程序设计_16

Java是一种广泛应用于网络的编程语言,而在网络编程中,Socket编程是不可避免的一部分。本文将介绍如何使用Java中的Socket编程进行网络通信。

Socket编程的基础知识

在进行Socket编程之前,需要先了解几个基本概念:

  • IP地址:是一组用于标识网络上设备的数字,类似于家庭地址。
  • 端口号:是一个与IP地址组合使用的数字,用于标识网络中的进程。
  • 协议:用于规定数据传输时的标准,如TCP、UDP等。
  • Socket:是一个抽象的概念,用于表示网络中的一个端点。

Socket编程的步骤

下面是Socket编程的基本步骤:

  1. 创建Socket对象。
  2. 建立连接。
  3. 发送数据。
  4. 接收数据。
  5. 关闭连接。

Socket编程的实例

下面是一个使用Java Socket进行网络通信的示例:

import java.io.*;import java.net.*;public class Client {     public static void main(String[] args) throws Exception {         Socket socket = new Socket(\127.0.0.1\ 8080);        OutputStream outputStream = socket.getOutputStream();        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);        dataOutputStream.writeUTF(\Hello Server!\        InputStream inputStream = socket.getInputStream();        DataInputStream dataInputStream = new DataInputStream(inputStream);        System.out.println(\Message from server: \ + dataInputStream.readUTF());        dataOutputStream.close();        outputStream.close();        socket.close();    }}

上述代码中,首先创建了一个Socket对象,并指定要连接的IP地址和端口号(这里使用了本地IP地址和8080端口号)。接着,使用OutputStream对象发送数据,使用DataInputStream对象接收数据。最后,关闭连接。

import java.io.*;import java.net.*;public class Server {     public static void main(String[] args) throws Exception {         ServerSocket serverSocket = new ServerSocket(8080);        Socket socket = serverSocket.accept();        InputStream inputStream = socket.getInputStream();        DataInputStream dataInputStream = new DataInputStream(inputStream);        System.out.println(\Message from client: \ + dataInputStream.readUTF());        OutputStream outputStream = socket.getOutputStream();        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);        dataOutputStream.writeUTF(\Hello Client!\        dataInputStream.close();        inputStream.close();        dataOutputStream.close();        outputStream.close();        socket.close();        serverSocket.close();    }}

上述代码中,首先创建了一个ServerSocket对象,并指定要监听的端口号(这里使用了8080端口号)。接着,使用accept()方法等待客户端连接。一旦客户端连接成功,就可以使用InputStream对象接收数据,使用DataOutputStream对象发送数据。最后,关闭连接。

总结

Socket编程是Java网络编程中非常重要的一部分,具有广泛的应用场景。本文介绍了Socket编程的基础知识、步骤以及实例,希望对读者有所帮助。



Ɣ回顶部