选择题

1.类Circle的包名为my.shape,源程序文件保存在d:\myjava\ch1\Circle.java,假设运行cmd命令后当前目录为:d:\users,而编译后的Circle.class需要放在d:\install\my\shape文件夹下。下则此时输入的编译命令为:AC

A. javac -d d:\install ..\myjava\ch1\Circle.java

B. javac -d ..\myjava\ch1\Circle.java d:\install

C. javac -d d:\install d: \myjava\ch1\Circle.java

D. javac -d d:\install\my\shape d:\myjava\ch1\Circle.java

知识点1:javac命令常用的语法格式::

  • javac命令常用的语法格式:

    • javac -d 编译后class文件的位置 java文件的路径

      注意点:

      • 编译后class文件的位置:不包括所在的包、会自动创建包的目录层次结构

      • 文件的路径包括相对路径和绝对路径

    • javac命令的-d参数用于指定编译后的java类的class文件的位置,如果java类带有包(package),将会在指定位置创建包

    • ..表示上一级目录

  • 本题分析

    • 当前路径为d:\users

    • java文件的相对路径为..\myjava\ch1\Circle.java(..表示跳到D盘),绝对路径为d: \myjava\ch1\Circle.java

    • 编译后class文件的位置:d:\install

    综上分析,套入语法,得到的写法为

    • 相对路径写法:javac -d d:\install ..\myjava\ch1\Circle.java

    • 绝对路径写法:javac -d d:\install d: \myjava\ch1\Circle.java

    故选AC

2.

package choice.two;
​
public class ChoiceTwo {
​public static void main(String[] args) {A a = new B(10, 20);}
​
}
class A {int a;static {System.out.print("aaa   ");}public A(int a) {this.a = a;System.out.print("a=" + a + " ");}
}
​
​
class B extends A {int b;static {System.out.print("bbb   ");}
​public B(int a, int b) {super(a);//此处调用了父类的构造方法this.b = b;System.out.print("b=" + b + " ");}
​
}

输出结果为: D_

A. aaa a=10 bbb b=20 B. a=10 aaa b=20 bbb

C. a=10 b=20 aaa bbb D. aaa bbb a=10 b=20

知识点2:java初始化顺序、super的用法

  • java程序的初始化顺序

    • 父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量(实例变量)、父类非静态代码块、父类构造器(构造方法)、子类非静态变量、子类非静态代码块、子类构造器(构造方法)

    • 先父后子,先静态后非静态,先量再块后方法

  • super的用法

    • 引用父类的成员变量和成员方法

      super.getName();
    • 调用父类的构造方法

3.以下代码的空白处应该填写的代码是:__C

package choice.three;
public class Outer {double d = 100;class Inner {void print() {System.out.println(_);// 输出外部类d的值}}public static void main(String args[]) {Outer o = new Outer();Outer.Inner inner = _________;// 创建内部类Inner的对象inner}
}

A. Outer.d o.new Inner() B. d new Outer.Inner()

C. d o.new Inner() D. Outer.d o.new Inner()

知识点3:外部类与内部类

  • 在内部类里里面使用外部类的成员变量、成员方法十分方便,跟外部类里面使用外部类的成员变量成员方法一样,可以直接引用

  • 测试类里面使用内部类的语法格式

    //外部类 外部类对象名=new 外部类构造方法(实参列表);
    //外部类.内部类 内部类对象名=外部类对象名.new 内部类构造方法;
    Outer outer=new Outer("张三");
    Outer.Inner inner=outer.new Inner();

本题分析:

  • 输出外部类d的值,可直接引用d,排除AD

  • 创建内部类Inner的对象inner:外部类对象名.new 内部类构造方法;

4.关于数组的定义以下正确的是:A__

A. double myDouble[]=new double [5]; B. double myDouble [5]=new double [5];

C. double myDouble =new double [5]; D. double myDouble [5]=new double [] ;

知识点4:一维数组的声明与创建

  • 一维数组声明类型

    数据类型[] 数组名;
    数据类型  数组名[];
  • 一维数组的创建:

