JavaSE基础测试02及答案

这篇文章是一组Java编程的基础题目,包括选择题、判断题和简答题,涉及主要内容有Java方法签名,数据类型转换,运算优先级,作用域规则,以及编程实践如计算素数之和,找出闰年,和绘制菱形图案等。题目旨在测试和巩固Java初学者的基本知识和编程技能。
摘要由CSDN通过智能技术生成

一、选择题

1、java程序中,main方法的格式正确的是(  D )(选择一项)

A、static void main(String[] args)

B、public void main(String[] args)

C、public static main(String[] args)

D、public static void main(String[] args)

2、给定java代码,如下:

public byte count(byte a,byte b){

    return _____;

}

要使用这段代码能够编译成功,横线处可以填入()(选择一项)

  A、 (byte)(a-b)

B、 (byte)a-b

C、a+b

D、 (byte)b/a

3、java语言中最简单的数据类型包括(D

A、整型、实型、布尔型、字符串

B、整型、实型、字符型、字符串

C、整型、字符型、布尔型

D、整型、实型、布尔型、字符型

4、下列给出的变量定义正确的方式是(B

A、int No.1;

B、char ch;

C、float new;

D、string 3a;

5、设a=6,b=4,则表达式a*=b+2的值为(D

A、3

B、18

C、27

D、36

6、下列程序输出结果(B

public static void main(String[] args){

 int x=10,y=10;

  System.out.println((x++)+","+(--y));

}

A、10,10

B、10,9

C、9,10

D、9,9

7、有如下定义:float a=12.28f;int i = (int)a;则i的值是:( D

A、1

B、23

C、28

D、12

8、下列程序代码输出结果是:(A

System.out.println(false||true&&false);

System.out.println(false||(true&&!false));

A、false true

B、true true

C、false false

D、true false

9、关于Java语言叙述错误的是:( C  )

A、Java语言具有跨平台性

B、Java是一种面向对象的语言

C、Java语言中的类可以多继承  

D、Java的垃圾收集机制自动回收程序已不再使用的对象

10、设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )

A、j=i;  

B、j=(long)i;    

C、i=(int)j;     

D、i=j;

二、判断题

(1、)java.lang包下的类是默认导入的,不需要import显示导入类 ( T

(2、)int a = 1;short b = 2+a;这两行代码是没有错误的,可以直接编译通过代码( F

(3、)java编程中,源程序文件名可以不和类名一致( F

(4、)java程序类,类名必须是大写,如果不是大写则编译不通过,程序报错。(F

(5、)java随机类详细使用是import java.util.Random();先导入,再main方法中实例化

 Random ra = new Random(); 然后就可以使用ra对象的方法了。(T

三、简答题

(1、)请说出作用域public,private,protected,以及不写时的区别

答案:public 声明的为公共成员变量和函数成员,在整个类内类外都可使用。

private 声明的为私有成员变量和函数成员,只在声明的类内可以使用。

protected声明的为受保护成员变量和函数成员,类外不可使用。类内可以使用。

不使用关键字默认为类内使用

另外注意在继承的时候,他们的区别。

public 声明的在子类变为public

protected 声明的子类变为private

private 声明的在子类中不可用

   作用域       当前类       包内       子类       包外

   public            √              √            √            √

   protected      √              √            √             ×

   default          √              √             ×            ×

   private          √              ×            ×             ×

(2、)short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

答案:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译)

运算符对基本类型的影响

当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:

只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;

否则,只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;

否则,只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;

否则,两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。

四、程序题

(1、)编程求1-100内素数之和。

素数就是只能被1和自身整除的数,如:  2、3、5、7、11、13、17、19、23

public static void main(String[] args) {
int sss = 0;
for(int n=2;n<=100;n++) {
    int i = n;
    boolean f = true;
    int t = 0;
    for (int j = 2; j <= i - 1; j++) {
	if (i % j == 0) {
	    t = j;
	    f = false;
	    break;
	}
    }
    if (f) {
	System.out.printf("% 3d ",i);
	sss+=i;
    }
}
System.out.println();
System.out.printf("1-100内素数和是:%d%n",sss);
}

(2、)编程打印出2000 到 现在年份闰年。

public static void main(String[] args) {
	int a = 2000;
	var c = Calendar.getInstance();
	int b = c.get(Calendar.YEAR);
	for (int i = a; i <= b; i++) {
		if (i % 400 == 0 || i % 100 != 0 && i % 4 == 0) {
			System.out.printf("%d  ", i);
		}
	}
}

(3、)编程代码实现打印菱形效果图案。

public static void main(String[] args) {
	int s = 20;
	for (int m = 1; m <= 20; m += 2) {
		System.out.println(" ".repeat(--s) + "*".repeat(m));
	}
	for (int m = 17; m >= 1; m -= 2) {
		System.out.println(" ".repeat(++s) + "*".repeat(m));
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值