java基础练习问题 求Java基础,练习题。

作者&投稿:长健 (若有异议请与网页底部的电邮联系)
import java.util.Random;

class Student {
  private String id;
  private String name;
  private int score;
  private char sex;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getScore() {
    return score;
  }

  public void setScore(int score) {
    this.score = score;
  }

  public char getSex() {
    return sex;
  }

  public void setSex(char sex) {
    this.sex = sex;
  }

  public void pnt() {
    System.out.println("学号:" + id);
    System.out.println("姓名:" + name);
    System.out.println("成绩:" + score);
    System.out.println("性别:" + sex);
    System.out.println();
  }
}

public class MyApp {

  public static void main(String[] args) {
    Student s1 = new Student();
    s1.setId("1");
    s1.setName("张三");
    s1.setScore(85);
    s1.setSex('男');
    s1.pnt();

    Student s2 = new Student();
    s2.setId("2");
    s2.setName("李四");
    s2.setScore(90);
    s2.setSex('女');
    s2.pnt();

    Student s3 = new Student();
    s3.setId("3");
    s3.setName("王二");
    s3.setScore(95);
    s3.setSex('男');
    s3.pnt();

    Random r = new Random();
    for (int i = 1; i <= 100; i++) {
      String id = String.valueOf(1306405000 + i);
      String name = "张三" + i;
      int score = r.nextInt(101);
      char sex = r.nextInt(2) == 0 ? '男' : '女';

      Student s = new Student();
      s.setId(id);
      s.setName(name);
      s.setScore(score);
      s.setSex(sex);
      s.pnt();
    }
  }

}


要JAVA基础的一些练习题与参考答案~

一、问答题
1、Java语言的数据类型有哪些?8
答:有byte(字节型)、char(字符型)、boolean(布尔型)、short(短整型)、int(整型)、long(长整型)、
浮点型:float(单精度)、double(双精度)。
2、写出算术运算符、关系运算符、逻辑运算符各自包含的运算符,写出条件运算符的形式,并简述其执行过程。10
答:
算术运算符:++、--、+、-、*、/、%
关系运算符:!=、>=、、<、==
逻辑运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)
条件运算符的形式:表达式1?表达式2:表达式3;3、数组有怎样的特征?写出一维数组两种初始化的语法格式(可使用具体的实例)。10
答:数组特征:数组有若干个元素;
各元素有相同的数据类型;
按一定的顺序排列;
一维数组两种初始化的语法格式:
int a[]=new int[2];
a[0]=1;
a[1]=2;
或int a[];
a[]=new int[2];
a[0]=1;
a[1]=2;int a[]={1,2};
4、比较顺序表、栈、队列的异同点,分别写出冒泡法排序的主要特点。12
答:都运用数组的知识,都运用了方法调用;
栈的特点是:
冒泡法排序的主要特点:
经过多轮循环,每一轮循环从最后一个元素依次与前面的元素比较大小,最终找到的最小元素排在第一位,第一轮循环终止;再依次进行下一轮循环。
二、编程题
1、规定一个工人工作时间一月160小时,每小时工资5元,加班的话,每小时增加4元,请编程计算此工人一个月的工资,工作时间由键盘输入。15
import jaimport java.io.*;
pubic class Qgrgz
{
public static void main(String[] args)throws IOException
{int x,result; InputStreamReader ir; BufferedReader in; ir=new InputStreamReader(System.in); in=new BufferedReader(ir); System.out.println("Shurugongrengongzuoshijian:"); String s=in.readLine(); x=Integer.parseInt(s); if(0 result=x*5; else result=(160*5+(x-160)*9); System.out.println("gongrenyuegongziwei:"+result); }
}2、编程求解1—100中是7的倍数的数值的和。15
public class Qh
{
public static void main(String[] args)
{
int sum=0;
int i=1;
while(i<100)
{
if(i%7==0)
sum +=i;
i++;
}
System.out.println("sum="+sum);
}
}


3、输入3名学生4门课程的成绩,分别统计每个学生4门课程的平均成绩。15
import java.io.*;
public class Pjf
{
public static void main(String[] args)throws IOException
{
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
for(int i=1;i<=3;i++)
{
double v=0,sum=0;
for(int j=1;j<=4;j++)
{
System.out.print("请输入第"+i+"个学生第"+j+"科成绩:");
String a=in.readLine();
int x=Integer.parseInt(a);
sum=sum+x;
}
v=sum/4;
System.out.println("总分是:"+sum);
System.out.println("平均分是:"+v);
}
}
}


4、运用方法调用求一维数组中的最大元素及下标,在main方法中输入数组元素。15
import java.io.*;
public class Qszzdys
{ int a[]=new int[10];
public static void main(String[] args)throws IOException
{
int i;
Qszzdys b=new Qszzdys();
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
for(i=0;i<10;i++)
{
System.out.println("请输入a["+i+"]:");
String s=in.readLine();
b.a[i]=Integer.parseInt(s);
}
b.d();
}
void d()
{
int max,x=0;
max=a[0];
for(int j=1;j<10;j++)
if(a[j]>max)
{
max=a[j];
x=j;
}
System.out.println("最大值是:"+max+";下标是:"+x);
}
}
5、运用选择法对23,45,34,78,99,12,50,0这组数进行升序排列。(选做题,做了加分,没做不减分)15
public class Paixu
{
int [] a;
int len;
void f(int maxSize)
{
a=new int[maxSize];
len=0;
}

void b(int value)
{
a[len]=value;
len++;
}

void display()
{
for(int i=0;i<len;i++)
{
System.out.print(a[i]+" ");
}
System.out.println();
}

void ff();
{
int out,in,min;
for(out=0;out<len-1;out++)
{
min=out;
for(in=out+1;in<len;in++)
if(a[in]<a[min])
min=in;
swap(out,min);
}
}

void swap(int one,int two)
{
int temp=a[one];
a[one]=a[two];
a[two]=temp;
}
public static void main(String[] args)
{
Paixu paixu=new Paixu();
int maxSize=100;
paixu.f(maxSize);
paixu.b(23);
paixu.b(45);
paixu.b(34);
paixu.b(78);
paixu.b(99);
paixu.b(12);
paixu.b(50);
paixu.b(0);
System.out.println("排序前:");
paixu.display();
paixu.ff();
System.out.println("排序后:");
paixu.display();
}
}

选择题 (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(8>>2);

}}

