当前位置:文档之家› java基础知识练习

java基础知识练习

java基础知识练习
java基础知识练习

1.Java语言特点是什么?

Java语言具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。

2.什么叫Java虚拟机?什么叫Java平台?Java虚拟机与Java平台的关系如何?

Java虚拟机(Java Virtual Machine) 简称JVM 。Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

3.Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?

一个Java源程序是由若干个类组成。一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public类;如果源文件中只有一个类,则不将该类写成public 也将默认它为主类。源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。

4.开发与运行Java程序需要经过哪些主要步骤和过程?

(1) 下载、安装J2SDK;

(2) 设置运行环境参数:JA V A_HOME、PATH、CLASSPATH;

(3) 使用文本编辑器编写原代码如HelloWorld.java;

(4) 运行命令“javac HelloWorld.java”编译HelloWorld.java为HelloWorld.class;

(5) 运行“java HelloWorld”生成HelloWorld.exe。

5.怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?

Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。

两者的主要区别是:任何一个Java Application应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。

应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。小应用程序的主类在任何时候都需要用public来修饰。

6.安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?

(1)PATH环境变量。设置环境变量path是因为window xp是多用户操作系统,支持不同用户的个性化系统定制,这里设置的信息只影响当前用户,而不会影响其他用户。假如只有一个用户,只是运行.class文件,则也不需要设置path环境,因为JDK安装之后会把java.exe 等几个关键文件复制到c:\windows\system32目录中,而此目录已经存在于path变量,所以说用户变量path随不同用户而设置的,设置路径:“D:\jdk1.5\bin ”。PATH环境变量作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PA TH变

量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PA TH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc 等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

(2)CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPA TH中,当然,当前目录“.”也必须加入到该变量中。设置classpath环境变量是为了运行一些特殊的java程序,如以.jar为后缀的文件或者是javac运行java程序,假如不运行这类程序,也就不必要设置classpath环境变量了,设置方法是:(安装jdk是的目录为:d:\jdk1.5) 那么就在“变量值”文本框中键入:“.;D:\jdk1.\lib\dt.jar;D:\jdk1.5\lib\tools.jar ”;

1.试分析基本数据类型和引用数据类型的基本特点。

Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。

基本数据类型包括byte、int、char、long、float、double、boolean和short。

引用类型都是用类或对象实现的,引用数据类型包括:类,数组,接口。

基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的。不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上。

2.分析以下程序段,得到什么打印结果: 0 -1 1 2

System.out.println( 1 >>> 1);

System.out.println( -1 >> 31);

System.out.println( 2 >> 1);

System.out.println( 1 << 1);

3.以下temp 变量的最终取值是: 1

long temp = (int)3.9;

temp %= 2;

4.以下代码运行后得到的输出结果: Not equal! 10

int output=10;

boolean b1 = false;

if((b1==true) && ((output+=10)==20)){

System.out.println(“We are equal ”+output);

}

else{

System.out.println(“Not equal! ”+output);

}

5.以下代码运行后的输出结果: We are equal 20

int output=10;

boolean b1 = false;

if((b1=true) && ((output+=10)==20)){

System.out.println(“We are equal ”+output);

}

else{

System.out.println(“Not equal! ”+output);

}

6.运行以下程序,将得到的输出结果: 17 9 17 9 public class Abs{

static int a=0×11;

static int b=0011;

static int c=’\u0011′;

static int d=011;

public static void main(String args[]){

System.out.println(a);

System.out.println(b);

System.out.println(c);

System.out.println(d);

}

}

7.分析下列代码段,i、count变量的最终取值是: 6 12

int i=3;

int count=(i++)+(i++)+(i++);

8.字符‘A’的Unicode 编码为65。下面代码正确定义了一个代表字符‘A’的选项是:a c d

A) char ch = 65; B) char ch = ’\65′; C) char ch = ’\u0041′;

D) char ch = ’A'; E)char ch = ”A”;

9.下面哪些是java关键字: a d e g h

A) final B) Abstract C) Long D) static

E) class F) main G) private H) System

10.下面哪些是不合法的标识符 c e f h

A) do_it_now B) _Substitute C) 9thMethod D) $addMoney

