当前位置:文档之家› 《面向对象程序设计》课程题库_理论

《面向对象程序设计》课程题库_理论

《面向对象程序设计》课程题库_理论
《面向对象程序设计》课程题库_理论

Java 基础回顾

说明

Java和面向对象本身包罗万象,我们回顾的重点是基础知识。

以下是问题和参考答案,完全对很难,发现一个“原则上的”错误,期末加2分。

1、面向对象的特征有哪些方面?

答:面向对象的特征主要有以下几个方面:

- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。

- 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。

- 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B 系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2). 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

2、访问修饰符public,private,protected,以及不写(默认)时的区别?

答:

3、String 是最基本的数据类型吗?

答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type)。

4、java中类的属性和方法是什么?

答:你可以把类比作一类事物,比如人类就是一个大类,而一个具体的人,比如小明,就是人类里面的一个对象。这个对象有眼睛、鼻子、耳朵这些器官,这些被称为对象的属性。这个人会跑,会跳会吃饭,这是人的动作,被称为对象的方法

5、属性和方法是类的两个重要的组成部分,请具体说明属性和方法,并举例。

属性和方法是类的两个重要的组成部分,其中,属性提供灵活的机制来读取,编写或计算私有字段的值,而方法则以一部分代码构成代码块的形式存在,用来实现一部分特定的功能。

你可以把类比作一类事物,比如人类就是一个大类,而一个具体的人,比如小明,就是人类里面的一个对象。这个对象有眼睛、鼻子、耳朵这些器官,这些被称为对象的属性。这个人会跑,会跳会吃饭,这是人的动作,被称为对象的方法。

具体而言,

属性是一种用于访问对象或类的特性的成员。属性可以包括字符串的长度、字体的大小、窗体的标题和客户的名称。

方法是一种用于实现可以由对象或类执行的计算或操作的成员。方法在类或结构中声明,声明时需指定访问级别、返回值、方法名称及方法参数,方法参数放在括号中,并用逗号隔开。括号中没有内容表明方法没有参数。

举例:

class People{

//属性

private String name; //名字

private String sex; //性别

//方法

public void eat(Food food){

//吃food 是食物类

}

}

6、int 和Integer 哪个会占用更多的内存?

答:

Integer 对象会占用更多的内存。Integer 是一个对象,需要存储对象的元数据。但是 int 是一个原始类型的数据,所以占用的空间更少。

7、什么是开发平台?

答:

在软件开发的过程中,我们需要很多的工具来辅助我们的工作,不可能什么都从头自己做。

我们把编程的环境和相应的辅助工具统称为开发环境,开发平台就是用来提供这个开发环境的。比如,车床工人需要一个车床才能工作一样。

同样,Java 是一种开发平台

Java 不单纯是一个编程的语言,它自身提供了一系列开发 Java 所需要的环境和工具,

来进行编译、解释、文档生成、打包等。

8、浅析JDK,JRE与JVM的含义和联系。

答:

JDK(Java Development Kit)是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。

JRE(Java Runtime Environment)是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

JVM(Java Virtual Machine)是java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java 程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

如果安装了JDK,会发现你的电脑有两套JRE,一套位于Java\jdk\jre ,另外一套位于 Java\jre目录下,后面这套比前面那套少了Server端的Java虚拟机。jdk的bin下有各种java程序需要用到的命令,与jre 下的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为jre只是一个运行环境而已,与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的jvm,而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。

JRE的地位就像一台PC机一样,我们写好的Win32应用程序需要操作系统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Java应用程序。

9、举例说明如何定义和使用一个类,核心代码需注释含义。

public class Puppy{

int puppyAge;

public Puppy(String name){

// 这个构造器仅有一个参数:name

System.out.println("Passed Name is :" + name );

}

// 设置年龄

public void setAge( int age ){

puppyAge = age;

}

// 获取年龄

public int getAge( ){

System.out.println("Puppy's age is :" + puppyAge );

return puppyAge;

}

public static void main(String []args){

/* 创建对象*/

Puppy myPuppy = new Puppy( "tommy" );

/* 通过方法来设定age */

myPuppy.setAge( 2 );

/* 调用另一个方法获取age */

myPuppy.getAge( );

/*你也可以像下面这样访问成员变量*/

System.out.println("Variable Value :" + myPuppy.puppyAge );

}

}

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

11、JAVA中构造方法,实例方法,类方法,有什么区别?

答:

构造方法, 是用来构造类的对象的,方法名和类名相同没有返回值。一般用new 构造方法名() 来创建该类的对象。在不写构造方法的情况下会有一个默认的无参构造方法。

实例方法, 简单地说就是可以通过类的实例(某个对象)调用的方法,也就是我们正常情况下使用的方法。实例方法也称成员方法。

类方法, 简单地说就是直接可以用类名调用的方法,也就是被关键字static修饰的方法,它不需要创建类的对象来调用该方法。

12、描述以下Test 类的基本运行顺序。

1. public class Test {

2. private String name;

3. private int age;

4.

5. public Test() {

6. name = "Tom";

7. age = 20;

8. }

9. public static void main(String[] args) {

10. Test t = new Test();

11. System.out.println(https://www.doczj.com/doc/d98223908.html, + "的年龄是" + t.age );

12. }

13. }

答:

运行的基本顺序是:

(1)先运行到第9 行,这是程序的入口。

(2)然后运行到第10 行,这里要new 一个Test,就要调用Test 的构造方法。

(3)就运行到第5 行,注意:可能很多人觉得接下来就应该运行第6 行了,错!初始化一个类,必须先初始化它的属性。

(4)因此运行到第2 行,然后是第3 行。

(5)属性初始化完过后,才回到构造方法,执行里面的代码,也就是第6 行、第7 行。

(6)然后是第8行,表示new 一个Test 实例完成。

(7)然后回到main 方法中执行第11 行。

(8)然后是第12 行,main方法执行完毕。

13、数组有没有length()方法?String有没有length()方法?

答:数组没有length()方法,有length 的属性。String 有length()方法。JavaScript中,获得字符串的长度是通过length属性得到的,这一点容易和Java混淆。

15、构造器(constructor)是否可被重写(override)?

答:构造器不能被继承,因此不能被重写,但可以被重载。

17、是否可以继承String类?

答:String 类是final类,不可以被继承。继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A)。

18、初始化子类必先初始化父类,请通过下面的Test类描述父类和子类之间的初始化顺序和运行顺序.

1. public class Test extends Parent {

2. private String name;

3. private int age;

4. public Test() {

5. name="Tom";

6. age=20;

7. }

8. public static void main(String[] args) {

9. Test t = new Test();

10. System.out.println(https://www.doczj.com/doc/d98223908.html, + "的年龄是" + t.age);

11. }

12. }

13. class Parent {

14. private int num = 1;

15. public Parent() {

16. System.out.println("现在初始化父类");

17. }

18. public void test() {

19. System.out.println("这是父类的test方法");

20. }

21. }

答:

上述类的基本运行顺序是:

(1)先运行到第8 行,这是程序的入口。

(2)然后运行到第9 行,这里要new 一个Test,就要调用Test 的构造方法。

(3)就运行到第4 行,注意:初始化子类必先初始化父类。

(4)要先初始化父类,所以运行到第15 行。

(5)然后是第14 行,初始化一个类,必须先初始化它的属性。

(6)然后是第16 行。

(7)然后是第17 行,表示父类初始化完成。

(8)然后是回到子类,开始初始化属性,因此运行到第2 行,然后是第3 行。

(9)子类属性初始化完过后,才回到子类的构造方法,执行里面的代码,也就是第5、6 行。

(10)然后是第7 行,表示new 一个Test 实例完成。

(11)然后回到main 方法中执行第10 行。

(12)然后是第11 行。

19、String和StringBuilder、StringBuffer的区别?

答:Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们可以储存和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高。

20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?答:

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同;

重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数。

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。

21、关键字super用途是什么?

答:答:可被用来引用该类的父类,它被用来引用父类的成员变量或方法。父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯。

在许多情况下,使用默认构造方法来对父类对象进行初始化。当然也可以使用super来显示。

使用super调用父类的构造方法时,无论是super 还是this,都必须放在构造方法的第一行。

通常,可通过从子类构造方法的第一行调用关键字super 的手段,调用一个的父类构造方法作为子类初始化的一部分。

要控制具体的构造方法的调用,必须给super()提供合适的参数。当不调用带参数的super时,缺省的父类构造方法(即,不带参数的构造方法)被隐含地调用。在这种情况下,如果没有缺省的父类构造方法,将导致编译错误。

22、char 型变量中能不能存贮一个中文汉字,为什么?

答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),所以放一个中文是没问题的。