    数组名=new 数组元素类型[元素个数];
    str=new String[10];
    ​
    //数组声明创建的格式1;
    元素类型[] 数组名=new 元素类型[元素个数];
    //数组声明创建的格式2:
    元素类型[] 数组名=[new 元素类型[]]{元素1,元素2,元素3...};
    int arr[]=new int[]{0,1,2};
    int arr[]={0,1,2};
    //也可以让数组不指向任何数组对象
    int x[]=new int[100];
    x=null;
  • 本题分析

    • A符合数组声明创建的格式1

    • B:double myDouble [5]=new double [5];声明的中括号内不能写元素个数

    • C:double myDouble =new double [5];声明时缺少一个中括号

    • D:double myDouble [5]=new double [] ;声明和创建的中括里的内容反了

5.针对第1题的要求,则此时classpath设置的内容为: D

A. d:\myjava\ch1; B. d:\users\my\shape;

C. d:\install\my\shape; D. d:\install;

知识点5:classpath

  • classpath

    • 环境变量classpath里面填写的是字节码文件所在的目录,如果字节码文件表示的类有包的话,则classpath应该填写包所在的目录。

  • 本题分析

    • 类Circle的包名为my.shape,所以应该填写包所在目录,即 d:\install,故选D

6.代码如下:

int a=10,b=20;
​
a++;b=a++;
​
if(b>=12)
​System.out.println("a="+a);
​
else
​System.out.println("b="+b);

程序输出结果为:__B_

A. a=10 B. b=11

C. a=12 D. b=12;

知识点6:

  • a++:先运算再递增。++a:先递增再运算

  • 本题分析:b = a++; // b的值是a++之前的,即b=11;执行此行后,a=12了。先赋值再进行自增

    故选B

7.关于数组以下说法正确的是:__AC__

A. Float f[] ; 只是声明了数组f,并没有分配空间

B. float f={3.2f,2.4f}; f是一个具有2个元素的float数组,其中f[0]=3.2f;f[1]=2.4f;

C. Student s[]=new Student[3]; s是一个Student类型的数组,其中每个元素目前是null

D. char c[]=new char[2]; c[ 2]=’m’;这个语句是正确的。

知识点6:数组的知识

  • 声明数组只是创建了一个引用变量,并不为数组元素分配内存,因此[]中不能指出数组中元素的个数,Java是利用运算符来为数组型变量分配内存空间的,这就是创建数组

  • 如果数组元素是基本数据类型,在完成new操作之后秘书组中的元素会自动初始化为默认值,可以直接使用数据元素

    如果数组元素为引用数据类型,在完成new操作之后数组元素默认为null

  • 本题分析:

    • A选项说法正确;

    • B选项说法错误;原因:没有[]。

    • C选项说法正确;Student为引用数据类型,不是基本数据类型

    • D选项说法错误; c[ 2]会出现数组下标越界异常。

8.关于文件操作,以下说法正确的是:_ABC

A.要修改文件d:\my.txt的名字为d:\your.txt,使用的代码为:

File f=new File("d:\my.txt"); File fNew=new File("d:\your.txt"); f.renameTo(fNew);

B.要判断文件d:\1.txt是否存在的代码是: File f=new File("d:\1.txt"); f. exists();

C.要删除文件d:\2.txt 的代码为:File f=new File("d:\2.txt"); f.delete();

D.要列出d:\myproject下的子文件的代码为:

File f=new File("d:\myproject");

File[] files=f.listFile();

知识点8:File类的方法

  • 修改文件名的方法renameTo(文件名)

  • 判断文件或目录是否存在的方法:

    public boolean exists();
  • public boolean delete()

    删除文件或目录。当且仅当成功删除文件或目录时返回true,否则返回false,目录必须为空才能删除

  • public File[] listFiles()

    以File对象数组的形式返回当前目录下的所有文件和目录

  • 本题分析

