文档库 最新最全的文档下载
当前位置:文档库 › java基础练习题

java基础练习题

java基础练习题
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整除),或只能被

6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)

8. 输入两个小于5000的正随机整数,求它们差的绝对值,并输出结果。

8. 输入一个年份,判断这个年份是否是闰年

9. 输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印A,B,C,D,E

10. 请编写一个实现如下功能的Application:从命令行依次取三个参数 x, y, op 做算术运算,其中 x, y为 int 型

数据,op 为运算符(+、-、×、÷之一),请显示 x op y 的结果。(此例子需要讲完String类的equals 方法)

11. 从命令行传入3个整数,求3个整数的和、积、最大值、最小值、平均值

12. 将以上3个数字,从小到大排列,然后再从大到小排列。

13. 输入年和月,得到这个月有多少天

14. 续上题,输入年,月,日,判断这个日期是否是一个正确的日期

15. 续上题,输入年,月,日,next|prior,如果是一个正确的日期,算出上一天或下一天

16. 输入三角形的三条边,判断是否是一个三角形,三角形的形状:等腰三角形,等边三角形,直角三角形,普通三

角形,求出周长,如果是直角三角形,另外求出面积

17. 有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。

18. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元

时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?注意定义时需把奖金定义成浮点型。

19. 从控制台输入2个数字,求两者之间最大值,再从控制台输入3个数字,求三个数字的最大值,用三目运算符求。

20. 用switch语句判断成绩,>=90 A >=80 B >=70 C >=60 D <60 E

21. 输入年月日,判断这是这一年中的第几天

22.打印1~100之间能被3整除且个位是6的数

23. 求n的阶乘。例如5的阶乘是1*2*3*4*5

24. 以下例子用for循环实现,打印1~100之间的奇数和偶数

25. 打印1900年到2100年之间的闰年,一行打印4个

26. 打印小九九乘法表的4种形状

27. 用一层while循环打印小九九乘法表

28. 打印以下图形

1

2 3

45 6

7 89 10

11 12 13 14 15

int j = 1,k = 1;//控制换行

29. 李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他的岁数之和是873,请编写程序

计算李先生及其夫人的岁数各是多少。

30. 有两个正整数a和b,已知a*b=2048,求a、b各为何值时,a+b的值最小

31. 用1、2、3、4能组成多少无重复数字的三位数

32. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?

再反弹弹起多少米?

33. 输出10~100之间的全部素数。所谓素数n是指,除1和n之外,不能被2~(n-1)之间的任何整数整除。

34. 输入两个正整数m和n,求其最大公约数和最小公倍数

35. 打印所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数本身,如153 = 1的立方 + 5的

立方 + 3的立方

36. 完数,一个数如果恰好等于它因子之和,这个数即为完数,如6 = 1 + 2 + 3

37. 打印以下图形

*

***

*****

*******

38. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

39. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下

的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。

40. 从控制台输入n个数,求出最大值和最小值

41. 使用for循环将一个数组中的元素逆序存放

42. 冒泡排序的下沉法

43. 冒泡排序的上浮法

44. 选择排序:先从数组中找出最小元素下标,然后和第一个元素交换,然后再找出从第二个元素到最后的元素中的

最小元素和第二个交换,以此类推

45. 插入排序: 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序,直到

待排序数据元素全部插入完为止。

46. 将10个费波那契数字赋给一个数组并打印出来(后一个数等于前面两个数的和。在这个数列中的数字,就被称

为费波那契数字,排列是:1,1,2,3,5,8,13……)

47. 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。程序分析:首先判断此数是否大

于最后一个数,如果大于最后一个数,则不插入。然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

48. 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。例如1 2 3 4 5 6 7 移动4

个就变成4 5 6 7 1 2 3 ,m值由键盘输入

49. 将一个数组中的重复元素保留一个其他的清零。

50. 从一个排好序的一维数组中查找指定的值的下标位置,用二分(折半)查找法查找上例

51. 从一个二维数组中找出最小值