23、抽象类(abstract class)和接口(interface)有什么异同?

答:抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是private、默认、protected、public的,而接口中的成员全都是public的。抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法。

25、StringBuffer和String、StringBuilder的区别?

答:StringBuffer类和String、StringBuilder一样,也用来代表字符串,String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.StringBufferd类与StringBuilder的原理和操作基本相同。区别在于StringBufferd支持并发操作,线性安全的,适合多线程中使用。StringBuilder不支持并发操作,线性不安全的,不适合多线程中使用。StringBuilder效率要略高于StringBufferd。

27、阐述静态变量和实例变量的区别。

答:静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。

28、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

答:不可以,静态方法只能访问静态成员,因为非静态方法的调用要先创建对象,在调用静态方法时可能对象并没有被初始化。

29、下面的程序有错误?请改正并说明错误原因。

class A {

A(String myStr){

}

}

class B extends A{

B(){

}

}

public class Main {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

}

}

答:

B类是A类的子类,会自动调用父类的构造函数。但是,A类没有定义无参构造方法,程序无法编译通过。通常,如果设计一个类的目的是为了被继承,最好实现一个无参构造方法,这样可以避免编译错误。当调用无参数的super时,缺省的父类构造方法(即,不带参数的构造方法)被隐含地调用。在这种情况下,如果没有缺省的父类构造方法,将导致编译错误。

30、什么是枚举类型?为什么需要枚举类型?请说明和举例.

答:

枚举类型enum 是一种新的类型,在JDK5.0 加入,允许用常量来表示特定的数据集。

这些数据是分配时预先定义的值的集合,而且全部都以类型安全的形式来表示。

在枚举类型没有加入到Java 前,我们要想表达常量的集合,通常采用如下的方式:

public class Test {

public static final int A = 1;

public static final int B = 2;

public static final int C = 3;

public static final int D = 4;

public static final int E = 5;

}

那么我们在使用的时候就采用如下代码:

Test.A 或者Test.B 之类的代码。

