一、问答题
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<x&&x<=160)
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);
}
}