    • D方法名错误

9.String s="1234567890";

则从s中截取子串"5678"的方法为:__A

A. s.substring(4,8) B. s.substring(4,7)

C. s.substring(5,8) D. s. substring (5,9)

知识点9:String类的常用方法

字符串下标从0开始。String类的常用方法。此处考的是截取子字符串的substring(int beginIndex, int endIndex),结尾指的是开区间

还有substring(int beginIndex):从beginIndex开始一直到字符串结尾的子串。

10.

类People和Worker的定义如下:

class People{

private String name;

public People(String name){ //应该是

this.name=name;

}

}

class Worker extends People{

private double wage;

public Worker (String name,double wage){

… …

}

}

则在Worker的构造方法中给name和wage赋值的语句正确的是:___C___

A. super. People (name); this. wage=wage; B. People (name); this. wage=wage;

C. super(name); this. wage=wage; D. super. name=name; this. wage=wage;

知识点10:super的用法,this

  • super调用父类构造方法

11.

代码

String s1="Hello World";//0001 常量池中

String s2=new String("hello World");

//Hello World->0001 常量池 在堆上Hello World复制并创建 1001

//hello world->0002 常量池 在堆上Hello world复制并创建 1001

System.out.print(s1.equals(s2)+ " ");

System.out.println(s1==s2);

的输出结果为:__D

A. true true B. true false

C. false true D.false false

知识点11:String类对象的创建

String类的对象的创建:

(1)String s1="Hello World"

如果"Hello World"在常量池不存在,则在常量池创建对象"hello World",然后将地址赋给s1。

(2)String s2=new String("hello world")

检测常量池中是否存在对象"hello World",

不存在,则首先在常量池创建该对象"hello World",然后将地址赋给s1。

所以本题两个打印结果都为false

12.

类A和类B的定义如下:

package com;

*class* A {

*private* *int* a = 3;

*double* b = 4.5;

*protected* *double* c = 6;

……

}

package com;

class B extends A{

……

}

则在B类中: ___B___

A.可以访问a和b,不能访问c B.不能访问a,可以访问b和c

C.不能访问a,可以访问b D.不能访问a,可以访问c

知识点12:访问控制符

  • private:private修饰的成员只能被它所属的类内的其他方法访问,不能被该类以外的其他类访问

  • 默认访问权限:不写默认访问控制符的就是默认访问权限,默认访问权限定义的内容可以被同一个包中的类所访问,但不能被别的包中的类访问

  • protected:修饰的成员可以被同一个包内的其他类访问,不同包如果是它的子类也可以访问,其他包不是它的子类不能访问

  • public:修饰的成员可以被任何类访问

  • 本题分析:

    • 此处,B和A在同一个包中,因此A类对B类是可见的,这样B类有可能访问A类中的默认访问权限的成员(属性和方法)。因此,B类可以访问b属性;

      B是A的子类。因此,无论A与B是否在同一个包中,B类可以访问其父类A中的protected成员。所以可以访问c属性

      private的成员,只有在本类中才可以访问,其他任何类无权访问。因此此处,B类不能访问a属性。

    • 所以B不能访问a,可以访问b和c,选B

14.

代码

class Test{

static int m=10;

int n=5;

public Test(){m++;n=n+2;}

public void add(){

m++;n++;//12 8

}

}

则执行以下代码

Test t1=new Test ();

t1.add();

Test t2=new Test ();

t2.add();

System.out.println("t1.m="+t1.m+" t2.n="+t2.n);

的输出结果为: _A

A. t1.m=14 t2.n=8 B. t1.m=12 t2.n=8

C. t1.m=14 t2.n=11 D.t1.m=12 t2.n=11

  • 知识点:类变量和实例变量

    • 此处m是类变量,是所有new出来的对象共有的,n为实例变量,仅为t2拥有

18.

以下说法正确的是:__ACDE

A.抽象类可以有抽象方法,也可以没有抽象方法,接口里都是抽象方法

B.继承抽象类使用implements,实现接口使用extends

C.接口里定义的量都是public static final的。

D.java类的代码编写中只能有1个package语句,但是可以有多个import语句,package语句放在最前面,import语句放在package语句后面,然后才能定义类。

E.一个java源程序文件中只能有一个public的类。

知识点13:抽象类与接口、package(包)与import语句的用法

抽象类与接口:

  • 抽象类和抽象方法的说明

    • 抽象方法只有说明,没有实现

    • 抽象类可以包含抽象方法,也可以不包含抽象方法。但是包含抽象方法的类必须定义成抽象类

    • 抽象类不能被实例化,抽象类可以被继承,所以不允许被定义成final类

