「java类练习」Java基础训练
今天给各位分享java类练习的知识,其中也会对Java基础训练进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java练习题求完整代码
按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代码如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","张三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","赵六",73.5);
sArray[4]=new Student("005","孙七",66);
System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
java练习题求大神刚学
按照题目要求编写的商品类Item的Java程序如下
public class Item{
public String code,name,type;
public double price;
public static int totalNum=0;
public Item(){}
public Item(String code,String name){
this.code=code;
this.name=name;
totalNum++;
}
public static void main(String[] args){
Item[] item=new Item[10];
item[0]=new Item("666","戴尔(DELL) 游戏笔记本");
item[0].type="游戏";item[0].price=5499.00;
item[1]=new Item("007","苹果(Macbook pro)笔记本");
item[1].type="电脑,办公";item[1].price=18000.00;
for(int i=0;iItem.totalNum;i++){
System.out.println("名称:"+item[i].name+",价格:"+item[i].price);
}
System.out.println("总商品数量:"+Item.totalNum);
}
}
JAVA练习题 对的多且做得快的给30分
1.当一个类没有显式定义构造方法时,Java系统总是为其创建一个默认的无参的构造方法。
对
2.一个源文件中最多只能包含一个包声明语句(package)。
对
3.在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,this(…)不能在构造方法的第一行调用。
错
4.子类可以重写一个父类的构造方法。
错
5.类File重写方法equals()在两个实例对象的内容和类型一致时返回true。
错
6.如果一个类没有使用extends关键字扩展任何类,则该类无父类。
错
7.Math类是final类,因此在被其他类继承时其中的方法不能被重写。
错
8.Component类是所有界面组件的父类。
对
9.Frame类默认的布局管理器是BorderLayout,Dialog类没有默认的布局管理器。
错 Dialog类默认的布局管理器也是BorderLayout
10.调用sleep()方法可以使一个线程停止运行。
错 线程休眠(暂停执行)
11.一个新线程启动start()方法,表示线程可为JVM的线程调度程序调度而不表示它可以立即运行。
对
求Java基础,练习题。
选择题 (25道)
1. 下列选项中,不属于Java语言特点的一项是( C )。
A:分布式 B:安全性 C:编译执行 D:面向对象
2. Java语言的特点与 C/C+ +语言的比较中说法错误的是:( D )
A:简单性Java继承了 C/C+ +的语法 ,丢弃了其中不常用又容易引起混淆的功能。
B:Java是一种纯面向对象的语言 ,具有封装、继承 ( Inheritance)和多态( Polymorphism)的特点。
C:Java应用程序可凭借URL打开并访问网络上的对象。
D:解释型Java写成的源代码需要被编译成高阶的字节码 ,它们与机器架构有关。
3. 阅读下列代码,选出该代码段正确的文件名( C )。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] args){
System.out.println("main() in class B");
}
}
A: A.java B:A.class C: B.java D: B.class
4. 如果一个类的文件名为Student.java,但是类的代码为:
public class Student {
public static void main(String[] args) {
System.out.println(82);
}}
那么下列说法正确的是:( B )
A:程序运行结果为8; B:程序运行结果为2;
C:程序运行结果为0; D:程序编译错误,不能运行;
5. 符合对象和类的关系的是( D )。
A:教师和学生 B:书和房子
C:狗和猫 D:飞机和交通工具
6. 关于垃圾回收机制描述不正确的是( B )
A:垃圾回收机制不须通过程序员调用相应方法,也能自动启动。
B:java程序员用System.gc()方法一定能进行垃圾回收;
C:垃圾回收机制属于jvm自动操作,java程序员可以不进行垃圾回收操作。
D:垃圾回收机制并不是由操作系统自动执行。
7. 编译下面源程序会得到哪些文件( D )?
class A1{
}
class A2 exdends A1{
}
public class B{
public static void main(String[] args){
}
}
A: 只有B.class文件 B:只有A1.class和A2.class文件
C: 编译不成功 D:A1.class、A2.class和B.class文件
8. 下列关于基本数据类型的说法中,不正确的一项是( D )。
(A)boolean类型变量的值只能取真或假
(B)float是带符号的32位浮点数
(C)double是带符号的64位浮点数
(D)char是8位Unicode字符
9. 下列(D )是合法的标识符?
A:12class B:void C:-5 D:_blank
10. 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。
A:byte的默认值是0 B:boolean的默认值是false
C: char类型的默认值是’\0’ D: long类型的默认值是0.0L
11. 下列程序执行的结果是:( B )
public class News {
public static void main(String[] args) {
System.out.println(1+2+ "aa"+3);
}}
A: "12aa3" B: "3aa3 " C: "12aa" D: "aa3"
12. 表达式(12==0) (1/0 1)的值为( B )。
A: true B: false C: 0 D: 运行时抛出异常
13. 下列循环体执行的次数是( C )。
int y=2, x=4;
while(--x != x/y){ }
A : 1 B: 2 C : 3 D : 4
14. 已知如下代码:
switch(m){
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default:System.out.println("Other Condition");
}
当m的值为( D )时,输出“Condition 3”
(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3
15. 下列语句输出的结果是:( C )
public class X3 {
public static void main(String[] args) {
for(int i=0; i10; i++){
if(i==5) break;
System.out.print(i);
}
}
}
A:编译错误; B:1234;C:01234;D:12345;
16. 下列语句输出的结果是:( D )
public class Lx1 {
public static void main(String[] args) {
for(int i=0;i5;i++){
switch(i){
case 0:System.out.print("B");
case 1:System.out.print("e");break;
case 2:System.out.print("g");
case 3:System.out.print("!");break;
case 4:System.out.print("!");break;
default:System.out.print("!");
}
}
}
}
A:Beg!!! B:Beeg! C:Beg! D:Beeg!!!
17. 下面foreach循环的程序输出结果是( D )。
public class Lx1{
public static void main(String[] args) {
String s1[]={"欢迎您","3","G","同","学",};
Arrays.sort(s1);
for(String s0:s1)
System.out.print (s0);
}
}
A:欢迎您3G同学 B:3G欢迎您同学 C:同学欢迎您3G D:3G同学欢迎您
18. 阅读以下程序,选择正确的运行结果:( B )
public class Lx1 {
public static void main(String[] args) {
byte d[]="YOUIHE你我他".getBytes();
String s=new String(d,6,2);
System.out.println(s);
}
}
A:HE; B:你; C:我; D:他
19. 设有下列数组定义语句:
int a[][]= {{1, 2}, {3}};
则对此语句的叙述正确的是( D )。
A: 定义了一个名为a的一维数组 B: a数组 a[1][1]为0
C: a数组元素的下标为1~3 D: 数组中每个元素的类型都是整数
20. 下列程序输出的结果是:( B )
public class Lx1 {
public static void main(String[] args) {
String a[][] ={{"","","",""},{""},{"",""}};
System.out.println(a[2].length);
}
}
A:1 B:2 C:3 D:4
21. 关于以下程序的说明,正确的是( 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
22. 给出下面代码,关于该程序以下哪个说法是正确的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
for(int i=0;i
System.out.print(arr[0]);
}
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空
23. 下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。( C )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);}
}
A: 0 B: 6 C: 11 D: 2
24. 下面关于方法的说法,不正确的是( C )。
A: Java中的构造方法名必须和类名相同
B: 方法体是对方法的实现,包括变量声明和合法语句
C: 如果一个类定义了构造方法,也可以用该类的默认构造方法
D: 类的私有方法不能被其他类直接访问
25. 在Java中下列说法正确的是( C )
A) 一个子类可以有多个父类,一个父类也可以有多个子类
B) 一个子类可以有多个父类,但一个父类只可以有一个子类
C) 一个子类可以有一个父类,但一个父类可以有多个子类
D) 上述说法都不对
Java类的多态练习
public class Exam
{
public static void main(String[] args)
{
for(Shape s : new Shape[] {new Rectangle(8,6),new Circle(10)})
{
System.out.println(s.getDescription());
System.out.println(String.format("面积:%.1f",s.getArea()));
}
}
}
abstract class Shape
{
abstract String getDescription();
abstract double getArea();
}
class Rectangle extends Shape
{
Rectangle(double l,double w)
{
length=l;
width=w;
}
public String getDescription()
{
return String.format("长为%.1f,宽为%.1f的长方形!",length,width);
}
public double getArea()
{
return length*width;
}
private double length,width;
}
class Circle extends Shape
{
Circle(double r)
{
radius=r;
}
public String getDescription()
{
return String.format("半径为%.1f的圆!",radius);
}
public double getArea()
{
return Math.PI*radius*radius;
}
private double radius;
}
Java练习抽象类
package JavaBaiduThree;
//抽象类Driver
public abstract class Driver {
private String gender;
private int age;
public Driver(String gender,int age){
this.setGender(gender);
this.setAge(age);
}
abstract void drives(Vehicle v);
//通过方法在后面调用时进行获取值
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package JavaBaiduThree;
//抽象类Vehicle
public abstract class Vehicle {
private String type;
private int id;
public Vehicle(String type,int id){
this.setType(type);
this.setId(id);
}
abstract void drivedByDriver(Driver who);
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
package JavaBaiduThree;
//抽象类Driver的子类FemaleDriver
public class FemaleDriver extends Driver{
public FemaleDriver(String gender,int age){
super(gender, age);
}
void drives(Vehicle v){
System.out.println("A female drives a "+v.getType()+",id is "+v.getId()+".");
}
}
package JavaBaiduThree;
//抽象类Driver的子类MaleDriver
public class MaleDriver extends Driver{
MaleDriver(String gender,int age){
super(gender,age);
}
void drives(Vehicle v){
System.out.println("A man drives a "+v.getType()+" "+v.getId()+".");
}
}
package JavaBaiduThree;
//抽象类Vehicle的子类Bus
public class Bus extends Vehicle{
Bus(String type,int id){
super(type,id);
}
void drivedByDriver(Driver who){
System.out.println("A "+who.getGender()+" "+who.getAge()+" years old "+" drives Bus.");
}
}
package JavaBaiduThree;
//抽象类Vehicle的子类Car
public class Car extends Vehicle{
Car(String type,int id){
super(type,id);
}
void drivedByDriver(Driver who){
System.out.println("A "+who.getGender()+" "+who.getAge()+" years old "+" drives a car.");
}
}
package JavaBaiduThree
public class TestDemo {
public static void main(String[] args){
FemaleDriver fd=new FemaleDriver("female",26);
MaleDriver md=new MaleDriver("male",28);
Bus vb=new Bus("Bus",001);
Car vc=new Car("Car",002);
fd.drives(vc);
md.drives(vb);
vb.drivedByDriver(md);
vc.drivedByDriver(fd);
}
}
不知道能不能看得懂,我也是刚刚开始学……
java类练习的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java基础训练、java类练习的信息别忘了在本站进行查找喔。
发布于:2022-12-21,除非注明,否则均为
原创文章,转载请注明出处。