E) %getPath F) 2variable G) variable2 H) #myvar

11.字节型数据的取值范围是: -128到127

12.请问下面哪些变量定义语句编译时会出错: a c f h

A) float f = 1.3; B) double D=4096.0; C) byte b = 257;

D) String s = ”1″; E) int i = 10; F) char c = ”a”;

G) char C=4096; H) boolean b = null;

13.如果调用下面方法且参数值为67,那么方法的返回值是: 64

public int maskoff(int N){

return N^3;

}

14.编写程序将34.5和68.4两个数相加,并将结果显示成以下形式:x+y=34.5+68.4=***.* public class test {

public static void main(String[] args) {

float x=34.5f, y=68.4f;

System.out.println( ”x+y=”+x+”+”+y+”=”+(x+y));

1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。

结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。

2.在一个循环中使用break、continue和return有什么不同?

break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。

continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。

在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。

3.面代码将输出:________

a=9;b=18;c=4;d=14;e=-14;f=-2

g=18.4;h=2.3999999999999986;i=5;j=3;k=5

public class test3{

public static void main(String args[]){

int a=5+4;

int b=a*2;

int c=b/4;

int d=b-c;

int e=-d;

int f=e%4;

double g=18.4;

double h=g%4;

int i=3;

int j=i++;

int k=++i;

System.out.println(“a=”+a+”;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f); System.out.println(“g=”+g+”;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);

}

}

4.下面代码将输出:________

25<3=fals

3!=0&&25/3>5=true

0!=0&&25/0>5=false

public class LogicTest{

public static void main(String args[]){

int a=25,b=3;

boolean d=a

System.out.println(a+”<“+b+”=”+d);//=;

int e=3;

d=(e!=0&&a/e>5);

System.out.println(e+”!=0&&”+a+”/”+e+”>5=”+d);

int f=0;

d=(f!=0&&a/f>5);

System.out.println(f+”!=0&&”+a+”/”+f+”>5=”+d);

}

}

5.编写程序,求两个整数的最大公约数。

import java.util.Scanner;

public class Gcd_Lcm{

public static void main(String args[]){

Scanner sc = new Scanner(System.in);

System.out.println(“输入2个数:以‘,’隔开“);

String []str = sc.next().split(“,”);

int m = Integer.parseInt(str[0]);

int n = Integer.parseInt(str[1]);

int min = m>n?n:m;

int max = m>n?m:n;

int num1 =1;

int num2 = max;

for (int i = min; i>0; i–) {

if (m%i==0&&n%i==0) {

num1 = i;break;

}

}

while (true) {

if (num2%m==0&&num2%n==0) {

break;

}

num2 = m*n>num2*2?num2*2:m*n;

}

System.out.println(“最大公约数:“+num1+”最小公倍数:”+num2); }

}

6.编写程序,打印出如下九九乘法表。

* | 1 2 3 4 5 6 7 8 9

——-|——————————————————-

1 | 1

2 | 2 4

3 | 3 6 9

4 | 4 8 12 16

5 | 5 10 15 20 25

6 | 6 12 18 24 30 36

7 | 7 14 21 28 35 42 49

8 | 8 16 24 32 40 48 56 64

9 | 9 18 27 36 45 54 63 72 81

public class NineByNineMul{

public static void main(String args[]){ System.out.print(“* |”);

for(int i=1;i<=9;i++){

System.out.print(“”+i+””);

}

System.out.println();

System.out.print(“——-|—–”);

for(int i=1;i<=9;i++){

System.out.print(“—–”);

}

System.out.println();

for(int i=1;i<=9;i++){

System.out.print(“”+i+”| ”); for(int j=1;j<=i;j++){

System.out.print(i*j+””);

}

System.out.println();

}

}

}

7.下面代码将输出: one two default int i = 1;

switch (i) {

case 0: System.out.println(“zero”); break;

case 1: System.out.println(“one”); case 2: System.out.println(“two”); default:System.out.println(“default”); }

8.下面代码将输出: Equal

class EqualsTest {

public static void main(String[] args) { char a=’\u0005′;

String s=a==0x0005L?“Equal”:”Not Equal”;

System.out.println(s);

}

}

9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。public class booktest {

public static void main(String[] args) {

int a[]={30,1,-9,70,25};

System.out.print(“数组原始顺序:“);

for (int i=0;i

for (int i = 0; i < a.length; i++) {

int lowerIndex = i;

for (int j = i + 1; j < a.length; j++)

if (a[j] < a[lowerIndex]) lowerIndex = j;

int temp = a[i];

a[i] = a[lowerIndex];

a[lowerIndex] = temp;

}

System.out.print(“\n数组排序后的顺序:“);

for (int i=0;i

}

}

10.运行下面代码将输出什么内容?one

int i=1;

switch(i){

case 0: System.out.println(“zero”);

break;

case 1: System.out.println(“one”);

break;

case 2: System.out.println(“two”);

break;

default: System.out.println(“default”);

}

11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。

public class PrimeTest{

public static void main(String args[]) {

int num=2;

System.out.print(2 + ””);

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

System.out.print(i + ””);

if(num++%5 == 0)System.out.println();

}

}

}

12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。public class RandomTest {

public static void main(String[]args){

int[] randomnum=new int[100];

int[] n=new int[6];

double a;

for(int i=0;i<100;i++){

a = Math.random()*6;

a = Math.ceil(a);

randomnum[i] = new Double(a).intValue();

System.out.print(randomnum[i]);

switch (randomnum[i]){

case 1: n[0]++; break;

case 2: n[1]++; break;

case 3: n[2]++; break;

case 4: n[3]++; break;

case 5: n[4]++; break;

case 6: n[5]++; break;

}

}

System.out.println();//以下可改为循环输出

System.out.println(“数字1出现的概率=”+(n[0]/100.0)*100+”%”);

System.out.println(“数字2出现的概率=”+(n[1]/100.0)*100+”%”);

System.out.println(“数字3出现的概率=”+(n[2]/100.0)*100+”%”);

System.out.println(“数字4出现的概率=”+(n[3]/100.0)*100+”%”);

System.out.println(“数字5出现的概率=”+(n[4]/100.0)*100+”%”);

System.out.println(“数字6出现的概率=”+(n[5]/100.0)*100+”%”);

}

}

13.编写程序,求1!+2!+3!+…+15!。

public class FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

int sum=0;

for(int j=1;j<=15;j++)

{

sum+=f(j);

}

System.out.println(sum);

}

}

14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。

for循环代码:

public class For_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

public static void main(String[]args){

double sum=0;

for(int j=1;j<=15;j++)

{

sum+=1.0/f(j);

}

System.out.println(sum);

}

}