52. 一个3乘3的二维数组,求其对角线之和

53. 二维数组的排序,每一个一维数组单独排序

54. 打印杨辉三角形

55. 在控制台输出以下图形

56. 6编写求下列式子的值:y=1-1/2+1/3-1/4+……+1/99-1/100;并将结果输出格式为:y=1-1/2+1/3-1/4+……

+1/99-1/100=表达式的值。

57. 输入一行字符,将其中的字母变成其后续的第三个字母,输出。例如:a→d,x→a,y→b;编程实现。

58. 编写程序,输入任意1~7之间的整数,将他们转换成对应的英文单词。例如:1转换为Monday,7转换为Sunday。

59. 输入三角形三边长,判断能否构成三角形,若能,计算周长。

60. 编程序:对键盘是、输入的任意一个四位正整数,计算各位数字的平方和。

61. 有1020个西瓜,第一天卖一半多两个,以后每天卖掉剩余西瓜的一半多两个。问几天能够买完?

62. 输出所有个位数位6且能被31整除的五位数及其个数。

63. 编写程序:输入两个整数,和+,-,*,/,%中任意一个运算符,输出计算结果。

64. 从键盘上输入若干学生的一门课成绩,存入一个数组中,当输入负数时结束输入,同时输出最高成绩和最低成绩,

及相应的序号。

65. 仿真农场

一个哺乳动物类如下所示:

public class Mammal{

protected int age = 2;

protected int weight = 5;

public Mammal(){

System.out.println(“Mammal constructor”);

}

int getAge(){return age;}

void setAge(int a){age = a;}

int getWeight(){return weight;}

void setWeight(int w){weight = w;}

void move(){System.out.println(“Mammal move one step”);}

void speak(){System.out.println(“Mammal speak!”);}

void sleep(){System.out.println(“shhh, I’m sleeping.”);}

}

狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!”),还会摇尾巴(增加成员函数,输出“Tail wagging…”),乞讨食物(增加

成员函数,输出“begging for food…”)。

猫、马、猪也属于哺乳动物,其叫声分别为:“Meow!”,“Winnie!”,“Oink!”。

编程分别使各个动物表现为不一样的行为。要求将所有的动物类放置于animal.mammal包下。

定义两个新的类,表示宠物猫和宠物狗。要求:这两个类能输出宠物所属的主人,价格等信息;将这两个类放置于animal.mammal.pet包下。

66. 用java实现如下的骰子游戏:丢下两个骰子,若分值的总值为7点,则赢,否则则输类图如下图。

提示:(1)首先定义Die类(表示一个骰子,有faceValue一个静态属性,有一个roll()方法,getFaceValue()); (2)然后定义DicGame类(有die1,die2两个静态属性,有一个静态属性,有一个play()方法,play()返回一个布尔类型,trueb表示分值总值为7者返回true);(3)写一个他、Test类,对上面定义的类进行测试。

67.编写Applet:实现功能为取小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,

否则不改变这两个数。最后,求这两个数的和并将结果输出。要求这些功能在主类的方法init()中实现并使输出结果保留小数点后四位(不需要四舍五入);

68.请编写一个Applet,其主类名为Applet1,其中包含两个同名方法arraMin(),它们都只有一个参数,

其中一个arrayMin()方法的参数为int型数组,返回值类型为int型数;另一个arrayMin()方法的参数为double类型数组,返回值类型为double型数;这两个方法的功能均为返回参数数组元素的最小值。通过paint()方法上述两个同名方法arrayMin(),求数组a(其元素的值依次为26,82,-3,65,18,9)和数组b(其元素的值依次为3.6,57.2,8.5,78.8)的最小元素的值并输出。

69.定义接口A,接口内有两个方法:method1(int x)和method2(int x,int y),它们的返回值类型均为

int。请编写一个Applet,并使其实现接口A:令方法method1(int x)的功能是求5的x次方、方法method2(int x,int y)的功能是求两个参数的最大值。在paint()方法中调用这两个方法,显示method1(2)和method(2,8)的结果