但是在这样做的时候,我们需要记住这类常量是Java 中int 类型的常量,这意味着该方法可以接受任何int 类型的值,即使它和Test 中定义的所有级别都不对应。因此需要检测上界和下界,在出现无效值的时候,可能还要包含一个IllegalArgumentException。而且,如果后来又添加另外一个级别(例如TEST.F,那么必须改变所有代码中的上界,才能接受这

个新值。

换句话说,在使用这类带有整型常量的类时,该解决方案也许可行,但并不是非常有效。枚举就为处理上述问题提供了更好的方法。把上面的例子改成用枚举的方式:

public class Test {

public enum StudentGrade {

A, B, C, D, E, F

};

}

可以采用如下的方式进行使用

public class Test {

public enum StudentGrade {

A, B, C, D, E, F

};

public static void main(String[] args) {

System.out.println("学生的平均成绩为==" + StudentGrade.B);

}

}

上面的示例都相当简单,但是枚举类型提供的东西远不止这些。您可以逐个遍历枚举值,也可以在switch 语句中使用枚举值,枚举是非常有价值的。

31、Java 中的构造器链是什么?

答:当你从一个构造器中调用另一个构造器,就是Java 中的构造器链。这种情况只在重载了类的构造器的时候才会出现。

32、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

答:接口可以继承接口,而且支持多重继承。抽象类可以实现(implements)接口,抽象类可继承具体类也可以继承抽象类。

33、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?

答:可以,但一个源文件中最多只能有一个公开类(public class)而且文件名必须和公开类的类名完全保持一致。

34、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

答:可以继承其他类或实现其他接口,在Swing、javaFX编程和Android开发中常用此方式来实现事件监听和回调。

35、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

答:一个内部类对象可以访问创建它的外部类对象的成员,包括私有成员。

36、Java 中的final关键字有哪些用法?

答:(1)修饰类:表示该类不能被继承;(2)修饰方法:表示方法不能被重写;(3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。

37、什么是不可变对象(immutable object)?Java 中怎么创建一个不可变对象?

不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如String、Integer 及其它包装类。

不可变对象对于缓存是非常好的选择,因为你不需要担心它的值会被更改。不可变类的另外一个好处是它自身是线程安全的,你不需要考虑多线程环境下的线程安全问题。

要写出这样的类,需要遵循以下几个原则:

1. 将类声明为final,所以它不能被继承

2. 将所有的成员声明为私有的,这样就不允许直接访问这些成员

3. 对变量不要提供setter方法

4. 将所有可变的成员声明为final,这样只能对它们赋值一次

5. 如果类中包含mutable类对象,那么返回给客户端的时候,返回该对象的一个拷贝,而不是该对象本身(该条可以归为第一条中的一个特例)

当然不完全遵守上面的原则也能够创建immutable的类,比如String的hashcode就不是final的,但它能保证每次调用它的值都是一致的,无论你多少次计算这个值,它都是一致的,因为这些值的是通过计算final 的属性得来的!

下面是一个例子:

public final class Contacts {

private final String name;

private final String mobile;

public Contacts(String name, String mobile) {

https://www.doczj.com/doc/d98223908.html, = name;

this.mobile = mobile;

}

public String getName(){

return name;

}

public String getMobile(){

return mobile;

}

}

38、数据类型之间的转换:

- 如何将字符串转换为基本浮点类型?请举例

答:

调用基本数据类型对应的包装类中的方法parseXXX(String)或valueOf(String)即可返回相应基本类型;例如:

String s="123.456";

double num;

num=Double.parseDouble(s);

- 如何将字符串转为日期型?请举例

一种方法是将字符串…

例如:

String date="2006-11-23"

SimpleDateFormat df =new SimpleDateFormat("yyyy-MM-dd");

java.util.Date cDate = df.parse(date);

java.sql.Date dd = new java.sql.Date(cDate.getTime());

39、如何实现字符串的反转及替换?

答:方法很多,可以自己写实现也可以使用String或StringBuffer/StringBuilder中的方法。有一道很常见的面试题是用递归实现字符串反转,代码如下所示:

public static String reverse(String originStr) {

if(originStr == null || originStr.length() <= 1)

return originStr;

return reverse(originStr.substring(1)) + originStr.charAt(0);

}

40、浅析Java中的final关键字, 并举例说明?

在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类。

在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。

1.修饰类: 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。

在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。

2.修饰方法:使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。“

因此,如果只有在想明确禁止该方法在子类中被覆盖的情况下才将方法设置为final的。

注:类的private方法会隐式地被指定为final方法。

3.修饰变量:是final用得最多的地方。对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

举个例子:

上面的一段代码中,对变量i和obj的重新赋值都报错了。

41、日期和时间:

- 如何取得年月日、小时分钟秒?

- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?

- 如何取得某月的最后一天?

- 如何格式化日期?

答:

问题1:

创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值。Java 8中可以使用

java.time.LocalDateTimel来获取,代码如下所示。

public class DateTimeTest {

public static void main(String[] args) {

Calendar cal = Calendar.getInstance();

System.out.println(cal.get(Calendar.YEAR));

System.out.println(cal.get(Calendar.MONTH)); // 0 - 11

System.out.println(cal.get(Calendar.DATE));

System.out.println(cal.get(Calendar.HOUR_OF_DAY));

System.out.println(cal.get(Calendar.MINUTE));

System.out.println(cal.get(Calendar.SECOND));

// Java 8

LocalDateTime dt = LocalDateTime.now();

System.out.println(dt.getYear());

System.out.println(dt.getMonthValue()); // 1 - 12

System.out.println(dt.getDayOfMonth());

System.out.println(dt.getHour());

System.out.println(dt.getMinute());

System.out.println(dt.getSecond());

}

}

问题2:以下方法均可获得该毫秒数。

Calendar.getInstance().getTimeInMillis();

System.currentTimeMillis();

Clock.systemDefaultZone().millis(); // Java 8

问题3:代码如下所示。

Calendar time = Calendar.getInstance();

time.getActualMaximum(Calendar.DAY_OF_MONTH);

问题4:利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化。Java 8中可以用java.time.format.DateTimeFormatter来格式化时间日期,代码如下所示。

import java.text.SimpleDateFormat;

import java.time.LocalDate;

import java.time.format.DateTimeFormatter;

import java.util.Date;

class DateFormatTest {

public static void main(String[] args) {

SimpleDateFormat oldFormatter = new SimpleDateFormat("yyyy/MM/dd");

Date date1 = new Date();

System.out.println(oldFormatter.format(date1));

// Java 8

DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");

LocalDate date2 = LocalDate.now();

System.out.println(date2.format(newFormatter));

}

}

42、打印昨天的当前时刻。

答:

import java.util.Calendar;

class YesterdayCurrent {

public static void main(String[] args){

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -1);

System.out.println(cal.getTime());

}

}

在Java 8中,可以用下面的代码实现相同的功能。

import java.time.LocalDateTime;

class YesterdayCurrent {

public static void main(String[] args) {

LocalDateTime today = LocalDateTime.now();

LocalDateTime yesterday = today.minusDays(1);

System.out.println(yesterday);

}

}

45、Error和Exception有什么区别?

答:Error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;Exception表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。

46、try和finally

try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行?在return前还是后? 在finally中改变返回值可以吗?

答:会执行,在方法返回调用者前执行。

在finally中改变返回值可以吗?

可以,但在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,就会返回修改后的值。显然,在finally中返回或者修改返回值会对程序造成很大的困扰,C#中直接用编译错误的方式来阻止程序员干这种龌龊的事情,Java中也可以通过提升编译器的语法检查级别来产生警告或错误,强烈建议将此项设置为编译错误。

47、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?

答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。

Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。

一般情况下是用try来执行一段程序,如果系统会抛出(throw)一个异常对象,可以通过它的类型来捕获(catch)它,或通过总是执行代码块(finally)来处理;

try用来指定一块预防所有异常的程序;catch子句紧跟在try块后面,用来指定你想要捕获的异常的类型;throw语句用来明确地抛出一个异常;

throws用来声明一个方法可能抛出的各种异常(当然声明异常时允许无病呻吟);finally为确保一段代码不管发生什么异常状况都要被执行.

finally在异常处理时提供finally块来执行所有清除操作。主要与try-catch-finally配合使用。finally语句块的作用是无论出现什么情况,finally块中的语句一定会被执行,并且是在return之前执行。

48、什么是Object类?

答:Object类存储在https://www.doczj.com/doc/d98223908.html,ng包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object 类。然而,接口是不继承Object类的。

49、列出一些你常见的运行时异常?

答:

- ArithmeticException(算术异常)

- ClassCastException (类转换异常)

- IllegalArgumentException (非法参数异常)

- IndexOutOfBoundsException (下标越界异常)

- NullPointerException (空指针异常)

- SecurityException (安全异常)

50、阐述final、finally、finalize的区别。

答:

- final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不可修改。被声明为final的方法也同样只能使用,不能在子类中被重写。

- finally:通常放在try…catch…的后面构造总是执行代码块,这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。

- finalize:Object类中定义的方法,Java中允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize()方法可以整理系统资源或者执行其他清理工作。

51、类ExampleA继承Exception,类ExampleB继承ExampleA。

有如下代码片断:

try {

throw new ExampleB("b")

} catch(ExampleA e){

System.out.println("ExampleA");

} catch(Exception e){

System.out.println("Exception");

}

请问执行此段代码的输出是什么?

答:输出:ExampleA。(根据里氏代换原则[能使用父类型的地方一定能使用子类型],抓取ExampleA类型异常的catch块能够抓住try块中抛出的ExampleB类型的异常)

52、euqals()函数是用来做什么的?为什么不用“==”运算符来判断两个对象是否相等呢?答:equals()函数可以用来检查一个对象与调用这个equals()的这个对象是否相等。

答:虽然“==”运算符可以比较两个数据是否相等,但是要来比较对象的话,恐怕达不到预期的结果。就是说,“==”通过是否引用了同一个对象来判断两个对象是否相等,这被称为“引用相等”。这个运算符不能通过比较两个对象的内容来判断它们是不是逻辑上的相等。

53、阐述ArrayList的存储性能和特性。

答:ArrayList是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。

补充:遗留容器中的Properties类和Stack类在设计上有严重的问题,Properties是一个键和值都是字符串的特殊的键值对映射,在设计上应该是关联一个Hashtable并将其两个泛型参数设置为String类型,但是Java API中的Properties直接继承了Hashtable,这很明显是对继承的滥用。这里复用代码的方式应该是Has-A关系而不是Is-A关系,另一方面容器都属于工具类,继承工具类本身就是一个错误的做法,使用工具类最好的方式是Has-A关系(关联)或Use-A关系(依赖)。同理,Stack类继承Vector也是不正确的。Sun公司的工程师们也会犯这种低级错误,让人唏嘘不已。

54、import,package的用法和用途

认为 import跟C/C++ 的#include 相似,这是错误的观念。请详细说明Java中import,package的用法和用途。

答:

package名称就像是我们的姓,而 class 名称就像是我们的名字。package名称有很多,就好像是复姓。比如说https://www.doczj.com/doc/d98223908.html,ng.String,就是复姓https://www.doczj.com/doc/d98223908.html,ng,名字为String的类别;

java.io.InputStream则是复姓java.io,名字为InputStream的类别。

Java会使用package这种机制的原因也非常明显,就像我们取姓名一样,光是一间学校的同一届同学中,就有可能会出现不少同名的同学,如果不取姓的话,那学校在处理学生资料,或是同学彼此之间的称呼,就会发生很大的困扰。相同的,全世界的Java类别数量,恐怕比杭州人口还多,而且还不断的在成长当中,如果类别不使用套件名称,那在用到相同名称的不同类别时,就会產生极大的困扰。幸运的是,Java的套件名称我们可以自己取,不像人的姓没有太大的选择(所以有很多同名同姓的),如果依照Java的规范来取套件名称,那理论上不同人所取的套件名称不会相同,也就不会发生名称冲突的情况。

可是问题来了,因为很多套件的名称非常的长,在写程序时,会多打好多字,花费不少时间,比如说:java.io.InputStreamis=https://www.doczj.com/doc/d98223908.html,ng.System.in;

java.io.InputStreamReaderisr=newjava.io.InputStreamReader(is);

java.io.BufferedReaderbr=newjava.io.BufferedReader(isr);

实在是不美观又麻烦。於是,Java大人想了一个办法,就是import。

这个import就是在程序一开头的时候,先说明程序中会用到那些类别的简称,也就是只称呼名字,不称呼他的姓。首先,在代码开头写:

https://www.doczj.com/doc/d98223908.html,ng.System;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.BufferedReader;

这几行说明了这四个姓名的类别,在程序中只用他的名字来称呼,所以当程序中提到System就是指https://www.doczj.com/doc/d98223908.html,ng.System,而InputStream就是指java.io.InputStream,依此类推。於是原来的程序就变成:InputStream=System.in;

InputStreamReaderisr=newInputStreamReader(is);

BufferedReaderbr=newBufferedReader(isr);

这样看起来是不是清爽多了呢?如果这些类别用的次数很多,那就更能体会到import的好处了。可是这样还是不够,因为懒是人的天性,还是会有人觉得打太多import了也很浪费时间,於是Java姐姐又提供了一个方法:

https://www.doczj.com/doc/d98223908.html,ng.*;

importjava.io.*;

意思就是,等一下程序中提到的没有姓名的类别,不是姓https://www.doczj.com/doc/d98223908.html,ng,就是姓java.io,如果这两个裡面有同样名字的类别,而不幸的你又只用名字称呼这个类别,那编译器仍然会跟你抱怨,因为它还是不知道你说的这个类别指那一个姓的类别。那可不可以再懒一点呢,只写:import java.*;

历史告诉我们,人可以懒,但不能太懒,这样是不行的。因為那些类别是姓java.io 而不是姓 java。就像姓『诸葛』的人应该不会喜欢你称他為『诸』先生吧。

差不多了,天亮了...

55、设计GUI程序时,大部分事件监听器(处理器)都作为匿名内部类来实现。那么什么是匿名类?什么情况下需要使用匿名内部类?有什么好处?

答:

Java内部类是指在一个外部类的内部再定义一个类;而匿名内部类就是没有名字的内部类。

如果满足下面的一些条件,使用匿名内部类是比较合适的:

●只用到类的一个实例。

●类在定义后马上用到。

●类非常小(4行代码以下)

●给类命名并不会导致你的代码更容易被理解。

事件监听器使用匿名内部类有两大好处。

第一,因为匿名内部类的使用,我们可在同一处实现监听器方法,代码更清晰可读;

第二,第二,事件监听器一般只在一处使用一次,使用匿名内部类可避免不必要的命名类实现

56、toString() 方法实现了什么功能?当toString() 方法没有被覆盖的时候,返回的字符串通常是什么样子的?提供一个正确覆盖toString() 方法的例子.

答1:toString() 方法将根据调用它的对象返回其对象的字符串形式。

答2:当toString() 没有被覆盖的时候,返回的字符串格式是类名@哈希值,哈希值是十六进制的。举例说,假设有一个Employee 类,toString() 方法返回的结果可能是Empoyee@1c7b0f4d。

答3:代码清单:

public class Employee

{

private String name;

private int age;

public Employee(String name, int age)

{

https://www.doczj.com/doc/d98223908.html, = name;

this.age = age;

}

@Override

public String toString()

{

return name + ": " + age;

}

}

方法重载:同一个类中,可以定义同名的多个方法。它们的不同之处在于参数列表不同,这其中包括参数的个数不同或是对应的参数类型不完全相同。这就是方法的重载。当对该类的实力调用相应的方法时,系统将依据所带参数的个数及类型从同名的多个方法中来选择参数列表满足要求的方法,不只如此,在不同的类中也可以定义有相同方法名的方法。

2方法重写:使用类的继承关系,可以从已有的类产生一个新类,在原有特性基础上,增加了新的特性,原类及新类分别称为父类及子类。如果父类中原有的方法不能满足子类的要求,可以在子类中对父类的方法重新编写代码。这称为方法重写,也称为方法的隐藏,意思是子类中看不到父类中的实现代码,子类中定义的方法所用的名字、返回类型及参数表和父类中方法使用的完全一样,从逻辑上看就是子类中的成员方法将隐藏了父类中的同名方法。

二者区别:①方法重载时参数列表必须是不同的,使系统能区别出到底调用哪个方法,而方法重写时参数

列表可以是相同的;②方法重载时,方法的返回类型可能不同,也可能相同;而方法重写时,子类中方法的返回类型和父类中同名方法的返回类型完全一样;③方法重载多出现在同一个类中,方法重写必须是在父子类中。

3如果一个方法只有方法的声明,而没有方法的实现,则称为抽象方法。含有抽象方法的通常称为抽象类。在Java中可以通过关键字abstract把一个类定义为抽象类,每一个未被定义具体实现的抽象方法也应标记为abstract。

从形式上看,在Java中,类class之前可以使用多种修饰符,用来修饰限定所定义的类的特性。凡使用abstract 修饰符修饰的类都是抽象类。从实现上来看,抽象类就是没有具体的概念类。

抽象类一定要派生子类,父类中的抽象方法可以在子类中具体实现,也可以在子类中继续说明为抽象的。换句话说,抽象类是至少含有一个不完整方法的类。由于抽象类的特殊性,因此不能创建抽象类的实例。抽象类通常位于面向对象的类层次结构的顶层,它定义了该类的所有子类的对象可能具有的大致行为类型。具体点行为则在各子类中完成。

4接口是类的另一种表现方式,它是一种特殊的“类”,跟确切地说,他是抽象类功能的另一种实现方法,可将其想象为一个“纯”的抽象类。它也有一个类的基本形式,包括方法名、自变量列表以及返回类型,但不规定方法主体。因此在接口中所有的方法都是抽象方法,都没有方法体。

接口作用:为了保证多重继承,它可以定义多个类的共同属性。而且,Java通过允许一个类实现多个接口从而实现了比多重继承更强大的能力,并具有更加清晰的结构。

接口与抽象类的区别:①在接口中所有的方法都是抽象方法,都没有方法体,而在抽象类中顶一顶方法可以不想与抽象方法;②接口中定义的成员变量都默认为终极类的变量,即系统会将其自动增加final和static 这两个关键字,并且对改变量必须设置初值,而抽象类中没有此限制;③一个类只能由唯一的一个类继承而来,但可以实现多个接口。

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

面向对象程序设计实验指导书讲解

面向对象程序设计实验指导书 实验一、C++开发环境应用入门(2学时)(选做) 1、实验目的 (1)了解C++开发工具的特点 (2)熟悉C++开发环境 (3)学习用C++编写标准的C++程序 2、实验任务 使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序: #include void main(void) { cout<<”Hello!\n”; cout<<”Welcome to C++!\n”; } 3、实验步骤 (1)启动Visual C++或C++Builder开发环境 (2)创建一个项目 A)单击File菜单中的New选项,显示示新建对话框 B)选择Console Wizard(C++Builder) 或Win32 Console Application(VC++)。 C)选择项目所在路径及输入项目的名称 D)依次按‘下一步’直至完成为止。 (3)至此,C++Builder已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的main函数中写入必要的内容即可。 (4)对于VC,请继续下面的步骤: A)建立C++源程序文件 a)选选菜单命令Project|Add to Project|New,弹出New对话框 b)在New对话框的Files选项卡中选择C++ Source File,并填入文件名称,单击OK按钮,完成 新建C++源程序文件 B)编辑C++源程序文件 a)在文件编辑窗口中输入代码 b)完成后,选择菜单File|Save保存这个文件 C)建立并运行可执行程序 a)选择菜单命令Build,建立可执行程序 如果你正确输入了源程序,此时便成功地生成了可执行程序。 如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源 程序进行修改后,重新选择菜单命令Build建立可执行程序。 b)选择菜单命令Run,运行程序,观察屏幕显示内容。 D)关闭工作空间 选择菜单命令File|Colse WorkSpace关闭工作空间。

军事理论考试题库

浙江理工大学军事理论考试题库 《中国国防》章节 一、单选题 1、国防是国家为了防备和抵抗,制止,保卫国家主权、统一、领土完整和安全所进行的军事活动。( A ) A.侵略、武装颠覆 B.进攻、暴乱 C.进攻、武装颠覆 D.侵略、暴乱 2、中国的国防类型是(B) A.扩张型 B.自卫型 C.联盟型 D.中立型 3、一个国家实施国防的主要手段是(A) A.使用国家武装力量 B.发展经济建设 C.积极外交 D.加强军事实力 4、以下所列的不属于我国古代的国防工程范畴的是(D) A.城池 B.长城 C.京杭大运河 D.兵工厂 5、经各朝代多次修建连接,至明代行成了西起嘉峪关,东至山海关,全长公里的万里长城。(B) A.12800 B.12700 C.12000 D.13000 6、我国古代的国防工程建设汇总,建设的时间最早,数量最多的是(A) A.城池 B.长城 C.京杭大运河 D.海防要塞 7、1884年至1885年,中法交战,爱国将领率领的清军取得镇南关大捷。(A) A.冯子材 B.林则徐 C.丁汝昌 D.吉鸿昌

8、八国联军于年,发动了侵华战争。(B) A.1895 B.1900 C.1901 D.1911 9、八国联军侵华,清政府战败,清政府与八国为达标的侵略者签订了。(A) A. 《辛丑条约》 B.《天津条约》 C.《北京条约》 D.《马关条约》 10、年,中国共产党成立,中国工人阶级开始以自觉的姿态登上历史舞台。(D) A.1911 B.1919 C.1920 D.1921 11、是国防强大的基础。( D ) A.政治开明 B.军事科技发展 C.军队人才培养 D.经济发展 12、中的国防条款在国防法规体系中居于最高地位。(A) A.宪法 B.国防法规 C.兵役法 D.国防教育法 13、我国奉行的国防政策。( B ) A、扩张性 B、防御性 C、自卫性 D、中立性 14、《国防法》是哪年开始颁布实施的?( B ) A、1996 B、1997 C、1998 D、1999 15、国防教育的对象是(C)。 A学生 B、高校学生 C、全体公民 D、符合征兵条件的人 16、国防所维护的国家利益主要是( D ) A、政治利益 B、经济利益 C、外交利益 D、安全利益

信息化战争复习题大学军事理论课

信息化战争复习题大学 军事理论课 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

信息化战争复习题 一、判断题 1、现阶段和即将到来的战争形式为核威慑下的信息化战争。(√) 2、精确制导武器、电子战设备和指挥自动化系统在战争中得到应用,是信息化战争萌芽的标志。(√) 3、在信息化战争中,信息是核心资源,是决定战争胜负的关键因素。(√) 4、硬杀伤型信息武器,是指以计算机病毒武器和电子战武器为代表的攻击型信息武器。(×) 5、C4ISR系统,是战场指挥、控制、通信、计算机、情报、监视和侦察系统的简称。(√) 6、信息化战争,是信息时代的基本战争形态。(√) 7、信息化战争中,战场空间除陆、海、空、天外,还包括网络、电磁等空间。(√) 8、信息化战争主要是军队的事,与地方政府有关,与大学生无关。(╳) 9、信息化战争中,参战主体除了军队之外,还包括社会团体和个人。(√) 10、国防信息化建设应以国家信息化建设为依托,全民参与。(√)

二、单选题 1、在我国,最早提出“信息化战争”一词的科学家是_____。( D ) A 袁隆平 B 邓稼先 C 周光亚 D 钱学森 2、下列属于信息化军队的是________。(D) A 中国工农红军 B 侵华日军 C 抗美援朝时的志愿军 D 美军数字化部队 3、在信息化战争中,起核心作用的资源是________。( C ) A 机动力 B 火力 C 信息 D 体能 E 技巧 4、美国国家军事指挥中心使用的指挥控制系统是______。( A) A 全球指挥控制系统 B格洛纳斯系统 C 北斗导航定位系统 D 伽利略系统 5、以下武器装备属于信息化武器装备的是( D) A 日本侵华时用的三八步枪 B 二战时德军用的重机枪 C 北洋水师的“镇远”铁甲舰 D 美军的信息士兵系统 6、海湾战争爆发的时间是( A) A 1991年 B 1999年 C 2001年 D 2008年 7、美国轰炸中国驻南联盟大使馆是在哪一年( A) A 1999年 B 2001年 C 2003年 D 2011年 8、现在世界上能够全球作战、全球到达的国家军队是( D)

《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

《面向对象程序设计》实验指导书

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.doczj.com/doc/d98223908.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

军事理论试题及答案

1、中华民族在五千年的发展中,形成了以(爱国主义)为核心的团结统一、爱好和平、勤劳勇敢、自强不息的伟大民族精神。 2、中华民族共和国幅员辽阔、山川秀丽、陆地国土面积960万平方公里,海洋国土面积约300万平方公里,陆地边防线长2.28万公里,海岸线长(1.8万公里)。 3、2003年10月15日,我国“神舟5号”载人航天飞船发射成功,10月16日顺利返回,使我国成为世界上第(三)个掌握载人航天技术的国家。 4、台湾自古是中国的领土,古称夷洲,我国在(元朝)就对台湾实施行政管辖。 5、截止2002年7月21日,与中国建立外交关系的国家(163个),在建公交报上承认只有一个中国,台湾是中国的一部分。 6、第二次世界大战后,促使许多国家下决心实行新军事变革的主要战争是(1991年海湾战争)。 7、一颗在地球静止轨道上运行的导弹预警卫星,可以连续地监视地球上大约(45.2%)的区域。 8、《中华人民共和国国防教育法》是(2001年4月28日)颁布的。 9、我国法定的全民国防教育日是(每年九月的第三个星期六)。 10、联合国在(1971年10月25日)以压倒多数通过2758号决议,“承认中华人民共和国”政府的代表是中国在联合国唯一合法代表、中华人民共和国是安理会五个常任理事国之 二、判断题(每题一分,共10分):题:略 1、×、 2、× 3、× 4、× 5、× 6、√ 7、√ 8、× 9、×10、× 三、多项选择题(每题1分,共五分) 1、海军的使命是__C___保卫我国领海主权、争夺制海权。 防御外敌海上入侵B、维护国家利益和尊严 C、维护国家海洋权益 D、收复敌占岛屿 2、毛泽东和朱德指挥的红军于_B__年___月在_D___会师。 A、1927年4月 B、1928年4月 C、南昌 D、井冈山 3、国际战略环境是一个时期内世界各主要国家(集团)在矛盾、斗争或合作、共处中的___B____和总体战略趋势,是国际政治、经济、_C___形式的综合体现。 A/军事状况B、全局状况C、军事D、文化 4、常用的复合制导主要有:惯性-雷达相关末制导、惯性-半主动寻的制导-主动寻的末制、___ABCD__。 A、遥控-寻的制导 B、惯性-遥控寻的制导 C、惯性-星光制导 D、惯性-地形匹配制导 5、信息化战争作战能力按照军种、兵种结构区分,主要包括陆上作战力量、海上作战力、空中作战力量、战略导弹作战力量、_A______、____D___等作战力量。 A、电磁作战力量 B、空间作战力量 C、信息作战力量 D、心理作战力量 四、问答题(共75分) 1、自古以来,有国就有防,国无防不立。国防是关系到国家和民族生死存亡,荣辱兴衰的根本大计。因此,增强国防观念,关心和支持国防建设便成为每一位国民不可推卸的责任。对于被人们成为“天之骄子”的当代大学生来说,“心中有国防,时时念国防”更是责无旁贷。请你以大学生必须增强国防意识为内容写一篇短文,题目自拟,字数不少于800字。 可从国防对于一个国家的影响入手,联系国防史,联系当今我们面临的国家安全环境,分析加强国防建设的必要性;并从一名大学生的角度出发,如何为国家国防建设做出贡献。 高校大学生国防素质教育与精神文明建设毛泽东主席曾说:“一二.九运动是抗战动员的运动,是准备思想和干部的运动,是动员全民组的运动,有着重大历

《大学军事理论教程》试题和答案

《大学军事理论教程》试题 班级姓名学号 一、名词解释 1.国防: 2.军事思想: 3.战略环境: 4.精确制导武器: 5.新概念武器: 二、填空题 1.从公元前3200年到公元1964年这5164年中,世界上共发生战争()次,只有()年是和平的。这些战争使()亿人丧生。 2.国防是国家生存与发展的()保障。 3.国防的行为主体是()。 4.军事思想考察和回答的是军事领域的()问题。 5.《孙子兵法》开篇就指出:“兵者,国之大事,()不可不察也。” 6.战争的伟力之最深厚的根源存在于()之中。 7.无产阶级的战争观和方法论是毛泽东军事思想的()。 8.人民军队建设思想是建设人民军队的()。 9.研究战争要从研究()入手,着眼战争的特点和发展。 10.中国人民解放军军是()领导下的执行无产阶级革命政治任务的武装集团。 11.人民群众是战争胜负的()力量。 12. 精确制导武器被誉为“()”。 13. 航天器运行速度分为第一、第二、第三()速度。 14.空间站是在载人飞船的基础上发展起来的()航天器。 15.指挥信息系统是军队战斗力的“()”。 16.指挥信息系统是军队一体化作战体系的“()”。 17.激光武器是利用激光的能量直接摧毁目标的()武器。 18.环境武器是指通过利用或改变()所产生的巨大能量来打击目标的武器。 19.非致命武器是指为达到使人员或装备()而专门设计的武器系统。 20.新军事变革进一步拉大了世界各国军队武器装备和作战能力上的“()”。 三、选择题 (一)单项选择题 1.教育部、总参谋部、总政治部2007年1月24日联合颁发的《普通高等学校军事课教学大纲》规定大学生室内军事理论课教学时间为()学时。 A、18。 B、24。 C、36。 D、48。 2.公民服士兵预备役的年龄为()岁。 A、19~39。 B、16~37。 C、17~36。 D、18~35。 3.中华人民共和国中央军事委员会与中共中央军事委员会是()机构,负责领导全国武装力量。

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

军事理论试题题库及参考答案

重庆工程学院 军事理论考试试题库 一、选择题 1.古代海防建设是从开始的。 A.唐朝 B.宋朝 C.元朝 D.明朝 2.清朝规定:所有岁以上的满族男子都是兵丁。 A.15 B.16 C.17 D.18 3.1895年日本以清朝出兵朝鲜为由发动了甲午战争。北洋水师全军覆没,清政府被迫与日本签订了。 A.《天津条约》 B.《北京条约》 C.《马关条约》 D.《辛丑条约》4.从1840年鸦片战争到1911年辛亥革命这70多年间,清政府与外国列强签订了大大小小数百个不平等条约,割让领土近160万平方千米,共赔款万元,白银7亿多两。 A.2 200 B.2 400 C.2 500 D.2 700 5. 负责组织领导全国武装力量的军事行动。 A.总参谋部 B.总政治部 C.总后勤部 D.总装备部 6. 国防是的全面体现。 A.国家综合力量 B.国家经济实力 C.国家军事力量 D.国家科技实力 7.按照《兵役法》规定我国公民的合法服兵役的最高年龄限制是。 A.16岁 B.18岁 C.22岁 D.23岁8.下列不属于国防要素内容的是。 A政治要素 B 经济要素 C文化要素 D历史要素9. 围绕军队“三化”建设的总目标,提出了“政治合格、军事过硬、作风优良、纪律严明、保障有力”的总要求。 A.毛泽东 B.邓小平 C.江泽民 D.胡锦涛10.《兵役法》第二条规定:“中华人民共和国实行相结合、民兵与预备役相结合的兵役制度。 A.义务兵与民兵 B.义务兵与武装警察 C.义务兵与预备役 D.义务兵与志愿兵 11.中国古代军事思想最早出现在公元前21世纪至公元前世纪。 A.11 B.10 C.9 D.8 12.毛泽东军事思想的主要内容包括:无产阶级的战争观和方法论,,人民战争思想,人民战争的战略战术和国防建设理论。 A.军队建设理论 B.人民军队建设理论 重庆工程学院军事理论考试试题库第1 页(共52 页)

C++面向对象程序设计实验报告

C++面向对象程序设计实验报告 学院:信息科学与技术学院 班级:卓越电子1201 姓名:刘强 学号:120910115 实验二 C++面向过程程序设计 实验目的 掌握函数声明、定义和使用的方法 掌握函数递归调用的方法 实验内容 1、编写一个函数,求数列运算中从n个不同的数中取r个数的所有选择的个数,要求如下:主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束; 能检查输入数据的合法性,要求n>=1并且n>=r; 能得到正确结果。 输入:5 3输出:10 输入:10 20;输出:Input Invalid !; 输入:-1 4;输出:Input Invalid!; 步骤: 利用一个函数fn(int n)计算n!, 利用另一个函数Cnr(int n, int r)计算Cnr,在该函数中调用fn(), 程序代码: #include int fn(int n) { int s=1; for(int i=1;i<=n;i++) { s=s*i; } cout<<"n!="<

int Cnr(int n,int r) { cout<<"Please input two numbers:"<>n>>r; if(n==0&&r==0) { cout<<"Programme shutdown."<=1&&n>=r) { int a; int b; int c; int d; a=fn(n); b=fn(r); c=fn(n-r); d=a/(b*c); cout<

《军事理论》试题及答案

《军事理论》试卷 一、选择题 1、国防的基本类型包括( ABCD ) A、扩张型 B、联盟型 C、中立型 D、自卫型 2、我国的兵役制度是( A ) A、义务兵与志愿兵相结合、民兵与预备役相结合 B、志愿兵与民兵相结合、义务兵与预备役相结合 C、职业兵与义务兵相结合、现役与预备役相结合 D、义务兵与志愿兵相结合、现役与预备役相结合 3、我国实行“三结合”的武装力量体制。“三结合”是指( ACD )的结合。 A、中国人民解放军 B、预备役 C、民兵 D、中国人民武装警察部队 4、毛泽东提出“枪杆子里面出政权”的著名论断是在( A )上。 A、八七会议 B、古田会议 C、瓦窑堡会议 D、中共六大 5、下列战役以少胜多的是( ABCD ) A、牧野之战 B、赤壁之战 C、官渡之战 D、淝水之战 6、我国西周时期出现的军事书籍是( AD ) A、《军志》 B、《孙子兵法》 C、《司马法》 D、《军政》 7、我军“三化”建设的核心是( C ) A、革命化 B、正规化 C、现代化 D、信息化 8、在《论持久战》中,毛泽东把抗日战争划分为( ABCD )三个阶段。 A、战略防御 B、战略相持 C、战略进攻 D、战略反攻 9、我中国人民解放军海军诞生于( B ) A、1948年 B、1949年 C、1950年 D、1951年 10、提出“毛泽东军事思想”这一概念是在( B )上。 A、中共六大 B、中共七大 C、中共八大 D、中共九大 11、毛泽东军事思想形成于( B ) A、土地革命战争时期 B、抗日战争时期 C、解放战争时期 D、抗美援朝战争时期 12、当今时代的主题是( A ) A、和平与发展 B、战争与革命 C、和平与民主 D、发展与自由 13、精确制导弹药可分为( AD ) A、末制导弹药 B、制导炮弹 C、制导炸弹 D、末敏弹药 14、军事伪装按运用范围可分为( ABC ) A、战略伪装 B、战役伪装 C、战术伪装 D、战斗伪装 15、世界新军事变革的本质核心是( A ) A、信息化 B、数字化 C、综合集成化 D、高科技化 16、下列武器中属于核武器的是(ABD ) A、原子弹 B、中子弹 C、精确制炸弹 D、氢弹

2019年大学《军事理论》考试试题及答案

大学《军事理论》考试试题及答案 一、填空题 1、现代国防的类型,按照性质可分为扩张型和自卫型,按照形式可分为联盟型和中立型。 2、学校国防教育是国民国防教育的基础,是实施素质教育的重要内容。对小学,初中,高中,大学的国防教育提出了不同层次的要求。 3、国家机构包括立法机关,行政机关,司法机关和军队,警察,监狱等专门机构,这是实现国家职能的实体。 4、中国人民解放军由现役部队和预备役组成,现役部队由陆军,海军,空军,战略导弹部队(第二炮兵),中国人民解放军驻香港部队和中国人民解放军驻澳门部队组成。 5、著名的兵书有《孙子》《吴子》《六韬》《司马法》《黄石公三略》《尉缭子》和《李卫公问对》等,被称为武学必读的武经七书。 6、《孙子兵法》被推崇为“兵学圣典”“东方兵学的鼻祖”“武经的冠冕”,在世界军事历史上占有突出的地位。 7、“军事是政治关系的延续”这一名言出自《战争论》。 8、江泽民国防和军队建设思想,从战略角度,从全局上对军队的现代化建设进行了研究,提出了包括战争与和平理论,武器装备发展理论,人才培养理论,科技强军理论,思想政治工作理论等等。 9、胡锦涛提出坚持把科学发展观作为加强国防和军队建设的重要指导方针。 10、不同时期的战略有不同的内容和特点,决定因素主要有战略思想,战略环境,军事力量。

11、战略特点主要表现为全局性,对抗性,谋略性,相对稳定性。 12、研究国内的战略环境应重点把握地理环境,政治环境,综合国力三方面的情况。 13、一般把国际战略格局区分为四种基本类型:单极格局,两级格局,多级格局,多远交叉格局。 14、我国拥有960万平方千米的陆地疆土,拥有300万平方千米的海洋国土。 15、目前我国地缘方向上表现为“北稳,南和,东紧,西动”的不同态势。 16、新的国家安全观是“互信,互利,平等,合作”的安全观。 17、精确制导武器是指直接命中概率超过50%的制导武器。 18、实现信息化建设目标,最关键的就是要实现军事人才的跨越式发展。 19我国的预备役部队是现役常备军直接的后援力量,是国防建设和武装力量建设的重要力量。 20、2006年2月5日,中国政府代表在慕尼黑安全会议上阐述了中国安全政策。中国的安全政策有三个目标,一是保持中国自身的稳定与发展,二是维护周边地区的和平与稳定,三是促进国际安全对话与合作。 二、简答题 1.请简要阐述按照《中华人民共和国国防法》的规定,公民享有的国防权利和义务。 1)履行兵役的义务 2)维护国家统一和安全的义务 3)保护国防设施的义务