do-while循环代码:

public class DoWhile_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

int j=1;

do {

sum+=1.0/f(j);

j++;

}

while(j<=15);

System.out.println(sum);

}

}

15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。

(分别采用冒泡排序、选择排序和插入排序方法)

public class SortAll {

public static void main(String[] args) {

int a[]={20,10,55,40,30,70,60,80,90,100}; System.out.println(“—-冒泡排序的结果:“); maoPao(a);

System.out.println();

System.out.println(“—-选择排序的结果:“); xuanZe(a);

System.out.println();

System.out.println(“—-插入排序的结果:“); chaRu(a);

}

// 冒泡排序

public static void maoPao(int[] x) {

for (int i = 0; i < x.length; i++) {

for (int j = i + 1; j < x.length; j++) {

if (x[i] > x[j]) {

int temp = x[i];

x[i] = x[j];

x[j] = temp;

}

}

}

for (int i : x) {

System.out.print(i + ””);

}

}

// 选择排序

public static void xuanZe(int[] x) {

for (int i = 0; i < x.length; i++) {

int lowerIndex = i;

// 找出最小的一个索引

for (int j = i + 1; j < x.length; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

// 交换

int temp = x[i];

x[i] = x[lowerIndex];

x[lowerIndex] = temp;

}

for (int i : x) {

System.out.print(i + ””);

}

}

// 插入排序

public static void chaRu(int[] x) {

for (int i = 1; i < x.length; i++) {//i从1开始,因为第1个数已经是排好序的for (int j = i; j > 0; j–) {

if (x[j] < x[j - 1]) {

int temp = x[j];

x[j] = x[j - 1];

x[j - 1] = temp;

}

}

}

for (int i : x) {

System.out.print(i + ””);

}

}

}