70.定义名为VolumeArea的抽象类,在其中定义元周率π的值为3.14159,并定义两个抽象方法

volume(double r)和area(double r),它们的返回值类型均为float。再定义以类VolumeArea为父类的子类VolumeAndArea,在该子类中实现父类中的抽象方法:方法volume(double r)的功能是求半径为r的球的体积(公式是:4π*r*r*r/3);方法area(double r)的功能是求半径为r的圆的面积(公式:π*r*r)请编写一个Application,在其主类中定义一个VolumeAndArea类的对象x,通过对象x 求半径为r(r的值由命令行给定)的体积及该球最大切面的圆的面积,并输出计算结果。

71. 编写程序:实现功能:接收命令行中给出的一个字符串,先将该串原样输出,然后判断该串的第

一个字母是否为大写,若为大写则统计该串中大写字母的个数,并将所有;大写字母输出;否则输出信息串“第一个字母不是大写字母!”

考察知识点1、static 2、final 3、abstract

练习

1. (static 属性)有如下代码

class MyClass{

static int a;// 静态属性注入没存

int b;

}

public class TestMain{

public static void main(String args[]){

MyClass mc1 = new MyClass();

MyClass mc2 = new MyClass();

mc1.a = 100;

mc1.b = 200;

mc2.a = 300;

mc2.b = 400;

System.out.println(mc1.a);

System.out.println(mc1.b);

System.out.println(mc2.a);

System.out.println(mc2.b);

}

}

请写出程序输出结果。

运行结果是 300

200

300

400

2. (静态成员)有如下代码

class MyClass {

int a;

static int b;

void fa(){}

static void fb(){}

public void m1(){

System.out.println(a); //1 true

System.out.println(b); //2 true

fa(); //3 true

fb(); //4 true

}

public static void m2(){

System.out.println(a); //5 false

System.out.println(b); //6

fa(); //7 false

fb(); //8

}

}

请问哪些行会编译出错?

A. //1

B. //2

C. //3

D. //4

E. //5

F. //6

G. //7

H. //8

答案:E G

错误原因没有用static 修饰变量不能直接调用

3. (静态属性)有如下代码

class MyClass {

static int count = 0;

public MyClass(){

count++;

System.out.println(count);

}

}

public class TestMain{

public static void main(String args[]){

MyClass mc1 = new MyClass(); 1

MyClass mc2 = new MyClass(); 2

MyClass mc3 = new MyClass(); 3

}

}

请写出该程序运行时输出的结果。

运行结果是:

1

2

3

4. *(静态初始化代码块)有如下代码

class MyClass{

static int i = 10;

static {

i = 20;

System.out.println("In Static");

}

public MyClass(){

System.out.println("MyClass()");

}

public MyClass(int i){

System.out.println("MyClass(int)");

this.i = i;

}

}

public class TestMain{

public static void main(String args[]){ MyClass mc1 = new MyClass();

System.out.println(mc1.i);

MyClass mc2 = new MyClass(10);

System.out.println(mc2.i);

}

}

运行结果:

In Static

MyClass()

20

MyClass(int)

10

请写出该程序运行的结果

5. (静态方法)有以下代码

class Super{

public static void m1(){

System.out.println("m1 in Super");

}

public void m2(){

System.out.println("m2 in Super");

}

}

class Sub extends Super{

public static void m1(){

System.out.println("m1 in Sub");

}

public void m2(){

System.out.println("m2 in Sub");

}

}

public class TestMain{

public static void main(String args[]){

Super sup = new Sub();

sup.m1();

sup.m2();

Sub sub = (Sub) sup;

sub.m1();

sub.m2();

}

}

写出这个程序的运行结果。

运行结果:

m1 in Super

m2 in Sub

m1 in Sub

m2 in Sub

6. (static)*以下哪些论述是正确的

A. 静态方法中不能调用非静态方法

B. 非静态方法中不能调用静态方法

