练习05Java类属性方法定义练习题
- 格式:doc
- 大小:33.00 KB
- 文档页数:8
java基础50道经典练习题及答案《Java基础50道经典练习题及答案》Java作为一种广泛应用于软件开发的编程语言,对于初学者来说,掌握其基础知识是非常重要的。
为了帮助大家更好地学习和掌握Java基础知识,我们整理了50道经典的练习题及答案,希望能够帮助大家更好地理解和掌握Java编程。
1. 请写出Java中的8种基本数据类型。
2. 什么是Java中的包(package)?3. Java中的“==”和“equals()”有什么区别?4. 什么是Java中的多态(polymorphism)?5. 请写出Java中的四种访问修饰符及其作用。
6. 什么是Java中的接口(interface)?7. 请写出Java中的四种循环语句。
8. 什么是Java中的异常处理(exception handling)?9. Java中的“String”和“StringBuffer”有什么区别?10. 请写出Java中的三种注释方式。
这些练习题涵盖了Java基础知识的各个方面,包括数据类型、包、运算符、多态、访问修饰符、接口、循环语句、异常处理、字符串处理等内容。
通过做这些练习题,可以帮助大家更好地理解和掌握Java编程的基础知识。
在学习Java编程的过程中,不仅要掌握理论知识,还要多做练习,多动手实践。
只有通过实际操作,才能更好地理解和掌握Java编程的各种知识点。
希望大家能够认真对待这些练习题,多加练习,相信一定能够取得不错的成绩。
最后,希望大家在学习Java编程的过程中,保持耐心和坚持,相信通过不懈的努力,一定能够掌握好Java编程的基础知识,成为一名优秀的Java程序员。
祝大家学习进步,早日掌握Java编程!。
java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
java考试试题及答案解析一、单选题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. publicC. staticD. void答案:A解析:在Java中,关键字class用于声明一个类。
public、static 和void分别是访问修饰符、修饰符和返回类型,不用于声明类。
2. 下列哪个选项是Java中的保留字?A. finalB. StringC. SystemD. main答案:A解析:final是Java中的保留字,用于声明一个变量、方法或类不可被修改。
String是类名,System是类名,main是方法名。
3. 在Java中,下列哪个选项是正确的方法声明?A. public void myMethod();B. public int myMethod();C. public myMethod();D. public void myMethod(int a);答案:D解析:在Java中,方法声明需要指定返回类型和参数列表。
选项A和B缺少参数列表,选项C缺少返回类型。
选项D是正确的方法声明。
4. 下列哪个选项是Java中的合法变量名?A. 2variableB. _variableC. $variableD. variable2答案:D解析:在Java中,变量名必须以字母、下划线或美元符号开头,不能以数字开头。
选项A以数字开头,选项B和C包含非法字符。
选项D是合法的变量名。
5. 在Java中,下列哪个选项是正确的数组声明?A. int[] myArray;B. int myArray[];C. int[] myArray = new int[5];D. int myArray = new int[5];答案:C解析:在Java中,数组声明需要指定数组类型和变量名,然后使用new关键字创建数组实例。
选项A和B缺少数组实例化,选项D将数组赋值给非数组类型的变量。
第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。
7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。
2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。
第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。
3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。
习题一、选择题1. 面向对象程序设计的基本特征是(BCD)。
(多选)A.抽象B.封装C.继承D.多态2.下面关于类的说法正确的是(ACD)。
(多选)A.类是Java 语言中的一种复合数据类型。
B.类中包含数据变量和方法。
C.类是对所有具有一定共性的对象的抽象。
D.Java 语言的类只支持单继承。
上机指导1.设计银行项目中的注册银行用户基本信息的类,包括账户卡号、姓名、身份证号、联系电话、家庭住址。
要求是一个标准Java类(数据私有,提供seter/getter),然后提供一个toString方法打印该银行用户的信息。
答:源代码请参见“CH05_LAB\src\com\inspur\ch05\BankUser.java”2.设计银行项目中的帐户信息,包括帐户卡号、密码、存款,要求如“练习题1”。
答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Account.java”3.设计银行项目中的管理员类,包括用户名和密码。
要求如“练习题1”。
答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Manager.java”4.创建一个Rectangle类。
添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。
测试输出一个矩形的周长和面积。
答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Rectangle.java”5.猜数字游戏:一个类A有一个成员变量v,有一个初值100。
定义一个类,对A类的成员变量v进行猜。
如果大了则提示大了,小了则提示小了。
等于则提示猜测成功。
答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Guess.java”6.编写一个Java程序,模拟一个简单的计算器。
定义名为Computer的类,其中两个整型数据成员num1和num1,编写构造方法,赋予num1和num2初始值,再为该类定义加、减、乘、除等公有方法,分别对两个成员变量执行加减乘除的运算。
练习题:一、读程序,写出和程序输出格式一致的输出结果。
1、class J_SuperClass {void mb_method() {System.out.println("J_SuperClass::mb_method");}static void mb_methodStatic() {System.out.println("J_SuperClass::mb_methodStatic"); } }public class J_Test extends J_SuperClass {void mb_method() {System.out.println("J_Test::mb_method");}static void mb_methodStatic() {System.out.println("J_Test::mb_methodStatic");}public static void main(String[] args) {J_SuperClass a = new J_Test();a.mb_method();a.mb_methodStatic();J_Test b = new J_Test();b.mb_method();b.mb_methodStatic();}}输出结果:32342、class ValHold {public int i = 10;}public class ObParm {public static void main(String[] args) {ObParm o = new ObParm();o.amethod();}public void amethod() {int i = 99;ValHold v = new ValHold();v.i = 30;another(v, i);System.out.println(v.i + " " + i);}public void another(ValHold v, int i) {i = 0;v.i = 20;ValHold vh = new ValHold();v = vh;System.out.println(v.i + " " + i);}}输出结果:10 020 993、class J_SuperClass {int m_data;J_SuperClass() {mb_add(1);}public void mb_add(int i) {m_data += i;}public void mb_print() { System.out.println(m_data);}}class J_SubClass extends J_SuperClass { J_SubClass() {mb_add(2);}public void mb_add(int i) {m_data += i * 2;}}public class J_Test {public static void mb_method(J_SuperClass a) { a.mb_add(6);a.mb_print();}public static void main(String[] args) {mb_method(new J_SubClass());}}输出结果:184、public class Two {public static void main(String[] args) {One one = new One("Hello");one.getString("Xiao ming!");}}class One {private String myStr;public One(String str) {myStr = str;}public void getString(String str) { System.out.println(myStr + " " + str);}}输出结果:Hello Xiao ming!5、public class J_Test {String m_kobe = "1";String[] m_king = {"2"};public static void main(String[] args) {J_Test app = new J_Test();app.mb_operate(app.m_kobe, app.m_king); System.out.println(app.m_kobe+app.m_king[0]); } static void mb_operate(String kobe, String[] king) { kobe = new String("3");king[0] = new String("4");}}输出结果:141.某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。
java编程练习题及答案【篇一:java基础编程练习题(50题及答案)2017】class=txt>【程序1】题目:古典问题:有一对兔子,从出生后第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; i200; 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);}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
java模拟试题及答案Java模拟试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字是Java中用于定义类的方法的?A. classB. publicC. staticD. void答案: B2. Java中的哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Main答案: A3. 在Java中,以下哪个是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) {D. if (x > y)答案: A4. Java中的哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案: B5. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案: D6. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. newD. abstract答案: A7. 在Java中,哪个关键字用于定义一个类为抽象类?A. abstractB. finalC. staticD. void答案: A8. Java中,哪个关键字用于定义一个类为最终类,不能被继承?A. abstractB. finalC. staticD. strictfp答案: B9. 下列哪个是Java中的集合框架?A. AWTB. SwingC. JDBCD. Collections答案: D10. Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. All of the above答案: D二、简答题(每题5分,共20分)1. 简述Java的垃圾回收机制。
答案: Java的垃圾回收机制是一种自动内存管理功能,用于识别和回收不再使用的对象,从而释放内存。
(完整版)类的概念及基本性质练习题
1. 类的概念
类是面向对象编程中最基本的概念之一。
它是一种具有相同属性和行为的对象的抽象集合。
类定义了对象的特征和行为,是创建对象的模板。
2. 类的基本性质
类具有以下基本性质:
2.1 封装性
封装性指的是类可以将数据和对数据的操作封装起来,使其成为一个独立的实体。
类通过使用访问控制修饰符来控制对其成员的访问权限。
封装性可以提高代码的可维护性和复用性。
2.2 继承性
继承性指的是在一个类的基础上创建新的类,新类将继承原类的属性和行为。
继承性可以实现代码的重用,减少重复编写相似代码的工作量。
2.3 多态性
多态性指的是一个类的实例可以被看作是其父类或接口的实例。
多态性可以实现方法的重写和重载,提高代码的灵活性和扩展性。
2.4 抽象性
抽象性指的是类的设计应该关注于对象的本质特征和行为,而
忽略细节。
通过使用抽象类和接口,可以定义一组共同的属性和方法,使得类的设计更加灵活和可扩展。
3. 练题
3.1 问题一
请列举三个你认为具有相同属性和行为的对象,并说明为什么
它们是相同的。
3.2 问题二
在面向对象编程中,如何实现类的封装性?请给出一个具体的
例子。
3.3 问题三
什么是继承性?使用继承可以解决什么问题?
3.4 问题四
多态性如何提高代码的灵活性和扩展性?举一个实际的例子说明。
3.5 问题五
抽象类和接口有什么区别?在面向对象设计中,如何使用抽象类和接口?。
第五章编程题1.编写一个程序,实现字符串大小写的转换并倒序输出。
要求如下:(1)使用for循环将字符串“HelloWorld”从最后一个字符开始遍历。
(2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符。
(3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。
【参考答案】public class Chap5e {public static void main(String[] args) {String str="Hell5oWorld";char[] ch=str.toCharArray();StringBuffer s=new StringBuffer();for(int i=ch.length-1;i>=0;i--){if(ch[i]>='A'&&ch[i]<='Z')s.append(String.valueOf(ch[i]).toLowerCase());elseif(ch[i]>='a'&&ch[i]<='z')s.append(String.valueOf(ch[i]).toUpperCase());elses.append(String.valueOf(ch[i]));}System.out.print(s.toString());}}2. 利用Random类来产生5个20`30之间的随机整数并输出。
【参考答案】import java.util.Random;public class Chap5e {public static void main(String[] args) {Random r=new Random();for(int i=0;i<5;i++){System.out.println(r.nextInt(30-20+1)+20);}}}3. 编程. 已知字符串:”this is a test of java”.按要求执行以下操作:(1) 统计该字符串中字母s出现的次数(2) 取出子字符串”test”(3) 将本字符串复制到一个字符数组Char[] str中.(4) 将字符串中每个单词的第一个字母变成大写,输出到控制台。
第4讲Java类,属性和方法定义[] 选择题1. 问:下列哪些是合法的类定义语句A.private class A {}B.public class A ()C.class A extends Exception, IOException {}D.public class 1A extends Object {}E:public class String {}F:以上都不是答:2. 问:下列哪些不是合法的类定义A:protected class Object {}B:public class Object extends Object {}C:public class Object extends ng.Object {}D:class $$$$$$ {}E:class Final {}F:以上都是合法的类定义G:以上都不是合法的类定义答:3.下列定义哪个合法:A:public class UserString implements String {}B:public class final UserDao extends Object {}C:public class UserBusiness{private abstract void addUser(String userId, int age);}D:public class abstract EmployeeInfo implements Object {}E:package com.neusoft.oa.dao;public class Object {}F:以上定义都不是。
答:4.类的访问控制符有:A:publicB:friendC:privateD:protectedE:以上都不是答:5.类必须有的部分是:A:class 关键字B:类名称C:类访问控制符D:类修饰符E:类体{ }F:继承子句extendsG:实现接口子句implementsH:以上都不需要答:6.关于类final修饰符的说法,如下哪些是正确的?A:final修饰是为了与abstract修饰符对应,没有final的类,应该是abstract。
B:final的类不能创建对象。
C:final类可以创建对象。
E:final类不可以有父类。
F:final类不能有子类。
G:以上说法都不对。
答:7.关于类abstract修饰符的说法,如下哪些选择是正确的?A:定义类时,final和abstract修饰符必须选择一个,不能同时都选。
B:abstract修饰的类,可以没有abstract方法。
C:abstract修饰的类,不能有父类。
D:abstract修饰的类,不能有子类。
E:abstract修饰的类,不能有构造方法,因此无法创建对象。
F:abstract修饰的类,必须有abstract方法。
G:以上说法都不对。
答:8.关于extends继承的说法,如下哪些选择是正确的?A:类只能继承abstract修饰的类。
B:一个类可以有多个父类。
C:一个类可以有多个子类。
D:不能继承final修饰的类。
E:abstract类不能继承其他类。
F:以上说法都不对。
答:9. 给出代码//文件类package fh.oa.value;class Document{private int no=0;int pageNo=0;protected int pageNumber=0;public int printNo=0;}//用户类package fh.oa.business;class User{-------------------------------}问:在User类划线处,下列哪个语句可以编译成功:A:int m=new Document().no;B:int m=new Document().pageNo;C:int m=new Document().pageNumber;D:int m=new Document().printNo;E:以上语句都无法编译成功答:10. 给定代码//类1packge fh.oa.value;public class Info{public int n=0;static int m=0;}//类2package fh.oa.client;public class Client{public void call(){-----------------------}问:在类2的划线处,写入如下代码,哪个能够编译成功?A:int i=Info.n;B:int i=new Info().n;C:int i=Info.m;D:int i=new Info().m;E:A-D语句都无法通过编译。
F:A-D语句都可以通过编译。
答:11. 问:下列哪个类属性定义是合法的:A:final int pi;B:int m;C:abstract int n=0;D:final int k=k++;E:以上都不是合法的属性定义。
答:12. 问:下列哪些类属性定义是非法的:A:final String name=’A’;B:final static String name;C:public protected final static String name=”ABC”;D:private String name=”ABC”+”ABC”+true;E:以上定义都是合法的属性定义F:以上定义都不是合法的属性定义。
答:13. 下列类的代码(一个或多个)可能无法编译://类1package payroll;class Employee{public static String name=”AAA”;public static String getName(){Return name;}}//类2package client;import payroll.Employee;class Trader extends Employee{public String name=”BBB”;问:有几种方法可以使以上代码编译通过,以下哪种改造可以成功?A:类1的package payroll; -> package client;B:类1的class Employee 改造为protected class EmployeeC:类2的package client; 改造为:package payroll;D:类2 的定义class Trader extends Employee 改造为:public class Trader extends Employee E:以上改造都可以。
F:以上改造都不可以。
答:14. 给出类代码://类1package com.ibm.oa.dao;class Info{public int a=0;static int b=0;}//类2package com.ibm.oa.dao;class Client{public static void main(String[] args){Info info01=new Info();Info info02=new Info();info01.a=info02.a+info02.b++;info01.b=info02.b++;Info.b=info01.b++;System.out.print(info01.b);System.out.print(info02.b);}}问:编译以上代码,并运行类Client, 运行的结果是:A:11B:12C:22D:23E:以上都不是。
答:15. 给出类的代码package lhd.construtor;public class Employee {public void show(byte a,int b){System.out.print(a);System.out.print(b);}public void show(int a,byte b){System.out.print(b);System.out.print(a);}public static void main(String[] ee){Employee emp=new Employee();emp.show(20, 10);}}问:编译和运行此类的结果为:A:打印:2010B:打印:1020C:无打印D:编译错误E:打印20101020答:16.下列哪些方法定义是合法的?A:public static abstract void main();B:private final static String getName { return null; } C:private abstract void add() {}D:int final getNumber() {return 0;}E:private final abstract void info();F:以上定义都不合法答:17.下列哪些方法定义是非法的?A:double get-info() { return 0.0; }B:public static final synchronized void main(String info) {} C:public abstract static void main();D:public abstract int main() { return 0; }E:private final static void main() { return null; }F:以上定义都是合法的。
答:[] 编程题:1.定义一个类保存在包com.fh.oa.business中,类名称为Employee,访问控制为public,分别定义有各种访问控制的属性;有final和static属性;定义可以启动的类,包为:com.fh.oa.test; 类名称为Main,在main方法中,分别访问各种访问控制的属性,验证类以及属性的访问特性,访问final和static属性,验证final和static属性的访问方法。
2定义一个银行卡类:BankCard,定义如下属性:注:所有属性类型和初始值自己确定。
银行卡序号:每发一张卡,序号加1,不分哪家银行。
nextNo所有卡累计余额:将所有卡的余额加一起。
totalBalance银行卡号cardNo客户姓名name客户身份证号personId卡上余额balance定义方法:注:所有方法参数自己和返回类型自己确定,这里只给出方法名:构造方法BankCard()取得所有卡累计余额getTotalBalance取得当前最后的卡号getCurrentCardNo取得下一个卡号getNextCurrentNo存款deposit()取款withdraw()取得本卡的余额getBalance()3.定义银行类:Bank定义属性:银行名称bankName所在国家名称:countryName(注所有银行都是在中国)所有银行已发出的卡数totalCardNumber本银行累计存款金额totalDeposit本银行累计取款金额totalWithdraw所有银行累计存款金额allTotalDeposit所有银行累计取款金额allTotalWithDraw定义方法:构造方法Bank()发卡createCard()存款deposit()取款withdraw()取得本银行累计取款金额getTotalDeposit取得本银行累计取款金额getTotalWithdraw取得所有银行累计存款金额getAllTotalDeposit取得所有银行累计取款金额getAllTotalWithDraw4.定义客户类:Java Main类在main方法中模拟下列任务:(1)分别创建2个银行。