16.编写程序,产生30个素数,按从小到大的顺序放入数组prime[]中。

public class PrimeArray {

public static void main(String args[]) {

int[] primearry=new int[30];

primearry[0]=2;

int num=1;

System.out.print(2 + ””);

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

primearry[num++]=i;

System.out.print(i + ””);

if(num%5 == 0)System.out.println();

if(num==30)break;

}

}

}

17. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。分别编写一个应用程序和小应用程序求1000之内的所有完数。

public class Wanshu {

public static void main(String[] args) {

int sum=0,i,j;

for(i=1;i<=1000;i++)

{

for(j=1,sum=0;j

{

if(i%j==0)

sum=sum+j;

}

if(sum==i)

{

System.out.print (“完数:”+i+””+”其因子是:“);

for(int k=1;k<=sum/2;k++)

{

if(sum%k==0)

System.out.print(“”+k);

}

System.out.println();

}

}

}

}

18. 从键盘读取若干个数,以“-1”结束,按从小到大的顺序排序。import java.util.Scanner;

public class sc_num {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

int scnum=0,i=0;

int []scarry=new int[30];

System.out.println(“输入整数(-1结束):”);

while(scnum!=-1){

scarry[i]=scanner.nextInt();;

scnum=scarry[i];

i++;

}

xuanZe(scarry,i-1);

}

// 选择排序

public static void xuanZe(int[] x,int n) {

for (int i = 0; i

int lowerIndex = i;

for (int j = i + 1; j < n; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

int temp = x[i];

x[i] = x[lowerIndex];

x[lowerIndex] = temp;

}

for (int i=0;i

System.out.print(x[i] + ””);

}

}

}

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

1.接口可以继承接口..但是要使用extends~而不是用implements

如:interface a{} ;interface b extends a{}

2.抽象类可以实现接口..比如java.util中的AbstractCollection类就是实现的Collection接口

3.抽象类可以继承实体类

下面这段执行无误的代码说明的所有的问题:

interface MyInterface {

}

interface AnotherInterface extends MyInterface {

}

class EntityClass {

}

abstract class AbstractClass extends EntityClass implements MyInterface {

}

2、是否可以从一个static方法内部发出对非static方法的调用?

static方法内部不能直接调用非静态方法,

可以在调用之前实例化非静态方法所在的类,再用类点方法来调用。

例:非静态方法是className类里面的method();

className cn=new className();

cn.method();

这样就可以了

3、HashMap和Hashtable的区别是什么?

Hashtable和HashMap的区别:

1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;

2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:

Map Collections.synchronizedMap(Map m)

这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。

3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断

4、final, finally, finalize的区别是什么?

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally—再异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。finalize—方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的

5、Error和Exception有什么区别?

error:语法错误、逻辑错误、运行错误

exception:越界、数据丢失,内存泄露

6、GC是什么? 为什么要有GC?

GC:Java的垃圾回收器; System.gc()来强制进行一次立即的内存清理。

7.采用wait(),notify()或者notifyAll()写一个JA V A多线程程序描述生产者-消费者问题。

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

Java练习题(试卷)

Java 程序设计练习题(1) 一、单项选择题 1.下面( B )是合法的 Java 标识符。 A、#_pound B、_underscore C、5Interstate D 、 class 2.下面( D )赋值语句不会出现编译警告或错误。 A、float f=1.3; B、char c="a"; C、byte b=257; D、int i=10; 3.编译一个定义了两个类和三个方法的 Java 源程序文件,总共会产生( D )个字节码文件。 A、5 个字节码文件,以“.java”为扩展名 B、2 个字节码文件,以“.java”为扩展名 C、5 个字节码文件,以“.class”为扩展名 D、2 个字节码文件,以“.class”为扩展名4.有关类的说法,正确的是( B )。 A、类具有封装性,所以类的数据是不能被访问的 B、类具有封装性,但可以通过类的公共接口访问类中的数据 C、声明一个类时,必须使用 public 修饰符 D、每个类中必须有 main 方法,否则程序无法运行 5.执行完下面程序片段后,( B )的结论是正确的。 int a, b, c; a = 1; b = 2; c = (a + b > 3 ? a++ : b++); A、a 的值是 2,b 的值是 3 B、a 的值是 1,b 的值是 3 C、a 的值是 1,b 的值是 2 D、c 的值是 false 6.将类的成员的访问权限设置为默认的,则该成员能被( A )。 A、同一包中的类访问 B、其他包中的类访问 C、所有的类访问 D、所有的类的子类访问 7.下面的方法重载,正确的是( C )。 A、int fun(int a, float b) { } B、float fun(int a, float b) { } float fun(int a, float b) { } float fun(int x, float y) { } C、float fun(float a) { } D、float fun1(int a, float b) { } float fun(float a, float b) { } float fun2(int a, float b) { } 8.下面关于继承的说法,正确的是( D )。 A、超类的对象就是子类的对象 B、一个类可以有几个超类 C、一个类只能有一个子类 D、一个类只能有一个超类 9.下面关于多态性的说法,正确的是( C )。 A、一个类中不能有同名的方法

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

java基础练习题

1) 以下关于Java语言说法错误的是()。(选择两项) a) Java语言是一种OO语言,Java API是Java语言的帮助文档 b) Java语言具有平台无关性-Write Once,Run Anywhere c) Java语言的核心是Java Virtual Machine d) 使用Java语言,程序员要使用原始方法分配和释放内存空间 e) Java语言是一种编译执行语言 知识点: 第一章Java语言基础Java语言基本概念 2) 以下哪一项不是Java的关键字(b)。(选择一项) a) if b) then c) goto d) case e) while 知识点: 第二章Java编程基础Java中的关键字 3) 下列(a,e)不是合法的Java语言标识符。(选择两项) a) 2variable b) variable2 c) _whatavariable d) $anothervar e) #myvar f) _3_ 知识点: 第二章Java编程基础Java中的标识符 4) 执行下列代码段后,变量x的值是(c)。(选择一项) x=9; y=9; x=(y<=x++)?1:0; a) 1 b) 2 c) 0 d) 10 知识点: 第二章Java编程基础三元运算符 5) System.out.println(4 | 7);上面语句的输出结果是(d)。(选择一项) a) 4 b) 5 c) 6 d) 7 e) 0 知识点: 第二章Java编程基础位运算符 6) 以下会产生编译错误的Java语句是(b)。(选择一项) a) if (2 == 3) System.out.println("Hi"); b) if (2 = 3) System.out.println("Hi");

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符( C ) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:( B) A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D )。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( B ) int i = 1; int j; j = i++*2+3*--i; A.1, 2 B.1, 5 C. 2, 1 D. 2, 2 5、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 6、下面关于java中类的说法哪个是不正确的?( C ) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、; B、(); C、(); D、() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小 的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B.进度条 C.按钮 D.标签

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