C. 静态方法不能被覆盖

D. 静态方法能够用类名直接调用

E. 可以在不产生任何一个对象的情况下调用静态方法

F. 静态方法里可以使用this

正确的是 A D E F

7. (final 属性的初始化)*有如下代码

1) class MyClass{

2) final int value;

3) public MyClass(){}

4) public MyClass(int value){

5) this.value = value;

6) }

7) }

8) public class TestMain{

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

10) MyClass mc = new MyClass(10);

11) System.out.println(mc.value);

12) }

13) }

选择正确答案:

A. 编译通过,输出10

B. 编译不通过,把第2 行改为final int value = 10;

C. 编译不通过,把第3 行改为public MyClass(){ value = 10; } 答案: A

8. (final 变量)*有如下代码

class MyClass {

public void printValue(final int value){

System.out.println(value);

}

public void changeValue(int value){

value = value * 2;

System.out.println(value);

}

}

public class TestMain{

public static void main(String args[]){

MyClass mc = new MyClass();

int value = 5;

final int fvalue = 10;

mc.printValue(value); //1

mc.printValue(fvalue); //2

mc.changeValue(value); //3

mc.changeValue(fvalue);//4

}

}

选择正确答案

A. 编译通过

B. //1 出错

C. //2 出错

D. //3 出错

E. //4 出错

A 编译通过结果是 5 10 10 20

9. (final 修饰引用)*有如下代码

class MyValue{

int value;

}

public class TestFinal{

public static void main(String args[]){

final MyValue mv = new MyValue();

mv.value = 100;

//1

System.out.println(mv.value);

}

下面说法正确的是:

A. 编译不通过

B. 编译通过。在//1 处加上:mv.value = 200; 则编译不通过

C. 编译通过。如果在//1 处加上:mv = new MyValue(); 则编译不通过。

答案 A

10. (final 方法,方法覆盖)有如下代码

class Super{

public final void m1(){

System.out.println("m1() in Super");

}

public void m1(int i){

System.out.println("m1(int) in Super");

}

}

class Sub extends Super{

public void m1(int i){

System.out.println("m1(int) in Sub");

}

public void m1(double d){

System.out.println("m1(double) in Sub");

}

}

public class TestMain{

public static void main(String args[]){

Sub s = new Sub();

s.m1();

s.m1(10);

s.m1(1.5);

}

}

以上程序是否能编译通过?如果可以,输出运行的结果;如果不可以,应该怎样修改?可以运行

运行结果是:

m1() in Super

m1(int) in Sub

m1(double) in Sub

11. (abstract,方法覆盖)*有以下代码

abstract class MyAbstractClass{

public abstract void m1(); //1

abstract protected void m2(){} //2

class MySubClass extends MyAbstractClass{

void m1(){} //3

protected void m2(){} //4

}

问:这段代码哪些地方有错误?

A. //1

B. //2

C. //3

D. //4

12. (abstract)关于abstract,以下选项正确的是:

A. abstract 类中可以没有abstract 方法

B. abstract 类的子类也可以是abstract 类

C. abstract 类不能创建对象,但可以声明引用

D. abstract 方法不能有方法体

答案:A B

13. (修饰符综合)*下列方法声明中正确的是:

A. abstract final void m()

B. public void final m()

C. static abstract void m()

D. private final void m()

E. private abstract void m()

F. public static final void m()

14. (abstract)把Chp6 中的Shape 类改为抽象类,并把其中的求周长和求面积的方法改为

抽象方法。

15. (abstract)*把Chp6 中的Role 类改为抽象类,并把其中的attack 方法改为抽象方法。

16. (static)*设计一个类MyClass,为MyClass 增加一个count 属性,用来统计总共创建了

多少个对象。

17. (static, final)**修改Chp6 中的Account 类,增加两个功能

a) Id 属性做成final 的

b) 自动分配id 的功能。当创建多个Account 对象时,要求a) Id 自动分配,每个Account

对象的id 都不重复;b)自动分配的id 从100001 开始。

