预科班第四次考核总结

一、选择题(3分*10)

1、下面哪个不是java中的关键字?()

A.    public

B. true

C. main

D. class

考点:Java关键字。main是主方法的标识符,不是关键字。

2、下面程序的运行结果,哪个是正确的()

int b=1;

while(++b<3)

System.out.println("LOOP");

A. 程序将会进入死循环导致无输出

B. 输出一次LOOP

C. 会输出多次LOOP

D. 程序中含有编译错误

++b是先自加1然后再运算。b++是先运算再自加1。

3、关于数组的说法,正确的是()

A. 数组里面存放的是相同类型的数据

B. 获取数组的长度使用length属性

C. 获取数组的大小使用size方法

D. 数组的长度是可变的

数组可以存放不同类型的属性,只要类型兼容。数组的长度是不可变的,集合的长度是可变的。

4、下面哪种类型的文件可以在Java虚拟机中运行?()

A. .java B.jre C.exe D.class

5、下面语句中,正确的是( )

A.类名首字母为# B.一个类出现2个public修饰的方法

C.一个类中出现2个public修饰的类 D. 中文的字符编码为UTF-8

Java标识符规范,只能以字母下划线美元符号开头。一个类只能用1个public修饰的类。中文的字符编码为GBK。

6、 public static void main(String[] args){

      int x = 12345;

      switch (++x) {

         case 12345:

           System.out.println("A");            

         case 12346:

           System.out.print("B");

           break;

     default:

           System.out.println("C");

           break;

     }

}

A.A         B. B         C. BC         D. AB

case中如果缺少break语句,会导致程序继续执行下一个case,直到遇到break,跳出switch选择。

7、下列 javaDoc 注释正确的是( )

A. /* 我爱北京天安门 */

B. //我爱北京天安门 */

C. /** 我爱北京天安门 */

D./* 我爱北京天安门 **/

Java注释三种格式

单行注释 //

多行注释 /*

语句 */

文档注释 /** */

8、我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.001米。请问,我折叠多少次,可以达到或者超过珠穆朗玛峰的高度( )

A.20

B. 22

C. 24

D.26

 1 public class Test {
 2     public static void main(String[] args) {
 3         double a = 0.001;
 4         int count = 0; //计数器
 5         for (int i = 0; ; i++) {
 6             a = a * 2;
 7             count++;
 8             if (a >= 8848) {
 9                 System.out.println(count);
10                 break;
11             }
12         }
13     }
14 }

9、在switch(expression)语句中,expression的数据类型不能是()

A. double

B. char

C. byte

D. short

expression的数据类型可以是整型或者char类型。

10、下面关于循环描述正确的是()多选

A. while循环先判断循环条件,后执行循环操作

B. while 至少会执行一次

C. do-while先进行循环条件判断,后执行循环操作

D. do-while循环至少执行一次,后进行循环判断

 

二、 简答题(6分*3)

1、JDK、JRE和JVM的作用和关系。

 

2、写出一种从键盘中读入数据的方法。注意编码规范。类名定义为Main

3、Java注释的三种方式。

三、编程题(52分)

1、(13分)分析以下需求,并用代码实现:

    (1)按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数

    (2)每行输出5个满足条件的数,之间用空格分隔

    (3)如:9999 9988 9977 9966 9955

 1 public class Answer1 {
 2     public static void main(String[] args) {
 3         int count = 0; //个数
 4         for (int i = 9999;i>=1000 ;i--){
 5             //个位+百位=十位+千位
 6             if (i % 10 + i / 100 % 10 == i / 10 % 10 +  i / 1000 % 10){
 7                 System.out.print(i+" ");
 8                 count ++;
 9                 if (count % 5 == 0){
10                     System.out.println();
11                 }
12             }
13         }
14 
15         System.out.println("个数为"+count);
16     }
17 }

2、(13分) 请设计一个类,这个类包含如下操作:

    A:求两个数的和。

    B:判断两个数是否相等。

    C:输出九九乘法表。

最后在测试类中进行测试。

 1 public class Answer3 {
 2 
 3     public double sum(double a,double b){
 4         return a+b;
 5     }
 6 
 7     public boolean judge(double a,double b){
 8         return a == b;
 9     }
10 
11     public void print(){
12         for (int i = 1;i<=9;i++){
13             for (int j = 1;j<=i;j++){
14                 System.out.print(i+"*"+j + "="+i*j +"\t");
15             }
16             System.out.println();
17         }
18     }
19 
20 
21 
22     public static void main(String[] args) {
23         System.out.println(new Answer3().sum(1,2));
24         System.out.println(new Answer3().judge(1,2));
25         new Answer3().print();
26 
27     }
28 
29 
30 }

3、(13分)一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

 

 1 public class Answer3 {
 2     public static void main(String[] ages) {
 3         int sum;
 4         for (int i = 1; i <= 1000; i++) {
 5             sum = 0;
 6             for (int j = 1; j < i; j++){
 7                 if (i % j == 0)
 8                     sum = sum + j;
 9             }
10             if (i == sum){
11                 System.out.println(i);
12             }
13         }
14     }
15 }

 

 

4、(13分)求出1到100之间所有质数之和。

 

 1 public class Prime {
 2     public static void main(String[] args) {
 3         int j;
 4         int sum = 0;
 5         for (int i = 2; i <= 100; i++) {// 1不是素数,所以直接从2开始循环
 6             j = 2;
 7             while (i % j != 0) {
 8                 j++; // 测试2至i的数字是否能被i整除,如不能就自加
 9             }
10             if (j == i) // 当有被整除的数字时,判断它是不是自身
11             {
12                 sum+=i; // 如果是就sum+
13             }
14         }
15         System.out.println(sum);
16     }
17 }

 

转载于:https://www.cnblogs.com/zsh-blogs/p/10018518.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值