那么下列说法正确的是:( 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; i<10; 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;i<5;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) 上述说法都不对

战地之王AVA调查问卷1
答:【单选】题目1:您是否玩过战地之王A.V.A这款游戏? 选项1: 玩过 选项2: 一次都没玩过 【单选】题目2:您现在是否还在玩AVA这款游戏? 选项1: 近期一直在玩AVA 选项2: 最近没有时间,有时间会继续玩 选项3: 没有在玩,也不打算再玩了 选项4: 说不清楚还会不会玩 ...

AVA新手求解
答:AVA狙击开镜走动的确是会抖 怎么改都会抖的```这个是无法消除的 倒也不一定是定点打`这个是分枪的 你说要RMB枪是吧 人民币的枪 FRF2移动的时候是不能开枪的 移动中开枪的话会飘到你找不到枪打出的点 FRF2只能站狙 莫辛那甘 就是抽奖的那把狙击可以移动开枪 而且很准 那枪官网上也有卖的 不...

鼠标控制技巧AVA小细节决定成败战地之王
答:——ava基本技术:1.鼠标灵敏——这个自己喜好,我喜欢中上灵敏度,太慢没劲,太快了感觉鼠标老是在晃,在玩冲锋讲究灵活,很多时候我们在冲,背后方有人时就需要我们很快转身,灵敏低了吃亏。(25、35、40、55这三个鼠标值是上下值快慢的临界,)CF比CS多了一个就是:狙击镜的移动速度,这个应该是...

AVA枪法问题
答:继续被虐···勇往直前!一路杀过去到按包点。或者一路杀到土匪家!久了···相信你因该能找回感觉

AVA战地之王的枪法怎么样才能练的更好
答:首先要藐视一切敌人,敌人站在在你面前,一定不能害怕。畏畏缩缩什么也练不好。枪不重要,喜欢什么就拿什么练。注意以下几点:1、瞄准了再打。千万不要乱打一气。敌人也是在动的,没打死,他换了个地方,你应该立刻停止开枪,再瞄,再打。敌人离你特别近,可以考虑按住鼠标不动,准星跟着敌人身子走...

AVA新手任务怎么做啊?
答:问题是它不能一次过做完,它要一次一次的做才能做完,这样给了一些没什么时间的AVA新兵一个麻烦…… 任务1:参加一次冰冻工厂的战斗难度:★简介:去玩一局冰冻工厂(竞技),不管你输还是赢,只要你完成了就行。奖励:2000游戏币任务2:改造主武器,然后完成一次竞技模式的战斗难度:★★简介:改造...

ava怎么拼枪,打正面老是输。想打上班半身 就是跟不上别人的速度_百度知 ...
答:然后,选好一把顺手的枪,专心练,侦查推荐P90,步枪手推荐M4A1,对武器控制能力强点了可以换AK74M。可以自己熟悉一下子弹弹道,在不同距离对着墙使用不同点射方法射击(三连发,五连发等),清楚子弹的分布范围。不能跳着打,记住这不是CS。学会看雷达,他可以帮你提前发现转角那面的敌人!还有就是...

AVA里如何练成个个爆头、
答:哈哈所以要多练练心理多死点就练出来了不要在乎那点战绩我们要的是实用的人不是表里不一的人!3、然后就是这个鼠标灵度一般人要打出高爆头率基本鼠标都要要求在10左右或者以下当然不排除用50的灵敏度也能爆头成行的鼠标灵敏度低的作用我在上篇也说过了吧 就是为了避免鼠标准心甩过头了只有鼠标移动...

玩AVA的技巧(详见说明)
答:简单点说 AVA有三大基本技术一定要会 一个是看地图 随时注意红点{敌人} 把叉{队友死亡}还有发无线电的队友的位置 同时判断敌人可能集结的方位 第二个是听脚步 压制自己脚步的同时仔细听对方脚步 脚踩得路面材质不同 声音不同 脚步多少 判断人数 第三个是无线电 经常有人喊{...

AVA新手选枪和改造问题
答:弹夹可以不用改,改了之后稳定性有明显下滑】。重狙个人感觉老牌SV98不错。【改枪:瞄准镜换成高倍率。注重射程以及准确度。这把枪一枪致死率比较低主要是他攻击力提不上去,只能提高射程来变相提升攻击力】介绍AVA点武器或还有问题请追问。活在锑星。只要你想,只要我能。望采纳,谢谢。