最新java编程题及答案 java编程题带答案5篇(通用)
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。
java编程题及答案 java编程题带答案篇一
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
10
11
7
8
2:exhibit :
class test(e static int j = 0;
e static boolean methodb(int k)(5.j += k;
true;
6.)
static void methoda(int i){
n b:
10.b = i < 10 | methodb(4);
11.b = i < 10 || methodb(8);
12.)
static void main(string args[] }(a(0);
n(j);
17.)
18.)
what is the result?
program prints “0”
program prints “4”
program prints “8”
program prints “12”
3:what is written to the standard output given the following statement:n(4|7);
select the right answer:
a.4
b.5
c.6
d.7
4:
select valid identifier of java:
select valid identifier of java:
a.%passwd
b.3d_game
c.$charge
5:设有变量说明语句int a=1,b=0;
则执行以下程序段的输出结果为()。
switch(a)
{
case 1:
switch(b)
{
case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
printf(“ ”);
a.**0**
b.**0****2**
c.**0****1****2**
d.有语法错误
6:in the following pieces of code, which one will compile without any error?
buffer sb1 = “abcd”;
n b = new boolean(“abcd”);
c.c: byte b = 255;
fl = 1.2;
7:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
ation error
e error
e successfully, nothing is ed by caught:laccessexcption: demo
8:which of the following statements are not legal?
l = 4990;
i = 4l;
d = 34.4;
t = 0.9f.9:
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
compile, some error will run, some error will is is null.10:下面关于变量及其范围的陈述哪些是错的。
a.实例变量是类的成员变量。
b.实例变量用关键字static声明。
c.在方法中定义的局部变量在该方法被执行时创建
d.局部变量在使用前必须被初始化。
11:
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
after line after line 6
after line 7(that is,as the method returns)
in this method
12:
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
countrycode!= null;
countrycode!= null : “country code can not be null”;
cctld!= null : “no country code data is available”;
cctld : “no country code data is available”;
13:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
it for l is 3
it for l is 1
it for l is 2
it for l is 0
14:which statements about java code security are not true?
bytecode verifier loads all classes needed for the execution of a ing code is performed by the runtime runtime the bytecodes are loaded, checked and run in an interpreter. class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.15:a class design requires that a member variable should be accessible only by same package, which modifer word should be used?
ted
modifer
e
16:character流与byte流的区别是
a.每次读入的字节数不同
b.前者带有缓冲,后者没有
c.前者是块读写,后者是字节读写
d.二者没有区别,可以互换使用
简答题
17:找出两个字符串中最大子字符串,如“abractyeyt”,“dgdsaeactyey”的最大子串为“actyet”
18:假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?
19:到底在哪里使用cascade=“...”?
20:使用tomcat部署应用程序 emoryerror 吗?如何解决的。
21:请写一个java程序实现数据库缓冲池的功能?
22:有200个正整数,且每个数均在1000至9999之间。请编制函数,其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。
23:anonymous inner class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
24:找出字符串a中包含的字符可以进行的所有不同组合。例如:abccd中,ab,ac,bc,cc,abd等都是可能的组合。
25:下面的代码在绝大部分时间内都运行得很正常,请问在什么情况下会出现问题?问题的根源在哪里?
import .linkedlist;
public class stack {
linkedlist list = new linkedlist();
public synchronized void push(object x){
synchronized(list){
t(x);
notify();
}
}
public synchronized object pop()
throws exception {
synchronized(list){
if(()<= 0){
wait();
}
return last();
}
}
}
java编程题及答案 java编程题带答案篇二
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
java编程习题1
10097求两个数的和
/*输入n表示做n次下面的操作: 输入两个正整数,输出它们的和.例: 输入:
//表示n=2,做两次操作 10 11 20 30 输出: sum=21 sum=50 */
20001求两个数的和与差
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
/*程序填空,不要改变与输入输出有关的语句。输入整数a和b,计算并输出a、b的和与差。例: 输入 2-8 输出 the sum is-6 the difference is 10*/
20002求平方根
//程序填空,不要改变与输入输出有关的语句。输入1个实数x,计算并输出其平方根。例: 输入 1.21 输出
the square root of 1.21 is 1.1
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
20003华氏温度转换成摄氏温度
/*程序填空,不要改变与输入输出有关的语句。
输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).例:括号内是说明 输入
17.2(华氏温度)输出
the temprature is-8.****/
20004计算旅途时间
程序填空,不要改变与输入输出有关的语句。
输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
例:括号内是说明 输入
712 1411(出发时间是7:10,到达时间是14:11)输出
the train journey time is 6 hrs 59 20005数字加密
程序填空,不要改变与输入输出有关的语句。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。例:括号内是说明 输入 1257 输出
the encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
20006大小写字母转换
程序填空,不要改变与输入输出有关的语句。输入一个大写英文字母,输出相应的小写字母。例: 输入 g 输出 g
import .*;public class t20006 {
public static void main(string[] args)throws ioexception
{
char ch;
ch=(char)();
/*------------------*/
ch=(char)(ch+32);
// 以ascii码计算
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
}
n(ch);
} 20007计算三门课程的平均成绩
程序填空,不要改变与输入输出有关的语句。
已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。本题无输入。输出示例:
math = 87, eng = 72, comp = 93 average = 84
20008计算存款利息
程序填空,不要改变与输入输出有关的语句。输入存款金额 money、存期 year 和年利率 rate,精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。
interest = money(1+rate)^year10 / 2 =
(数字与运算符之间有一空格)输出 5 10 */ /*补充知识:()与ne()的区别
只接受一个字,不能接受一个带有空格的字符串,如下: 例如输入: show me--(回车)用next()只能得到show,因为遇到空格表示结束,但是nextline()则要遇到回车才知道结束.可以看一个例子,演示给大家看,如下:----------
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
import r;public class test60011{
public static void main(string []args)
{
string s1_1,s1_2,s2;
scanner in=new scanner();
s1_1=();
n(s1_1);
n(“----------”);
ne();// 把剩余的吃掉
s2=ne();
n(s2);
n(“----------”);
s1_1=();
s1_2=();
n(s1_1+“
”+s1_2);
} }------------*/
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
39.求1+1/2!+……1/n!//求1+1/2!+1/3!+....(用方法求n!)
40.求a+aa+aaa+……(用方法)//求a+aa+aaa+aa…a
41.统计一个整数中数字的个数
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=3)-21902 2
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
345543 输出:
count=2
(-21902中有2个2)count=1
(有1个2)count=0
(345543中没有2)*/
42.判断素数(用方法)
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
no
(1不是素数)
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
yes
(2是素数)no
(9不是素数)yes
(17是素数)
43.统计素数并求和
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。要求定义并调用函数prime(m)判断m是否为素数。例:括号内是说明 输入:
(repeat=3)1 10
(m=1, n=10)20 35(m=20, n=35)14 16(m=14, n=16)输出:
count=4, sum=17
(1到10之间有4个素数:2,3,5,7)count=3, sum=83
(20到35之间有3个素数:23, 29, 31)count=0, sum=0
(14到16之间没有素数)
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
44.输出fibonacci序列
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
fibonacci 序列(第1项起):1 1 2 3 5 8 13 21......要求定义并调用函数fib(n),它的功能是返回第n项fibonacci数。例如,fib(7)的返回值是13。输出语句:(f+“ ”);
例:括号内是说明 输入:
(repeat=3)1 10
(m=1, n=10)20 100(m=20, n=100)1000 6000(m=1000, n=6000)输出: 1 2 3 5 8
(1到10之间的fibonacci数)21 34 55 89
(20到100之间的fibonacci数)
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
1597 2584 4181
(1000到6000之间的fibonacci数)*/
45.求完数
/*输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数
(完数就是因子和与它本身相等的数)。
要求定义并调用函数factorsum(number),它的功能是返回number的因子和。
例如,factorsum(12)的返回值是16(1+2+3+4+6)。输出语句:(i+“ ”);例:括号内是说明 输入: 2
(repeat=2)20 500(m=100, n=400)1 100
(m=1, n=100)输出: 28 496 1 6 288*/
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
46.求各位数字的立方和等于它本身的数 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
输出语句:(i+“ ”);例:括号内是说明 输入: 2
(repeat=2)100 400(m=100, n=400)1 100
(m=1, n=100)输出:
153 370 371(1*1*1+5*5*5+3*3*3=153;3*3*3+7*7*7=370;3*3*3+7*7*7+1*1*1=371)1
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
47.将一个整数逆序输出
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
要求定义并调用函数reverse(number),它的功能是返回number的逆序数。
例如reverse(12345)的返回值是54321。例:括号内是说明 输入
(repeat=4)123456-100-2 99 输出 654321-1-2 99
48。十进制转换二进制
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat(0
要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。
输出语句:(t);
//t为某位二进制数 例:括号内是说明 输入: 3
(repeat=3)15 100 0 输出: 1111 1100100 0
49。求平均值
程序填空,不要改变与输入输出有关的语句。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
输入一个正整数repeat(0
(repeat=2)3 1 2-6 5 12 2 5 4 0 输出 aver=-1.0 aver=4.6
50。求最大值及其下标
/*输入一个正整数n(1
(设最大值惟一,下标从0开始)。例:括号内是说明 输入
(repeat=3)3 1 6 4 3 10 8 1 5 1 2 5 4 0
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
输出
max=6,index=1
(最大值6的下标是1)max=10,index=0
(最大值10的下标是0)max=5,index=2
(最大值5的下标是2)*/
51。逆序输出
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=2)4 10 8 1 2 5 1 2 5 4 0 输出 2 1 8 10 0 4 5 2 1
52。交换最小值和最大值
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
最大值与最后一个数交换,然后输出交换后的n个数。例:括号内是说明 输入
(repeat=3)5 4 3 5 1 2 4 1 5 6 7 5 5 4 3 2 1 输出 1 3 2 4 5 1 5 6 7 1 4 3 2 5 53。排序
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=3)4 5 1 7 6 3 1 2 3 5 5 4 3 2 1
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
输出 7 6 5 1 3 2 1 5 4 3 2 1
54。矩阵运算
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(2+3+4+5+6+7+8=35)
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
55。加法口诀表
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=1)3
(n=3)输出: +
56。判断上三角函数
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(上三角矩阵,即主对角线以下的元素都为0, 主对角线为从矩阵的左
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
上角至右下角的连线)例:括号内是说明 输入:
(repeat=2)3 1 2 3
0 4 5 0 0 6(n=3)2 1 0-8 2
(n=2)输出: yes no
57。求矩阵每行元素之和
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=1)3 2(m=3, n=2)6 3 1-8
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 12 输出: sum of row 0 is 9 sum of row 1 is-7 sum of row 2 is 15
58。找鞍点
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
(repeat=2)4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9(n=4)2 1 7 4 1
(n=2)输出: a[2][1]=6 no
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
59。求字符串长度
程序填空,不要改变与输入输出有关的语句。连续输入一批以 # 结束的多串字符。统计并输出每串字符的长度。输出使用:n(len);例:括号内是说明 输入:
hello 12#abc+0#
(连续输入2串字符“hello 12”和“abc+0”)输出:
(“hello 12”的长度是8)5
(“abc+0”的长度是5)
60。统计大写辅音字母
程序填空,不要改变与输入输出有关的语句。输入一个正整数n(0
输入一行字符串,统计并输出字符串中大写辅音字母的个数(大写辅音字母:除“a”,“e”,“i”,“o”,“u”以外的大写字母)。例:括号内是说明 输入:
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
(输入3个字符串)hello it12 uieiaba 输出:
(“hello”中有3个大写辅音字母)1
(“it12”中有1个大写辅音字母)
0
(“uieiaba”中没有大写辅音字母)
61。查找字符
程序填空,不要改变与输入输出有关的语句。
先输入一个字符ch。然后输入一个正整数n(0
输入一行字符串,在字符串中查找该字符(ch),如果找到,则输出 该字符在字符串中最后出现的位置(从0开始);否则输出“not found”。例:括号内是说明 输入:
m
(输入一个字符)3
(要输入3行字符串)moon
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
programming 1234
输出:
0
(m在“moon”中最后出现位置是0)7
(m在“programming”中最后出现位置是7)not found
(“1234”中没有m)
62。字符串替换
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
对应字母
a ──→ z
b ──→ y
c ──→ x
d ──→ w
……
x ──→ c
y ──→ b
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
z ──→ a 例:括号内是说明 输入:
(输入3行字符串)a flag of usa it12 oueiaba 输出: z flag of fhz rg12 oueiaba
63。十六进制转换十进制
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0
个新字符串(十六进制形式),然后将其转换为十进制数后输出。例:括号内是说明 输入:
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
(输入3行字符串)10 pf4+1-+a
输出: 16 3905 10
-----------------------
精心收集
精心编辑
精致阅读
如需请下载!
java编程题及答案 java编程题带答案篇三
《java编程》
计算器
班级:****** 姓名:******
学号: ******* 指导老师:******
实验名称:java计算器
1实验目的: java编程语言在编程方面的具体应用,以及使用面向对象方法,对小应用程序进行需求分
析、概要设计、详细设计,最后使用java编程实现的全过程。
2实验意义:
在编程我们使用的java语言,是目前比较流行的编程语言。在当今这个时代,java语言在编程方面的优势使得编程有了更好的选择。java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。实训性质
本课程是计算机信息管理专业的一门实践性课程,是《java编程》课程的实践性教学环节。实训目标
⑴综合应用java程序设计的知识解决实际问题。
⑵学会在应用程序的设计过程中,应用面向对象的程序设计方法。⑶学会应用jdbc创建数据库应用程序。
⑷学会开发基于swing的应用程序及多文档应用程序的设计。实训任务
用java语言开发工具(例如jdk、jcreator、netbeans等)制作一个简单的可运行的完整的应用程序或小型系统,并编制出各阶段必要的文档。
将创建一个计算器,可以进行常用的加减乘除算术运算。本实例的知识点有:窗口布局器gridlayout的应用,对按钮消息的监听和响应。
6实训条件
<软件:>windows xp,netbeans ide 6.52 7开发背景: java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。java语言是一个支持网络计算的面向对象程序设计语言。java语言吸收了smalltalk语言和c++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。
8系统部分分析:
1)java语言是简单的。java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
2)java语言是一个面向对象的。java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。java语言全面支持动态绑定,而c++ 语言只对虚函数使用动态绑定
3)java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。
4)java语言是健壮的。java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。
5)java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制.6)java语言是体系结构中立的。java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个java平台的任何系统中运行。
7)java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性,java编译器是用java实现的.8)java语言是解释型的。如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。
9)java是高性能的。与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c++。
10)java语言是多线程的。在java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。
11)java语言是动态的。java语言的设计目标之一是适应于动态变化的环境。
目录
课程设计题目 ……………………………… p1
课程设计简介 ……………………………… p2
课程设计源代码…………………………… p5
课程设计运行结果 ……………………… p15 课程设计心得体会 ………………………
p16
package computerpad;import .*;import .event.*;import .*;import .*;import list;import format;public class computerpad extends frame implements actionlistener {
numberbutton numberbutton[];
operationbutton oprationbutton[];
button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮;
panel panel;
jtextfield resultshow;
string 运算符号[]={“+”,“-”,“*”,“/”};
linkedlist 链表;
boolean 是否按下等号=false;
public computerpad()
{
super(“计算器”);
链表=new linkedlist();
numberbutton=new numberbutton[10];
for(int i=0;i<=9;i++)
{
numberbutton[i]=new numberbutton(i);
numberbutton[i].addactionlistener(this);
}
oprationbutton=new operationbutton[4];
for(int i=0;i<4;i++)
{
oprationbutton[i]=new operationbutton(运算符号[i]);
oprationbutton[i].addactionlistener(this);
}
小数点按钮=new button(“.”);
正负号按钮
=new button(“+/-”);
等号按钮=new button(“=”);
求倒数按钮=new button(“1/x”);
退格按钮=new button(“退格”);
清零按钮=new button(“c”);
eground();
eground();
eground();
eground();
eground();
eground();
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
resultshow=new jtextfield(10);
izontalalignment();
eground();
t(new font(“timesroman”,,14));
der(new softbevelborder(d));
kground();
table(false);
panel=new panel();
out(new gridlayout(4,5));
(numberbutton[1]);
(numberbutton[2]);
(numberbutton[3]);
(oprationbutton[0]);
(清零按钮);
(numberbutton[4]);
(numberbutton[5]);
(numberbutton[6]);
(oprationbutton[1]);
(退格按钮);
(numberbutton[7]);
(numberbutton[8]);
(numberbutton[9]);
(oprationbutton[2]);
(求倒数按钮);
(numberbutton[0]);
(正负号按钮);
(小数点按钮);
(oprationbutton[3]);
(等号按钮);
add(panel,);
add(resultshow,);
addwindowlistener(new windowadapter()
{ public void windowclosing(windowevent e)
{
(0);
}
});
setvisible(true);
setbounds(100,50,240,180);
setresizable(false);
validate();
} public void actionperformed(actionevent e)
{
if(rce()instanceof numberbutton)
{
numberbutton b=(numberbutton)rce();
if(()==0)
{
int number=ber();
(“"+number);
t(”“+number);
是否按下等号=false;
}
else if(()==1&&是否按下等号==false)
{
int number=ber();
string num=(string)first();
string s=(”“+number);
(0,s);
t(s);
}
else if(()==1&&是否按下等号==true)
{
int number=ber();
first();
(”“+number);
是否按下等号=false;
t(”“+number);
}
else if(()==2)
{
int number=ber();
(”“+number);
t(”“+number);
}
else if(()==3)
{
int number=ber();
string num=(string)t();
string s=(”“+number);
(2,s);
t(s);
}
}
else if(rce()instanceof operationbutton)
{
operationbutton b=(operationbutton)rce();
if(()==1)
{
string fuhao=运算符号();
(fuhao);
}
else if(()==2)
{
string fuhao=运算符号();
(1,fuhao);
}
else if(()==3)
{
string fuhao=运算符号();
string number1=(string)first();
string number2=(string)t();
string 运算符号=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
();
(”“+n);
(fuhao);
t(”“+n);
}
catch(exception ee)
{
}
}
}
else if(rce()==等号按钮)
{
是否按下等号=true;
if(()==1||()==2)
{
string num=(string)first();
t(”“+num);
}
else if(()==3)
{
string number1=(string)first();
string number2=(string)t();
string 运算符号=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
t(”“+n);
(0,”“+n);
last();
last();
}
catch(exception ee)
{
}
}
}
else if(rce()==小数点按钮)
{
if(()==0)
{
是否按下等号=false;
}
else if(()==1)
{
string dot=el();
string num=(string)first();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(0,s);
}
else
{
s=num;
}
(0,s);
t(s);
}
else if(()==3)
{
string dot=el();
string num=(string)t();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(2,s);
}
else
{
s=num;
}
t(s);
}
}
else if(rce()==退格按钮)
{
if(()==1)
{
string num=(string)first();
if(()>=1)
{
num=ing(0,()-1);
(0,num);
t(num);
}
else
{
last();
t(”0“);
}
}
else if(()==3)
{
string num=(string)t();
if(()>=1)
{ num=ing(0,()-1);
(2,num);
t(num);
}
else
{
last();
t(”0“);
}
}
}
else if(rce()==正负号按钮)
{
if(()==1)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=-1*d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee)
{
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=-1*d;
string str=f(d);
(2,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==求倒数按钮)
{
if(()==1||()==2)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==清零按钮)
{
是否按下等号=false;
t(”0“);
();
}
} public static void main(string args[])
{
new computerpad();
}
}
package computerpad;import .*;import .event.*;import .*;public class numberbutton extends button {
int number;
public numberbutton(int number)
{
super(”"+number);
=number;
setforeground();
}
public int getnumber()
{
return number;
} }
import .*;import .event.*;import .*;public class operationbutton extends button {
string 运算符号;
public operationbutton(string s)
{
super(s);
运算符号=s;
setforeground();
}
public string get运算符号()
{
return 运算符号;
} } 14 java实训心得:
未接触java之前,听人说java这门语言如何的强大和难以入门,但学习之后,给我的感觉却是语言没有所谓的难于不难,关键是自己有没有真正投入去学,有没有花时间去学。java是一门很好的语言,经过周围人对java的宣传,我一开始不敢去学习这门语言,因为一门高级语言总是让人想到一开始的学习会很难,但是后来在自己的努力和老师同学的帮助下,我加入了java学习者的行列。
老师把我们带进了门,那么,以后漫长的深入学习还是要靠自己。经常性的编写一些程序,或则去看懂、研究透别人编写的程序对于我们打好基础是非常有利的。让我们怀着对java的一腔热情,用自己的刻苦努力去把java学好。将来,用自己的成绩去回报有恩于我们的社会、家人和朋友。
java编程题及答案 java编程题带答案篇四
java编程心得
计算机3班
窦金霞
20104773
最近几周一直在弄程序,说实话真的很累,但累中也有成功的快乐。我觉得学到了很多东西,这是只看课本知识所不能学到的。
说实话,以前我一直没学过java虽然我也知道java的重要性,可是即使上课听了,不实践还是掌握不了。因为种种原因,今年我没有买笔记本。没有机器,仅仅靠每周一次的上机练习是绝对不够的。所以我就插空调程序,在舍友们不用的时候自己再接她们的电脑调。
调上一个web版的通讯录程序时我已经感觉到学的很吃力,好多东西都不懂。这次做的这个学生成绩管理系统更复杂了,所以一开始调的时候感觉特别吃力.所以我告诉自己不能放弃,慢慢来,就这样我从最基本的sql语句session对象开始学起,我觉得我还有太多不懂得所以要比别人付出更多的努力。就这样我一点一点的学着„„
说心里话,在做上一个web版的通讯录时,我就感觉到成功的喜悦。好多地方我都是一点一点的问的,在问的过程中,我也学会了很多,像:servlet和jsp之间跳不过去时有两种解决办法,;二是将servlet中的throws exception改成try catch以捕捉异常;我还学到了集中查找错误的方法,可以加上两个双斜杠“//”将具体的方法屏蔽掉,一检查是方法错误还是servlet错误,n()将获得的数据输出,用来检查数据传输过程有没有错误等等。
虽然在别人看来,这些方法可能都很常规,但是确实我自己学会的,我觉得很有成就感。我已经做好计划了,暑假的时候去买本本用自己的本本练习一下java,虽然下学期不学java了,但是我对java的热情不会因为这个而削减的!
做完这个学生成绩管理系统后,我觉得我对java的看法已经改变了。一前总以为java很繁琐很难,听同学说java不好学,开始又有一些听不懂,所以一直很畏惧java。但真正做了这个系统以后我才感觉到其实任何事都没有难与不难之分,只要你肯努力的去做,世上无难事只怕有心人!
我现在对java学习充满了热情,我知道我还有很多的不足
还有很多需要努力的地方,所以我的java之旅将继续进行„„
java编程题及答案 java编程题带答案篇五
第一章
面向对象开发方法概述
1.面向对象的软件开发有哪些优点?
1)
把软件系统看成是各种对象的集合,这更接近人类的自然思维方式。
2)
软件需求的变动性往往是功能的变动,而功能的执行者——对象,一般不会有多大的变化,比结构化更稳定。
3)
对象包括属性和行为,对象把数据及方法的具体实现方式一起封装起来,使得方法与之相关的数据不再分析,提高了每个子系统的相对对立性,从而提高软件的可维护性。
4)
支持封装,抽象,继承和多态。提高了软件的可重用性,可维护性和可扩展性。
2.在软件系统中,为什么说一个孤立的不对外提供任何服务的对象是没有意义的?
1)
每个对象都具有特定的功能,相对于其他对象而言,它的功能就是为其他对象提供的服务。
2)
从使用者角度出发,整个软件系统就是一个服务的提供者。
3)
在系统内部,每个子系统也都是服务的提供者,它们其他子系统提供服务。
4)
因此说一个孤立的部队为提供任何服务的系统是美欧任何意义的。
3.列举一些现实生活中的例子,来说明什么是依赖关系、什么是聚集关系,以及什么是关联关系。
1)
关联关系:关联是指类之间的特定对应关系,可以分为单向关联和双向关联,也可以分为一对一关联、一对多关联以及多对多关联。a关联b,是指class a与class b之间存在特定的对应关系。举例如学生和老师,订单和客户。
2)
依赖关系:类之间的调用关系。a依赖b,class a访问class b提供的服务。如panel与shape的关系。
3)
聚集关系:是整体与部分之间的关系
4.列举一些显示生活中的例子,来说明什么是封装,什么是接口。
1)
接口:对象中所有向使用者公开的方法的声明构成了对象的接口。
2)
封装:隐藏对象的属性和实现细节,仅仅对外公开接口。
3)
接口的优点:a.提高系统之间松散耦合b.提高了系统的可扩展性。
4)
封装的有点:
a.便于使用者正确、方便地理解和使用系统,防止使用者错误修改系统的属性。
b.有助于建立各个系统之间的松耦合关系,提高系统的独立性。
c.提高软件的可重用性,没个系统都是一个相对独立的整体,可以在多种环境中得到重用。
d.降低构建大型系统的风险,即使整个系统不成功,个别的独立子系统有可能依然有价值。
5.抽象的最主要特征是什么?
抽象是指从特定角度出发,从已经存在的一些事物中抽取我们所关注的特性,形成一个新的事物的思维过程。
6.在建立对象模型时,要经历哪些抽象思维过程?
1)
从问题领域的事物到软件模型中对象的抽象。
2)
从对象到类的抽象。
3)
从子类到父类的抽象
7.类就是程序员自定义的类型。这种说法是否正确?
不正确,类是一组具有相同属性和行为的对象的抽象。类及类的关系构成了对象模型的主要内容。开发人员需要根据先识别对象,然后再进行分类(创建任意的数据模型)的思路来建立对象模型。
8.小王本来体重70kg,经过减肥,体重降到45kg,试从这个问题领域中识别对象、类、属性、状态和状态的变化。
1)
类:人。
2)
对象:小王。
3)
属性:体重。
4)
状态:70kg。
5)
状态的变化:小王的减肥行为导致体重下降。
9.在uml图中哪些框图描述了系统的动态结构,哪些框图描述了系统的静态结构?
1)
用例图、类框图、组件图、部署图构成了系统的静态模型。
2)
状态转换图、时序图、协作图则构成了系统的动态模型。
第二章
第一个java应用
1.把一个类放在包里有什么用?
答:把类分包的作用:
(1)
能够区分名字相同的类
(2)
有助于实施访问权限控制
(3)
有助于划分和组织java应用中的各个类
c文档是不是为软件的终端用户提供的使用指南?
答:不是的,javadoc文档是供java开发人员阅读的,他们通过javadoc文档来了解其他开发人员开发的类的用法。java开发人员应该养成经常阅读javadoc文档的良好习惯。
3.对于n类,使用以下命令进行编译,文件位于什么目录下?
java –d c:classes –sourcepath c:src c:
答:将会存放在c:classescomabcdollapp下。
4.对于以上编译出来的appmain类,以下哪个java命令能正确运行它?
(a)
java c:
(b)
java –classpath c:classes appmain
(c)
java –classpath c:classescomabcdollapp appmain
(d)
java –classpath c:classes n
答:(b)
5.以下哪些main()方法的声明能够作为程序的入口方法?
(a)
public static void main()
(b)
public static void main(string[] string)
(c)
public static void main(string args)
(d)
static public int main(string[] args)
(e)
static void main(string[] args)
答:(b),主函数必须以public static void形式存在,参数必须为string数组形式。
文件中,哪些程序代码能够编译通过?
(a)
import .*;package mypackage;
class myclass{};
(b)
package mypackage;
import .*;
class myclass{};
(c)
/*this is comment*/
package mypackage;
import .*;
public class myclass{};
答:(c),程序顺序必须按照import, package, class走,源文件必须以public类型的类命名。
7.对于以下myprog类,运行命令”java myprog good morning”,将会得到打印结果?
public class myprog {
public static void main(string argv[])
{
n(argv[2]);
} }
答:打印结果为空。argv[0] = “good”, argv[1] = “morning”。
8.下面哪些是java的关键字?
(a)
default
(b)
null
(c)
string
(d)
throws
(e)
long
(f)
true
答:(a),(d),(e),(f),java中所有的关键字都是小写。
9.当appmain类的main()方法创建了5个doll对象时,运行时数据区的数据如何分布的?参考2.4节的图2-13,画出此时运行时数据区的状态图。
运行时数据区(内存)
java栈区
执行main()方法的主线程的方法调用栈
局部变量beibei
局部变量jingjing
局部变量huanhuan
局部变量yingying
局部变量nini
堆区
doll实例
name:贝贝
doll实例
name:晶晶
doll实例
name:欢欢
doll实例
name:迎迎
doll实例
name:妮妮
方法区
doll类型信息
appmain类型信息
(包含main()方法信息)
10.下面哪些是合法的java标识符?
(a)
#_pound
(b)
_underscore
(c)
5interstate
(d)
interstate5
(e)
_5_
(f)
class
答:(b),(d),(e)标识符命名规则如下:
(1)
标识符首字母必须为字母、下划线“_”、美元“$”、人民币“¥”(2)
标识符由数字、大写字母、小写字母、下划线以及美元等组成
(3)
不能把关键字和保留字作为标识符
(4)
标识符没有长度的限制
(5)
标识符是大小写敏感的第三章
数据类型和变量
1.对于以下程序,运行“java abs”,将得到什么打印结果?
public class abs
{
static int a = 0x11;
//十六进制
static int b = 0011;
//八进制
static int c = 'u0011';
//十六进制数据的unicode字符编码
static int d = 011;
//八进制
/**
* @param args
*/
public static void main(string[] args)
{
n(“a=”+a);
n(“b=”+b);
n(“c=”+c);
n(“d=”+d);
} }
答:输出如下
a=17 b=9 c=17 d=9
2.以下哪段代码能正确编译通过?
(a)
char a = „a‟;
char b = 1;
char c = 08;
(b)
int a = „a‟;
(c)
long a =‟u00ff‟;
(d)
char a = „u0ff‟;
(e)
char d = “d”;
答:(b)、(c)能通过编译。(a)中“char c=08”将int赋值给char需要部分强制转换,“char c=8”就正确;(d)中unicode编码错误,java采用的是ucs-2编码,共16位;(e)字符赋值是使用单引号,字符串string赋值时才使用双引号。
3.下面哪些代码能编译通过?
(a)
short myshort=99s;
(b)
string name = „excellent tutorial mr green‟;(c)
char c = 17c;
(d)
int z = 015;
答:(d)可以编译通过。(a)中char赋值给short需要强制转换;(b)中string类型赋值用双引号;(c)中int赋值给char需要部分强制转换。
4.字符“a”的unicode字符编码为65.下面哪些代码正确定义了一个代表字符“a”的变量?
(a)
char ch=65;
(b)
char ch=‟65‟;
(c)
char ch =‟u0041‟;
(d)
char ch=‟a‟;
(e)
char ch =”a”
答:(c)、(d)可以得到”a”。(b)的输出为5,其他无法编译通过。
5.以下代码共创建了几个对象?
string s1=new string(“hello”);
string s2=new string(“hello”);
string s3=s1;
string s4=s2;
答:共创建了2个对象。栈区4个局部变量分别引用了堆区的2个实例,而2个实例又引用了工作区的同一个类。
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
class test {
static int myarg = 1;
public static void main(string[] args)
{
int myarg;
n(myarg);
} }
答:无法编译通过,因为局部变量myarg声明之后java虚拟机就不会自动给它初始化为默认值,若在使用前未被初始化,编译会报错。
7.对于以下程序,运行“java mystery mighty mouse”,将得到什么打印结果?
public class mystery
{
public static void main(string[] args)
{
changer c = new changer();
(args);
n(args[0]+“ ”+args[1]);
}
static class changer
{
void method(string[] s)
{
string temp = s[0];
s[0] = s[1];
s[1] = temp;
}
} }
答:打印结果为“mighty mystery”
8.对于以下程序,运行“java pass”,将得到什么打印结果?
public class pass
{
static int j = 20;
public static void main(string[] args)
{
int i=10;
pass p = new pass();
d(i);
n(“i=”+i);
n(“j=”+j);
}
public void amethod(int x)
{
x*=2;
j*=2;
} }
答:打印结果是
i=10 j=40
其中“int x”是传参,作用域仅在amethod之中。
第四章 操作符
1.以下哪些程序代码能够编译通过?
(a)
int i=0;if(i){
n(“hello”);}
(b)
boolean b1=true;
boolean b2=true;
if(b1==b2){
n(“so true”);}
(c)
int i=1;
int j=2;
if(i==1||j==i){
n(“ok”);}
(d)
int i=1;
int j=2;
if(i==1&|j==i){
n(“ok”);}
答:(b)、(c)能编译通过。(a)中int不能作为boolean出现,(d)中不能出现&|该操作符。
2.运行以下程序,将得到什么打印结果?
n(-1>>>1);
n(-1>>1);
n(2>>1);
n(1<<<1);
答:>>>是逻辑右移位操作符,也称不带符号右移位操作符,在移位的过程中二进制数开头填0;>>是右移位操作符,也称带符号右移位操作符,舍弃末尾,在开头填符号位;<<<操作符不存在;
11111111 11111111 11111111 11111111
-1>>>1
01111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
-1>>1
11111111 11111111 11111111 11111111
00000000 00000000 00000000 00000010
2>>1
00000000 00000000 00000000 00000001
2147483647-1 1
3.以下temp变量最终取值是什么?
long temp =(int)3.9;
temp %= 2;
答:取值为1。
4.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
if(5 & 7 > 0 && 5 | 2)n(“true”);
答:int型不能作为boolean型出现。
5.以下代码能否编译通过?假如编译通过,运行时将得到什么打印结果?
int output=10;
boolean b1 = false;
if((b1==true)&&((output+=10)==20)){
n(“we are equal”+output);} else {
n(“not equal!”+output);}
答:not equal!10
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int output=10;
boolean b1 = false;
if((b1==true)&((output+=10)==20)){
n(“we are equal”+output);} else {
n(“not equal!”+output);}
答:not equal!20
7.对于以下声明:
string s1=new string(“hello”);
string s2=new string(“there”);
string s3=new string();
下面哪些是合法的操作?
(a)
s3=s1+s2;
(b)
s3=s1-s2;
(c)
s3=s1&s2
(d)
s3=s1&&s2
答:(a)是合法操作。除了“+”能用于字符串的连接以外,其他操作符(如“-”、“&”、“&&”等)都不支持string类型的操作元。
第五章
流程控制
1.运行以下代码,将得到什么打印结果?
int i = 3;
int j = 0;
double k = 3.2;
if(i < k)
if(i == j)
n(i);
else
n(j);
else
n(k);
答:0
2.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int i = 4;
switch(i){
default:
n(“default”);
case 0:
n(“zero”);
break;
case 1:
n(“one”);
case 2:
n(“two”);}
答:可以编译通过,打印结果是:
default
zero
分析:default可以放在任何位置上,一旦符合一个case即从头执行到尾,不再判断case。
3.以下哪些是合法的
(a)
int i;for(i=5, int j=10;i<10;j--){}
(b)
int i,j;for(i=0, j=10;i<10, j>0;i++, j--){}
(c)
int i,k;for(i=0, k=9;(i<10 && k>0);i++, k--){}
(d)
int i,j;for(i=0;j=10;i<10;i++,j--){} 答:(a)for语句中int定义要放在开头。编译不通过。
(b)循环判断语句不可以用逗号连接。编译不通过。
(c)合法。
(d)分号只能有2个。
4.运行以下代码,将得到什么打印结果?
int i = 1;
switch(i){
default:
n(“default”);
case 0:
n(“zero”);
break;
case 1:
n(“one”);
case 2:
n(“two”);}
答:分析同1,运行结果如下:
one
two
5.以下哪些代码合法?
(a)
float x=1;
switch(x){
case 1;
n(“got a 1”);
}
(b)
long x=1;
switch(x){
case 1;
n(“got a 1”);
}
(c)
byte x=1;
switch(x){
case 1/1;
n(“got a 1”);
}
(d)
int x=1;
int c=1;
switch(c){
case x;
n(“got a 1”);}
(e)
short x=1;
switch(x){
case 3.2/2;
n(“got a 1”);
}
(f)
short x=1;
switch(x){
case 1,2,3;
n(“got a 1”);
}
答:只有(c)是合法的。
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
for(int a=0, b=0;a<2;b=++a, n(“b=”+b)){
n(“a=”+a);}
答:可以通过编译,打印结果:
a=0 b=1 a=1 b=2
7.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int x=0;one:
while(x<10)
{
two:
n(++x);
if(x>3)
break two;
}
答:不能通过编译。