    • 继承抽象类必须实现抽象类的抽象方法,否则,也必须定义成抽象类

    • 一个类实现某个接口,但没有实现该接口的所有方法,则必须定义成抽象类。

  • 抽象类与接口的去区别

    • 类可以实现多个接口,但仅能从一个抽象类继承,从抽象类派生的类仍可实现接口,接口可以支持多继承

    • 抽象类中可以有普通方法;接口中的方法都是抽象方法,且都是public方法

    • 抽象类中的成员变量可以被不同的修饰符来修饰,可以有实例变量,也可以有类变量;接口中的成员默认的都是public、static、final的变量

    • 抽象类中有构造方法;接口中不能有构造方法,所以也不能创建对象

package(包)与import语句的用法

  • java类的代码编写中只能有1个package语句,但是可以有多个import语句,package语句放在最前面,import语句放在package语句后面,然后才能定义类。

  • 一个java源程序文件中只能有一个public的类。

本题分析:

  • B中继承抽象类使用extends,实现接口使用implements

19.

关于图形界面的以下说法正确的是:A CDE

A. 默认从上到下、从左到右排列的布局是FlowLayout

B. JRadioButton是复选框,JCheckBox是单选按钮

C. JTextField是单行文本输入控件,JtextArea是多行文本输入控件

D. 在四周放置小控件,在中间区域放置大控件的布局是:BorderLayout;

E. 可以按照多行多列布局的是GridLayout

知识点14:图形界面

  • FlowLayout:称为流式布局,是JPanel的默认布局方式,按照组建的先后顺序,默认从左到右依次将组件添加到容器中,根据容器宽度,放满一行后,自动从下一行开始从左到右派组件。

  • JRadioButton是单选按钮,JCheckBox是复选框

  • JTextField是单行文本输入控件,JtextArea是多行文本输入控件

  • BorderLayout:边框式布局,在四周放置小控件,在中间区域放置大控件的布局

  • GridLayout:网格式布局,按照多行多列的方式排列组件,每个行列的交叉区域称为一个单元格,每个组件占据一个单元格,根据单元格的大小调整大小。

  • 本题分析:

    • B中反了

20.

以下代码正确的是:_A_C_E

A.

public class Test{

public void draw(){System.out.println("hello");}

public int getA(){return 1;}

}

B.

public class Test{

public void draw(){System.out.println("hello");}

public int getA(){System.out.println("hello World");}

}//public int getA(){System.out.println("hello World");}//需要有return语句

C.

public class Test{

public int sum(int a,int b){return a+b;}

public double sum(double a, double b){return a+b;}

}

D.

public class Test{

public int sum(int a,int b){return a+b;}

public int sum(int x,int y){return x+y;}

}//方法名重复了

E.

public class Test{

public int sum(int a,int b){return a+b;}

public int sum(int a,int b,int c){return a+b+c;}

}

知识点15:成员方法的定义:

  • 成员方法的定义格式:

    [修饰符列表] 返回值类型 方法名([参数列表]){方法体
    }
    • 该方法不需要返回任何结果,需要定义成void

    • 如果不是void,方法体最后要有return语句,return值要跟方法头中写的返回值类型一致,方法名可以是任何合法的表示符

考试小技巧:

  • 太复杂的程序可以直接在ecilipse上直接复制粘贴来验证答案(本解析中有几个题没做解析的原因)

山东建筑大学java模拟考试选择总结相关推荐

  1. 山东建筑大学java期末_2020尔雅通识课移动通信(山东建筑大学)考试期末答案

    如何认识贵州省情? 答:(1)要用系统的.全面的观点认识贵州省情(1.5分):(2)要用运动变化和发展的观点认识贵州省情(1.5分):(3)要用辩证的观点认识贵州省情(1.5分):(4)要从本质上去认 ...

  2. 2022年建筑电工(建筑特殊工种)考试技巧及建筑电工(建筑特殊工种)复审模拟考试

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:山东省安全员A证最新解析参考答案及山东省安全员A证考试试题解析是安全生产模拟考试一点通题库老师及山东省安全员A证操作证已考过的学员 ...