Java基础知识测试__A卷_答案

考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面说法正确的是() A. JVM就是Java虚拟机,包含java核心类库// JRE: JVM+Java library。 B. JRE就是java运行环境,包含java程序编译运行的工具环境// JDK:JRE+Tools C. JDK就是java开发环境,javac是其中的一个工具 D. 功能范围:JDK > JVM > JRE 2.下面的说法正确的是( ) A. Java 语言是面向对象的、解释执行的网络编程语言。 B. Java 语言具有可移植性,是与平台无关的编程语言。 C. Java 语言可对内存垃圾自动收集。 D. Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。 3.给定java代码,如下: public byte count(byte b1, byte b2){ return ____; }

要使这段代码能够编译成功,横线处可以填入 A. (byte)(b1-b2) //返回值类型为byte,要求选项结果为byte B. b1-b2 C. (byte)b1+b2 D. (byte)b1/b2 4.关于类的命名,正确说法是() A. 可以由数字和英文拉丁字母组成,且可以任意排序//数字不能开头 B. 命名要做到见名知意 C. 如果是由多个单词组成,每个单词首字母大写 D. 可以是Java已经定义过的关键字//囧 5.关于main方法说法错误的是() A.main方法是java程序执行的入口 B.main方法的方法体重至少要有一行代码//可以没有代码 C.main必须定义在一个类中 D. main方法的定义格式为:public static void main(String[] args){} 6.类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是: A. double a = fun(1,2); B. double a = fun(1.0,2.0); C. int x = fun(1,2); D. int x = fun(1.0,2.0); 7.给定java代码,如下,编译运行,结果是() public static void main(String[] args){ boolean flag; System.out.println(“flag”+flag); //局部变量需要先初始化再使用} A. 编译错误 B. 编译通过,单出现运行时错误 C. 正常运行,输出flag=false D. 正常运行,输出flag= 8.下面哪个关键字可以定义一个类()

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