例如:

Account a1 = new Account();

Account a2 = new Account();

System.out.println(a1.getId()); //输出100001

System.out.println(a2.getId()); //输出100002

18. (静态初始化代码块,对象创建的过程)***有以下代码

class ClassA{

static {

System.out.println("In ClassA Static");

}

public ClassA(){

System.out.println("ClassA()");

}

}

class ClassB{

static {

System.out.println("In ClassB Static");

}

public ClassB(){

System.out.println("ClassB()");

}

}

class ClassC extends ClassB{

static{

System.out.println("In ClassC Static");

}

public ClassC(){

System.out.println("ClassC()");

}

}

class MyClass {

static ClassA ca = new ClassA();

ClassC cc = new ClassC();

static{

System.out.println("In Static MyClass");

}

public MyClass(){

System.out.println("MyClass()");

}

}

public class TestMain{

public static void main(String args[]){ MyClass mc1 = new MyClass();

MyClass mc2 = new MyClass();

System.out.println(https://www.wendangku.net/doc/1613919579.html, == https://www.wendangku.net/doc/1613919579.html,);

System.out.println(mc1.ca == mc2.ca);

}

}

写出这个程序运行的结果。

运行结果:

In ClassA Static

ClassA()

In Static MyClass

In ClassB Static In ClassC Static ClassB()

ClassC() MyClass() ClassB()

ClassC() MyClass()

false

true

java单选题库-博学谷

一、单选题 属于以下哪种语言() A. 机器语言 B. 汇编语言 C. 高级语言 D. 以上都不对 答案:C 解析:Java是一门高级编程语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 2.下列目录中,哪一个是用来存放JDK核心源代码的 A. lib目录 B. src目录 C. jre目录 D. include目录 答案:B 解析:JDK核心源代码存放在src文件夹下 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 3.下面命令中,可以用来正确执行HelloWorld案例的是() A. java HelloWorld B. java C. javac HelloWorld D. javac

答案:A 解析:java命令负责运行编译后的.class文件,不需要文件后缀名。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 4.下面关于配置path环境变量作用的说法中,正确的是() A. 在任意目录可以使用javac和java命令 B. 在任意目录下可以使用class文件 C. 在任意目录可以使用记事本 D. 在任意目录下可以使用扫雷游戏 答案:A 解析:path环境变量的作用是在任意目录下都可以使用javac和java命令。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 5.下列选项中,可以正确配置classpath的命令是() A. set classpath =C:\Program Files\Java\ set classpath : C:\Program Files\Java\ classpath set =C:\Program Files\Java\ classpath set : C:\Program Files\Java\ 答案:A 解析:配置classpath的命令是set classpath=xxx,并且等于号两边不要有空格。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 6.下面选项中,完全面向对象的编程语言是() A. C B. COBOL C. JAVA D. FORTRAN 答案:C

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基础知识问答题

Java 基础知识问答题 包含的模块 本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,如下图所示:

共包含208 道问答题,本文的宗旨是为读者朋友们整理一份基础知识的简单大纲,下面一起进入主题吧。 Java 基础 1. JDK 和JRE 有什么区别?

?JDK:Java Development Kit 的简称,Java 开发工具包,提供了Java 的开发环境和运行环境。 ?JRE:Java Runtime Environment 的简称,Java 运行环境,为Java 的运行提供了所需环境。 具体来说JDK 其实包含了JRE,同时还包含了编译Java 源码的编译器Javac,还包含了很多Java 程序调试和分析的工具。简单来说:如果你需要运行Java 程序,只需安装JRE 就可以了,如果你需要编写Java 程序,需要安装JDK。 2. == 和equals 的区别是什么? == 解读 对于基本类型和引用类型== 的作用效果是不同的,如下所示: ?基本类型:比较的是值是否相同; ?引用类型:比较的是引用是否相同; 代码示例: String x = "string"; String y = "string"; String z = new String("string"); System.out.println(x==y); // true System.out.println(x==z); // false System.out.println(x.equals(y)); // true System.out.println(x.equals(z)); // true 代码解读:因为x 和y 指向的是同一个引用,所以== 也是true,而new String()方法则重写开辟了内存空间,所以== 结果为false,而equals 比较的一直是值,所以结果都为true。 equals 解读

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.wendangku.net/doc/1613919579.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

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基础知识及面试题

Java基础 1.什么是类?类是某一种事物的一般性的集合体,是相同的或相似的各个事物共同特性的一种抽象。 2.什么是对象?在面向对象概念中,对象是类的实例。对象与类的关系就像变量与数据类型的关系一样。 3.类的核心特性 封装性:类的封装性为类的成员提供公有的、缺省的、保护的、私有的等多级访问权限。目的是隐藏类中的私有变量和类中方法的实现细节。 继承性:类的继承性提供从已存在的类创建新类的机制,继承使一个新类自动拥有被继承类的全部可继承的成员。 多态性:类的多态性提供类中方法执行的多样性,有两种表现形式:重载和覆盖。 4.方法:对象中方法表达了对象所具有的行为。 5.属性:一个对象的属性是能够被外界或对象所处的环境所感知或操纵的数据或状态。 6.什么是Java?Java是一门易于编程的跨平台编程语言,同时又是一个开发、应用、执行和部署的平台。 7.为什么要有Java?Java与平台无关、一次编译处处运行、以及他的易于编程的特性。 8.Java开发程序的步骤?编写源代码(2)编译(3)执行 9.Java的环境变量 1)JAVA –HOME jdk的安装路径 2)CLASSPATH jvmclass字节码文件时的搜索路径 3)PATH 是系统的环境变量、命令的搜索路径 10.JVM :Java Virtual Machine 是一个逻辑的操作系统、它屏蔽了硬件和平台的信息、jvm能将字节码文件解释并执行、正 是这种独立执行的方式是Java 具有与平台无关的特性。 11.类的加载过程:类加载器加载字节码文件到存、jvm存数据区将对象状态放置在堆区、各线程使用的变量放在栈区、类的 特征放在方法区、然后进行字节码验证再执行。 12.常用的Java命令:Javac、java、javadoc、jar 13.类的语法与规 一个源文件只能有一个public的类 Public源文件可以有多个类定义 源文件名必须与public类名保持一致 包名必须放在第一行 包名可以有0个或1个但不能有多个 源文件如果带包的话最好存放在包结构对应的目录下 标识符程序语言用于标识变量名类名方法名的字符串就是标识符。 标识符必须字母下划线美元符开头大小写敏感。 类名要求首字母大写 方法名首字母小写每个单词首字母大写 常量名所有字母大写如果有两个或几个字母的联合用下划线连接 关键字:程序语言中、程序已经所有用户不能再使用的单词一般关键字都是小写 14 .数据类型:基本数据类型: 整型(byte、short、int、long)默认是int 浮点型(float、double)、默认是double 布尔型(boolean)、 字符型(char) 引用类型:类、接口、数组 15 .main()方法执行过程 1)先到方法区搜索student、如果搜索不到则去加载student的字节码文件 2)通过classpath查找对应的student字节码文件找不到就返回错误(ClassNotFound) 3)将字节码文件的二进制数据转换为class对象放置于方法区(class对象描述了student类的方法特征及静态成员等)加载完成 4)验证字节码文件

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基础知识测试__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笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3 12.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

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基础知识试题

第一章JA V A基础知识 §1.1 Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) –4 8. 在Java语言中,逻辑常量只有true 和___________ 两个值。 9.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 __________两种具体类型。

《Java编程基础知识点汇总及习题集》--答案

目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。

2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。

Java程序员认证考试题库

第一部分 基础知识练习 目标 本章对应于《学生指南》各章的内容分别提供了练习题集,包括: ●第一章Java入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

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语言基础练习题

注:题目没有涵盖所有知识点。 仅作为学习过程中知识点的巩固 第一章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();

相关文档