  3. 2021年建筑架子工(建筑特殊工种)实操考试视频及建筑架子工(建筑特殊工种)作业模拟考试

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:建筑架子工(建筑特殊工种)实操考试视频是安全生产模拟考试一点通生成的,建筑架子工(建筑特殊工种)证模拟考试题库是根据建筑架子工(建 ...

  4. java模拟考试系统,java模拟考试软件下载

    java模拟考试手机版是一款能够在线学习java并且练习的手机软件,涵盖了java语言的所有知识,由浅入深带领大家从最基本的java代码到最后的java项目,让大家对java语言不再害怕,都能够熟练的 ...

  5. 基于JAVA模拟考试系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA模拟考试系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA模拟考试系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  6. 手机端模拟考试 —— 选择试题后的提交答案操作

    手机端模拟考试 -- 选择试题后的提交答案操作 //提交测试答案function submit(titieID, titieType, ShowTitleType) {test(titieID, ti ...

  7. 2021年施工升降机安装拆卸工(建筑特殊工种)考试内容及施工升降机安装拆卸工(建筑特殊工种)复审模拟考试

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:施工升降机安装拆卸工(建筑特殊工种)考试内容根据新施工升降机安装拆卸工(建筑特殊工种)考试大纲要求,安全生产模拟考试一点通将施工升 ...

  8. 2022起重信号司索工(建筑特殊工种)考题模拟考试平台操作

    题库来源:安全生产模拟考试一点通公众号小程序 2022年起重信号司索工(建筑特殊工种)复训题库是起重信号司索工(建筑特殊工种)考试题库精选题库!2022起重信号司索工(建筑特殊工种)考题模拟考试平台操 ...

  9. 二级考试java模拟考试_计算机考试二级考试Java模拟试题附答案

    全国计算机等级考试二级考试,需要考生在考前做好足够的复习准备,下面小编为大家带来计算机考试二级考试Java模拟试题,供各位考生练习! 计算机考试二级考试Java模拟试题 1.类Test1定义如下:pu ...

最新文章

  1. Entity framework 意外删除了表,如何在不影响其它表的情况下恢复回来 (EF数据库迁移原理)...
  2. python 类-python--类
  3. 5.3 核函数-机器学习笔记-斯坦福吴恩达教授
  4. 《OKR源于英特尔和谷歌的目标管理利器》读书笔记
  5. 数组对象的slice和splice方法
  6. 计算广告 pdf_他创业20年死磕PDF一项业务,如今上市身家76亿:所有的突然牛逼,背后都是玩命死磕...
  7. python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析
  8. 联想拯救者Y90游戏性能实测:全程满帧 散热能力出众
  9. mysql shell 配置mysql_Windows Mysql shell 配置
  10. springboot整合gprc 传输对象
  11. java 正则表达式大全_Java 正则表达式大全
  12. 网易云音乐UC!缓存格式文件转MP3方法
  13. 深入浅出数据分析:寻找最大值Solver
  14. 16个PLC入门基础知识,大学生学PLC就跟玩一样
  15. 国庆旅游——独山、箬寮原始森林
  16. Educational Codeforces Round 119 (Rated for Div. 2) EFG 题解
  17. Thinkpad E575重装系统,无法找到系统盘,无法开机
  18. 计算机 教授级职称评定,工程技术应用研究员(俗称正高,教授级高工等等)职称评定...
  19. 为什么我认识的机械工程师都抱怨工资低?
  20. 脑机接口等在线学习课堂视频分享(供下载)

热门文章

  1. 最小计算机主板,小板称王!VIA正式发布世界最小的x86主板
  2. 萤石网络IPO首日破发:市值缩水20亿元,海康威视为控股股东
  3. 计算机专业推荐游戏本,十大游戏笔记本电脑排名 热门游戏本推荐
  4. 睿智的目标检测61——Pytorch搭建YoloV7目标检测平台
  5. React 中 refs 的作用是什么?
  6. 理一理 OC/OD 门、开漏输出、推挽输出等一些相关概念
  7. 好系统重装助手教你win10快速开机的方法
  8. android ble notify,Android Ble notify功能踩坑
  9. vue报错 Avoided redundant navigation to current location: “/search“
  10. 树莓派非局域网远程连接