Java练习题

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。

9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B、final C、abstract D、private 2、对成员的访问控制保护最强的是(C)。

Java基础练习题-附答案

Java基础练习题附答案 一、简单Java程序调试 1)以下哪个是Java应用程序main方法的有效定义 A. public static void main(); B. public static void main( String args ); C. public static void main( String args[] ); D. public static void main( Graphics g ); 【 E. public static boolean main( String a[] ); 2) 编译和运行以下代码的结果为: public class MyMain{ public static void main(String argv){ "Hello cruel world"); } } A.编译错误; ~ B.运行输出 "Hello cruel world"; C.编译无错,但运行时指示没有定义构造方法。 D.编译无错,但运行时指示没有正确定义main方法。3)下列选项中不属于Java虚拟机的执行特点的一项是:A.异常处理 B.多线程 C.动态链接 D.简单易学4)不属于Java语言特点的一项是: A.分布式 B. 安全性 C. 编译执行 D.面向对象5)以下程序的运行结果为: ; public class Test{ public static void main(String argv[ ]){ "x="+5); } } A. 5 B. x=5 C. "x="+5 D. "x="5

6) 以下程序的运行结果为: public class Test{ ` public static void main(String argv[ ]){ "good"+"morning"); } } A. goodmorning B. "good"+"morning" C. good morning D. good+morning 二、Java符号与表达式 1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为: , A.int类型 B. double类型 C. float类型 D. long类型 2)下面程序段的输出结果是: int a = 2; a++); a); A.333 B.334 C.234 D.233 3) 以下代码的输出结果 public class Test{ ] int x=3; public static void main(String argv[]){ int x= 012; } } A.12 B.012 C.10 D.3 4) 下列定义语句正确的是: A.char c="/n"; B.int i=12; C.float f=; D.boolean b=null; … 5)检查如下代码: public class Quiz2_l{ public static void main(String[] args) { int a = 8;

java基础测试题_含答案

姓名 一、选择题(每题2分,共30分) 1.请写出标识符的命名规则描述正确的是[多选]( ABCD ) A、由英文字母、数字、_和$组成,长度不限。 B、标识符的第一个字符不能是数字 C、标识符区分大小写。 D、标识符不能包含空格。 2. 下列属于正确标识符的选项有[多选](BDGH) A. int B. $_Count C. 3M D. Hello E. b-7 F. ms#d G. bool H. D9658 3、下列哪一个不属于java的基本类型( B ) A、int B、String C、float D、byte 4、下列那条语句能编译通过( A ) A、String String=”String”; B、float float=””; C、int int = 11; D、int i= ; 5、下列代码的执行结果是: ( D ) public class Test1{ public static void main(String args[]){ float t=; int q=5; }

} A、 40 B、 C、36 D、 6、int长度描述正确的是( A ) A、-2^31到2^31 - 1 B、-2^32到2^32 - 1 C、-2^7到2^7 - 1 D、-2^8到2^8 - 1 7、关于==和equals方法描述不正确的是( D ) A、==是运算符、equals是方法 B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。 C、String a= "1"; String b= "1"; 输出结果为:true D、String a=new String("1");String b=new String("1"); 输出结果为:true 8、下列关于哪个不属于java的特性( D ) A、封装 B、继承 C、多态 D、重载 9、某一个子类要继承一个父类,要使用关键字( B ) A、import B、extends C、implements D、java 10、某一个子类要实现一个父接口,要使用关键字( C ) A、import B、extends C、implements D、java 11、以下关于接口和类的说法正确的是( C ) A、接口和类都可以实现多重继承 B、子类可以继承多个父类 C、子类可以实现多个接口 D、一个子类不能同时继承某一个父类和实现某一个接口 12、一个非抽象子类,如果要实现某个接口,则( A ) A、必须实现该接口中的所有抽象方法 B、可以实现部分抽象方法 C、可以不实现任何抽象方法

java基础练习题

1.编写一个完整的Java Application 程序。包含接口ShapeArea,MyRectangle类及Test类,具体要求如下: (1)接口ShapeArea: double getArea():求一个形状的面积 double getPerimeter ():求一个形状的周长 (2)类 MyRectangle: 实现ShapeArea接口,另有以下属性和方法: ①属性 width: double类型,表示矩形的长 height: double类型,表示矩形的高 ②方法 MyRectangle(double w, double h):构造函数 toString()方法:输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0” (3)Test类作为主类要完成测试功能 ①生成MyRectangle对象 ②调用对象的toString方法,输出对象的描述信息 2.编写一个完整的Java Application 程序,包括ShapeArea接口、MyTriangle类、Test类,具体要求如下: (1)接口ShapeArea: double getArea():求一个形状的面积 double getPerimeter ():求一个形状的周长 (2)类MyTriangle: 实现ShapeArea接口,另有以下属性和方法: ①属性 x,y,z: double型,表示三角形的三条边 s: 周长的1/2(注:求三角形面积公式为,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法) ②方法 MyTriangle(double x, double y, double z):构造函数,给三条边和s赋初值。 toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0” (3)Test类作为主类要完成测试功能 ①生成MyTriangle对象 ②调用对象的toString方法,输出对象的描述信息 3. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。试使用java类写出其加密的过程。 4. 分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化), 输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条 5. 输入一个数字,判断是一个奇数还是偶数 6. 将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码 7.判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

java程序练习题

练习: 1.为类设计一个静态方法,实现检查输入字符串是否为”回文”.的功能 Boolean IsPalindrome(String poem) 2.用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。 3.设计一个类,并为其添加一个带有一个参数的构造函数,同时封装一个方法。当连续调用该方法时,依次产生下列元素输出 第一次调用输出:5 7 4 8 9 1 第二次调用输出:1 5 7 4 8 9 第三次调用输出:9 1 5 7 4 8 第四次调用输出:8 9 1 5 7 4 第五次调用输出:4 8 9 1 5 7 第六次调用输出:7 4 8 9 1 5 第一次调用输出:5 7 4 8 9 1 4.输入出租车公里数,输出应付的车费数: 收费标准如下:3000米以下为8元,每超过500米增加1.2元,不足500米按500米计算。 5.竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米。 6.输入一个英文字符串,统计出其中各字符出现的次数,并以下列样式输出: a=?,b=?,c=?,d=?,e=? f=?,g=?,h=?,i=?,j=? …… 7.写一个实例方法,要求输入一个整数m ,并输出1---m之间满足下列条件的所有整数:这个数+1 是一个完全平方数,他的一半+1也是一个完全平方数。 8.设计一个类Complex,用于封装对复数的下列操作: 8.1.一个带参数的构造函数,用于初始化复数成员 8.2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。 8.3. 实现两个复数的加法,减法的静态方法和实例方法。 8.4.以复数的标准形式:x+iy输出此复数 8.5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。 9.写一个静态函数,返回给定整数n的所有因子 10.输入一个十六进制字符串,写一函数,将其转换为对应的十进制数。 11.设计一个只能创建一个唯一实例的类。 12.设计一个类,该类用于表示现代中国的一个典型家庭:father,mother,child. 并为其添加一个无参的构造函数和带三个参数的构造函数以及三个读写属性和 一个get(int member )方法,当member=FATHER时,返回 父亲的姓名;member=MOTHER时,返回母亲的姓名;member=CHILD时,返回 孩子的姓名;FATHER,MOTHER,CHILD 为常数。 13.巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序, 根据输入的北京时间输出相应的巴黎和纽约时间。 14.写一函数,实现用某一字符c 去填充字符串的左部,使其长度为恰好为L PadLeft(String s,int L,char c),同理,实现PadRight((String s,int L,char c) 用字符c 填充串s 的右部,使其长度恰好为L. 15. 写一方法,用于删除字符串中所有空格(不仅仅是两端的空格),并返回没有空格的字

JAVA语言基础练习题

注:题目没有涵盖所有知识点。 仅作为学习过程中知识点的巩固 第一章JA V A语言基础 ()反映了JAVA程序的并行机制;()使JAVA更加健壮。 变量a和A不同对不对() JAVA发展最初是面向()而设计的 最新的JDK版本:() 用什么命令把java源文件编译生成字节码文件/类文件/class文件() 用什么命令解释运行字节码文件/类文件/class文件() 用什么命令能够运行applet小应用程序() applet程序运行的html代码中的applet标记,其中三个必要属性是什么() 了解JAVA 5的新特性都有哪些:() 第二章 JAVA语言程序设计基础 以下哪个可以作为变量名字:A hello* B tom_name C 3cups D a cup 以下哪个不是JAVA的关键字:A SUPER B this C synchronized D extends 以下是JAVA简单/基本数据类型的为:A Short B Boolean C char D unit int short long char float double boolean byte String JAVA语言中每个字符占几个字节:A 1 B 2 C 3 D 4 JAVA语言使用( Unicode )字符集。 写出以下代码的输出结果:( 0 ) class A{ static int i; public static void main(String args[]){ } } 分析以下代码的结果(ok) class A{ public static void main(String args[]){ boolean b=false; if(b=true) } } 以下表达式错误的是:A float f=; B double d=; C boolean b=true; D c=(a= =b)?a:b 以下表达式错误的是:A float f=; B double d=; C boolean b=true; D char c=”a”;若i值为5,分析以下表达式执行之后的结果:b=5==6&&i++==6; (b为false,i为5)若i值为5,分析以下表达式执行之后的结果:b=5<=6||++i==6; (b为true,i为6)若i值为5,分析以下表达式执行之后的结果:b=5==6&i++==6; (b为false,i为6)若i值为5,分析以下表达式执行之后的结果:b=5<=6|++i==6; (b为 true ,i为 6)以下表达式的结果是(2 ):8>>2 请写出以下表达式的结果:5/2 (2) 5/ () 写出以下代码的结果:( true ) Human tom=new Human();

Java基础测试题

Ps:答案已写在上面。希望大家把其他错误选项问题找出来. 第一组: 1.下面哪些是合法的变量名 (DEG) A.2variable .variable2 ._whatavariable $_¥ 2.请问“abcd” instanceof Object返回的值是 (B) A. “abcd” B. true C. false D. String 前面是后面的子类 面说法正确的是:(A) A. 如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格); B. 如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)如果源代码中有main()方法,则该方法必须被放在代码的第一行如果某文件的源代码中定义了一个public 的接口,接口名和文件名可以不同。 4.下面有关方法覆盖说法不正确的是:(B) A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返

回值 B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限; C. 覆盖的方法不能比被覆盖的方法抛出更多的异常 D. 覆盖的方法一定不能是private的 5.一个Java程序运行从上到下的环境次序是(C) A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系统 C. Java程序、JRE/JVM、操作系统、硬件 D. Java程序、操作系统、JRE/JVM、硬件 6. 下面选项中哪个关键字可以用来修饰接口中的变量和方法(A) A. static B. private C. synchronized D. protected 7. 下面代码段中:(A) String String=”String”; String B. 不知道 C. 编译出错 D. 运行出错 8. 下面哪种是正确的创建Map集合的方式:(D) A. Map m=new Map();

java练习题

public class Multipation { public static void main(String[] args) { 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。 public class Student { /** *@param args */ private int ID; private String name; private float score; public void SetRecord(int ID,String name,float score){ =ID; =name; =score; } public float getRecord(int ID){ if(ID== return ; else return -1; } public static void main(String[] args) { 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转

换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。 public class StringTest { /** *@param args */ public static void main(String[] args) { 自己设计一个坐标类,能提供以下方法如求当前坐标和其他坐标之间的距离等方法,要求所有变量为私有变量,并提供两个构造函数。 public class XYdistance { private int x; private int y; XYdistance(){ setX(0); setY(0); } public void setX(int x) { = x; } public int getX() { return x; } public void setY(int y) { = y;

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