面向对象程序设计课后答案(完整版)

第二章2-4 #include using namespace std; Add(int a,int b); int main() { int x,y,sum; cout<<"please input x and y:"; cin>>x>>y; sum = add(x,y); cout < using namespace std; int main() {

int *p,*init; int countp=0; int countn=0; p = new int[20]; init = p; for(int i=0;i<20;i++) { cin>>*p; p++; } p = p-20; for( i=0;i<20;i++) { if(*p>0) countp++; if(*p<0) countn++; cout<<*p<<" "; p++; } cout<<"正数有:"< //#include using namespace std; void checkagescore(string name,int age) { if (name == "exit") throw name; if(age<0||age>50) throw age;

军事理论考试题库

《军事理论》试题库 绪论军事科学概论 一、单项选择 1、军事科学属于: A、自然科学 B、社会科学 C、人文科学 D、技术科学 2、战争作为人类社会发展到一定历史阶段的特殊社会现象,产生于: A、原始社会早期 B、原始社会末期 C、奴隶社会早期 D、奴隶社会中期 3、战争按社会政治的性质可分为() A、核战争和常规战争 B、持久战争和速决战争 C、为了人民利益的战争和反人民的战争 D、正规战争和游击战争 二、多项选择 1、在阶级社会里,战争是解决()的最高斗争形式 A、阶级矛盾 B、民族矛盾 C、国家矛盾 D、政治集团矛盾 2、大学生学习军事科学的意义主要有 A、这是法定的公民义务 B、有利于提高全民国防意识,振奋民族精神 C、有利于加强国防后备力量建设 D、有利于培养“四有”新人 3、军事科学的主要功能有: A、为国家制定军事战略提供理论依据 B、为国家规划武装力量建设提供理论依据 C、为国家发展武器技术装备进行科学论证 D、为国家准备与实施战争提供理论依据 4、中国现代军事科学,包括()它们是军事科学完整体系的两大组成部分。 A、军事理论科学 B、军事思想 C、军事学术 D、军事技术科学 5、军事科学属于社会科学,因为: A、军事科学具有阶级性 B、军事科学具有时代性 C、军事科学具有民族特征 D、军事科学研究对象战争是特殊社会活动形态 6、战争按社会政治的性质可分为() A、世界战争和局部战争 B、进步的战争和反动的战争 C、正义的战争和非正义的战争 D、核战争和常规战争 三、名词解释 1、军事科学 2、军事思想 3、军事学术 四、判断并改错(对的打“ ”,错的打“ ”,并把错误之处改正过来。) 题目略

