一、单项选择题

1.以下()不是Java的原始数据类型。

   A.short      B.boolean      C.String      D.float

Java的原始数据类型一共就8个,分别是:byte、short、int、long、boolean、char、float、double。

2.请分析下列的Java定义正确的是(B)

float _num

  B.public static int  num=20;

  C.public String name=’张三’;双引号

int $_2 = 3.14;

3. 编译Java源程序文件将产生相应的字节码文件,这些字节码文件和源文件的扩展名分别为( B ) 

A. .java和.class B. .class 和 .java C. .html 和 .java D. .class 和 .exe 

4.一个Java 源程序名为MyClass.java,下列在该文件中定义public修饰的类名正确的是(D)

A、myClass        B、MYCLASS        C、myclass          D、MyClass

5.下列声明哪个是错误的( A ) 

A、int i = 1.0f;                   B、float f = 1; 

C、double d = 34.4;                D、long m = 4990;

float a = 1;这里的1是整形,当赋值给一个float时,存在一个隐式转换,不损失精度。
float a = 1f;1f就是float类型的。

如果你这样定义 f
float f = 1.0;
肯定会出错。 因为1.0默认是double类型的。double范围比float大。为了不损失精度,不会自动转换。这是必须这样写
float f = 1.0f;

一般一个数如果没有加什么的是默认int类型,然后回自动转换成float
而后面加f表示这个是一个float数,
一个小数默认是double,而那时候你赋值给float就不行了,必须加这个了,好像是这个只能往大范围转换,小范围转换就需要辅助的

6.以下for循环的执行次数是( B )

   for(int x=0;(x==0)&(x>4);x++){

 

  }

  A、无限次      B、一次也不执行      C、执行4次       D、执行3次

//& : 每一位都比较,有0则0,无0则1.

7.以下方法声明正确的是(C)

int show(double a){  return a;}   B. public static show(){ }

  C. public void show() {  return ; }         D. public String show(){ }

Java void  :可以写return;表示程序结束,但是没有返回值

8.在A类中定义一个method()方法,使其可以通过类名直接调用,即A.method(),下列方法定义符合要求的是( A )

  A、static void method( ){}          B、public void method( ){}

  C、int method( ){}                  D、method( ){}

(概念)static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 

(概念)用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。

9. Java方法定义中void 的含义( C   ) 

  A. 方法体为空

  B. 定义的方法没有形参

  C. 定义的方法没有返回值

  D. 方法的返回值不能参加算术运算

10. 在JAVA中,下面关于方法说法不正确的是(B)

  A.方法无返回值用return

  B.方法有返回值用void修饰

  C.方法有返回值用return返回

  D.有参方法,参数之间用逗号分隔

11. 以下代码执行的结果:(B)

      int x = 3 , y = 5 , z = 1;

      int result=--z>y++?x+y++:++z;

          System.out.println(result);

     A. 3   B. 1   C.  0   D. 2

12. 分析如下Java程序段,程序编译运行结果是(C)。

public class A {
 public static void main(String[] args) {
  int num=0;
  switch(num){
     default:
        System.out.println("Default");
        num++;
     case 1:
         System.out.println("num="+ num);
         num+=2;
     case 2:
       System.out.println("num=" + ++num);
       break;
     case 3:
       System.out.println("num="+ ++num);
        break;}
  }
}

A. 输出:Default

 num=1

 num=3

B.输出:Default

C. 输出:Default

 num=1

 num=4

D. 程序编译出错

13.在JAVA中,(  B  ) 关键字用来终止本次循环语句。

A.return      B.continue       C.break        D.exit

 continue是跳出该循环进入下一个循环,break是跳出循环体,执行循环外的函数体,return是跳出整个函数体,函数体后面的部分也不执行

14、给定一个java源程序Test.java ,在命令行中,使用下面( A  )语句可以编译、运行该程序。

A.javac Test.java,java Test         B.javac  Test.java,java  Test.class
C.java Test.java ,javac Test        D.java  Testjava ,javac Test.class

15.给定java代码,如下:

 

public int count(int b1,double b2){
           return______;
     }

要使用这段代码能够编译成功,横线处可以填入(D)。

A. (double) b1/b2    B.(int) b1-b2     C.b1-b2     D. b1-(int)b2

Boolean不是java的原始数据类型 不是java原始数据类型的是_System

 

16、在JAVA中,无论测试条件是什么,下列( B  )循环将至少执行一次。

  A、for          B、do…while        C、while        D、while…do

17.关于Java中的垃圾回收器,下列说法正确的是(D)

A.垃圾回收器可以及时清理垃圾

B. 垃圾回收器只有通过调用System.gc()方法后才可以清理垃圾

C. 程序员既可以自行清理垃圾,也可以通过垃圾回收器清理

D. 垃圾需要通过垃圾回收器清理,程序员无法干预


二.填空题

1. 以下标识符正确的是: 23

① 1_str   ② _name  ③ $a    ④ @str   ⑤ 7a  ⑥ str_%@

2. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;实现的功能是__X与y数值转换__

2. 已知有如下的二进制: 01010111 ,则转换成十进制为:___87____

3. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_____2_____字节内存空间,这样,无论是中文字符还是英文字符,都是占用______2______字节内存空间。char类型数据的取值范围是 :    0~ 65535

unicode是不定长度的字符表达方式。
也就是说,一个字符可能是一个字节,也可能是2个字节,也可能有多个字节。
但是java的默认字节输出方式是utf-8,也就是固定的2个字节长度。
utf-8是unicode的一种存储方式。

 三.简答题

1.简述执行Java程序的三个步骤?

答:  ①编写源程序 

    ②编译源程序生成字节码文件

       ③执行程序 

Boolean不是java的原始数据类型 不是java原始数据类型的是_System_02

Boolean不是java的原始数据类型 不是java原始数据类型的是_System_03

五.编程题

 

import java.util.Scanner;
/*
3.输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例如:
输入
4 (repeat=4) 意思就是重复4次
然后输入:
1
NO (1不是素数)

2
YES (2是素数)

9
NO (9不是素数)

17
YES (17是素数)

* */
public class demo01 {	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个范围在0到10之间,且不包含0和10的正整数:");
		int repeat = sc.nextInt();
		if(repeat>0&&repeat<10){
			for(int j = 0 ; j < repeat ; j++){

				Scanner input = new Scanner(System.in);
				System.out.println("然后请输入一个正整数:");
				int n = input.nextInt();
//				System.out.println(n);
			    prime(n);
			    System.out.println("------------end-----------");
			}
		}else{
			System.out.println("输入有误!");
		}

	}
	public static void prime(int m){
		boolean stutas = true;
		for(int i = 2; i<m;i++){
			if(m%i==0){
				stutas = false;
			}			
		}
		if(stutas == true&&m!=1){System.out.println(m+"是素数");}
		else{System.out.println(m+"不是素数");}
	}}