面向对象程序设计实验报告完整版

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 综合实验报告 面向对象程序设计 专业名称: 物联网工程 ___班级: _____ 级2班__ ___________姓名: 你哥哥 学号: 02051928 信息科学与工程学院 二零一三年七月

第一题: (1) 1.1题目概述 (1) 1.2设计思路 (2) 1.3设计说明与调试分析 (2) 1.4编码实现 (2) 1.5程序运行结果 (5) 1.6设计心得 (5) 第二题: (6) 2.1题目概述 (6) 2.2设计思路 (7) 2.3设计说明与调试分析 (7) 2.4编码实现 (7) 2.5程序运行结果 (11) 2.6设计心得 (11)

第一题: 1.1题目概述 用抽象类设计计算二维平面图形图形面积的程序, 在基类TDshape中设计纯虚函数area()和printName(), area()用于计算几何图形的面积, printName()用于打印输出几何图形的类名, 如Triangle类的对象就打印输出”Triangle”。每个具体形状的类则从抽象类TDshape派生, 各自需要定义其它独有的数据成员和成员函数, 而且定义area()和printName()的具体实现代码, 如图所示。 要求编写以TDshape为接口的函数, 借以访问具体类如

Triangle和Rectangle类的成员函数area(), printName ()。1.2设计思路 由简到繁, 逐步实现。 1.3设计说明与调试分析 编写基类TDshape->编写虚函数->编写继承类Triangle ->实例化TDshape和Triangle ->调用基类虚函数实现调用继承类相应函数->同样的方式处理继承类Rectangle. 1.4编码实现 #include using namespace std; class TDshape{ public: virtual void area()=0; virtual void printName()=0; }; class Triangle:public TDshape{ private: double width,height;

安徽大学军事理论考试题库

军事理论 PS:安大的军事理论考试只有选择判断,大家注意! 军事理论课《普通高等学校军事学概论》 复习题 一、判断:将正确的答案在括号里(√) 1.国防就是国家的防务(N)2.国防的对象是指国防所要防备抵抗和制止的行为(Y)3.国防的手段是指为达到国防目的而采取的方法和措施(Y)4.我国古代兴衰交替的国防其特色表现:一是修明政治,变法图强;二是改革军制,演兵习武;三是重视教战,全民尚武(Y)5.近代中国国防史是一部中华民族备受欺凌和遭受民族耻辱的历史,也是中国人民反抗外国列强侵略和压迫,争取民族独立和解放斗争的历史(Y)6.国防军事法规在特殊情况下,可以在宪法之外加以制定(N)7.中华人民共和国中央军事委员会统一领导全国的武装力量(Y)8.中华人民共和国中央军事委员会和中共中央军事委员会是“一个机构,两块牌子”(Y)9.陆军是我军的主要兵种,主要担负陆战场歼敌任务(Y)10.民兵军事训练的基本要求是:政治落实、军事落实、时间落实(Y)11.82毫米迫击炮和82毫米无后座力炮都属直射武器,用于打敌坦克和装甲战斗车辆(Y) 12.国防建设必须服从和服务于经济建设的大局,经济建设又要适当照顾国防建设的需要,以保证国防建设和经济协调发展(Y)13.中国人民武装警察部队主要担负防卫作战任务,必要时可以依照法律规定协助维护社会秩序(N)14.“国家武装力量”是国家各种武装组织的总称(N)15.炮兵由地面炮兵和高射炮兵组成(N)16.防化兵担负防化保障任务,由防化、喷火、发烟等部(分)队组成(Y)17.经济是国防建设的基础,国防是经济发展的保障(Y)18.民兵是不脱离生产的群众武装组织,是人民解放军的中坚力量,是进行现代条件下人民战争的基础(Y)19.中国人民解放军由现役部队和预备役部队组成(Y)20.《中华人民共和国兵役法》是国家关于公民参加军队和其他武装组织或在军队外接受军事训练的法律(Y)21.我国实行积极防御军事战略,在战略上坚持防御、自卫和后发制人的原则(Y)22.我国武装力量的任务是巩固国防,抵抗侵略,保卫祖国,保卫人民的和平劳动,参加国家建设事业,努力为人民服务(Y)23.军事思想的概念是关于战争、军队和国防的基本问题的理性认识(Y)

军事理论教程考试题库【超全】

军事理论课复习 第一章 一、填空题 1.唐宋以后发明的火药和指南针开始应用于军事理论。 2.林则徐、魏源等有识之士提出师夷长技以制夷主张。 3.世界各国的国防类型归纳起来主要有四种扩张型、自卫型、___联盟型_和中立型。 4.现行《兵役法》于___2011___年12月29日颁布实施。 5.现代国防具有多层次的目标。从范围上,可分为自卫目标、区域目标和全球目标。从内涵上,可分为__安全目标___、发展目标。 6.2001年8月31日,第九届全国人大常委会议通过了《全国人大常委会关于设立全民国防教育日的决定》,确定每年_9____月第_____3_个星期六为全民国防教育日。 7.中国国防性质:防御型、独立自主型、自卫型。 8.中国国防精神含:爱国主义、革命英雄、爱军尚武、国际主义四种精神。 9.2007年9月15日第七个“全国国防教育日”的宣传主题是“热爱军队、情系国防”;2008年 9月20 日是我国第八个“全国国防教育日”。 二、单选题 1.2011年我国对《兵役法》进行了修改,修改后的《兵役法》规定我国公民合法服兵役的最低年龄限制是( B)。 A、16岁 B、17岁 C、18岁 D、20岁 2.朝鲜停战谈判的最后地点在哪?(C ) A、平壤 B、汉城 C、板门店 D、上甘岭 3.国防的类型有扩张型、自卫型、中立型和( B )。 A、同盟型 B、联盟型 C、侵略型 D、结盟型 4.《中华人民共和国国防法》颁布于(C)。 A、1998年 B、1999年 C、1997年 D、1996年 5.我国古代军队最早可以追溯到( A )朝时期。 A、夏 B、商 C、周 D、秦 6.国防教育的对象是(C)。 A、学生 B、符合征兵条件的公民 C、全体公民 D、全体指战员 7.“九一八”事变发生的地点在( D )。 A、皇姑屯 B、长春 C、旅顺 D、沈阳 8.在我国历史上,城池的建设最早始于( C )。 A、春秋 B、夏朝 C、商朝 D、周朝 9.随着科学技术的发展和人类活动空间的拓展,国家边界除传统的陆上边界、海上边界、空中边界外,(B)边界越来越引起世界各国的重视。 A、网络 B、信息 C、水下 D、实力 10.进行以(A)为核心的国防教育,正是提高民族素质不缺少的重要方面。 A、爱国主义 B、集体主义 C、勇于奉献 D、民族精神 11.学校的国防教育是全民国防教育的基础,是实施(B)的重要内容。 A、德育 B、素质教育 C、智育 D、国情教育 12.自卫型国防的主要目的是(B)。 A、保证本地区的安全稳定 B、防止敌人侵略 C、创造有利于自己的地区环境 D、创造更好的经济发展空间 13.(A )是人民军队性质和宗旨不变的根本保证。 A、中国共产党的绝对领导 B、紧密联系群众 C、党支部建在连上 D、坚持政治工作民主制 14.奴隶社会时期,我国主要实行( A )的兵役制度。 A、兵民合一 B、职业兵制 C、奴隶兵制 D、常备兵制 15.国防的主要手段是( B )。 A、教育 B、军事 C、科技 D、经济 16.( B )规定了高等院校的学生在就学期间,必须接受基本军事训练。

面向对象程序设计笔记

undeclared identifier “未声明的标识符” (1) 十进制整数:在一个整型常量后面加一个字母 l 或 L,则认为是 long int 型常量? (2) 八进制整数?在常数的开头加一个数字 0,就表示这是以八进制数形 式表示的常数? (3)十六进制整数?在常数的开头加一个数字0和一个英文字母X(或x), 就表示这是以十六进制数形式表示的常数? 2. 浮点数的表示方法 如果在实数的数字之后加字母 F 或f,表示此数为单精度浮点数,如1234F,-43f,占 4 个字节?如果加字母 L 或 l,表示此数为长双精度数(long double), 在Visual C++ 6.0 中占 8 个字节. (2) 指数形式(即浮点形式):用字母 e 表示其后的数是以 10 为底的幂,如 e12 表示 1012? 1.普通的字符常量:用单撇号括起来的一个字符就是字符型常量如′a′,′ #′,′%′,′D′都是合法的字符常量,在内存中占一个字节?“cout<<′\n′; ”将输出一个换行,其作用与“cout<

相关主题
文本预览
相关文档 最新文档