您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 51CTO下载-初级Java软件工程师笔试题及附带答案
1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。2.在一个循环中使用break、continue和return有什么不同?break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。3.面代码将输出:________a=9;b=18;c=4;d=14;e=-14;f=-2g=18.4;h=2.3999999999999986;i=5;j=3;k=5publicclasstest3{publicstaticvoidmain(Stringargs[]){inta=5+4;intb=a*2;intc=b/4;intd=b-c;inte=-d;intf=e%4;doubleg=18.4;doubleh=g%4;inti=3;intj=i++;intk=++i;System.out.println(“a=”+a+”;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f);System.out.println(“g=”+g+”;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);}}4.下面代码将输出:________25<3=false3!=0&&25/35=true0!=0&&25/05=falsepublicclassLogicTest{publicstaticvoidmain(Stringargs[]){inta=25,b=3;booleand=ab;//d=falseSystem.out.println(a+”<“+b+”=”+d);//=;inte=3;d=(e!=0&&a/e5);System.out.println(e+”!=0&&”+a+”/”+e+”5=”+d);intf=0;d=(f!=0&&a/f5);System.out.println(f+”!=0&&”+a+”/”+f+”5=”+d);}}5.编写程序,求两个整数的最大公约数。importjava.util.Scanner;publicclassGcd_Lcm{publicstaticvoidmain(Stringargs[]){Scannersc=newScanner(System.in);System.out.println(“输入2个数:以‘,’隔开“);String[]str=sc.next().split(“,”);intm=Integer.parseInt(str[0]);intn=Integer.parseInt(str[1]);intmin=mn?n:m;intmax=mn?m:n;intnum1=1;intnum2=max;for(inti=min;i0;i–){if(m%i==0&&n%i==0){num1=i;break;}}while(true){if(num2%m==0&&num2%n==0){break;}num2=m*nnum2*2?num2*2:m*n;}System.out.println(“最大公约数:“+num1+”最小公倍数:”+num2);}}6.编写程序,打印出如下九九乘法表。*|123456789——-|——————————————————-1|12|243|3694|4812165|5101520256|612182430367|71421283542498|8162432404856649|91827364554637281publicclassNineByNineMul{publicstaticvoidmain(Stringargs[]){System.out.print(“*|”);for(inti=1;i=9;i++){System.out.print(“”+i+””);}System.out.println();System.out.print(“——-|—–”);for(inti=1;i=9;i++){System.out.print(“—–”);}System.out.println();for(inti=1;i=9;i++){System.out.print(“”+i+”|”);for(intj=1;j=i;j++){System.out.print(i*j+””);}System.out.println();}}}7.下面代码将输出:onetwodefaultinti=1;switch(i){case0:System.out.println(“zero”);break;case1:System.out.println(“one”);case2:System.out.println(“two”);default:System.out.println(“default”);}8.下面代码将输出:EqualclassEqualsTest{publicstaticvoidmain(String[]args){chara=’\u0005′;Strings=a==0x0005L?“Equal”:”NotEqual”;System.out.println(s);}}9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。publicclassbooktest{publicstaticvoidmain(String[]args){inta[]={30,1,-9,70,25};System.out.print(“数组原始顺序:“);for(inti=0;ia.length;i++)System.out.print(a[i]+””);for(inti=0;ia.length;i++){intlowerIndex=i;for(intj=i+1;ja.length;j++)if(a[j]a[lowerIndex])lowerIndex=j;inttemp=a[i];a[i]=a[lowerIndex];a[lowerIndex]=temp;}System.out.print(“\n数组排序后的顺序:“);for(inti=0;ia.length;i++)System.out.print(a[i]+””);}}10.运行下面代码将输出什么内容?oneinti=1;switch(i){case0:System.out.println(“zero”);break;case1:System.out.println(“one”);break;case2:System.out.println(“two”);break;default:System.out.println(“default”);}11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。publicclassPrimeTest{publicstaticvoidmain(Stringargs[]){intnum=2;System.out.print(2+””);for(inti=3;i=1000;i+=2){booleanf=true;for(intj=2;ji;j++){if(i%j==0){f=false;break;}}if(!f){continue;}System.out.print(i+””);if(num++%5==0)System.out.println();}}}12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。publicclassRandomTest{publicstaticvoidmain(String[]args){int[]randomnum=newint[100];int[]n=newint[6];doublea;for(inti=0;i100;i++){a=Math.random()*6;a=Math.ceil(a);randomnum[i]=newDouble(a).intValue();System.out.print(randomnum[i]);switch(randomnum[i]){case1:n[0]++;break;case2:n[1]++;break;case3:n[2]++;break;case4:n[3]++;break;case5:n[4]++;break;case6:n[5]++;break;}}System.out.println();//以下可改为循环输出System.out.println(“数字1出现的概率=”+(n[0]/100.0)*100+”%”);System.out.println(“数字2出现的概率=”+(n[1]/100.0)*100+”%”);System.out.println(“数字3出现的概率=”+(n[2]/100.0)*100+”%”);System.out.println(“数字4出现的概率=”+(n[3]/100.0)*100+”%”);System.out.println(“数字5出现的概率=”+(n[4]/100.0)*100+”%”);System.out.println(“数字6出现的概率=”+(n[5]/100.0)*100+”%”);}}13.编写程序,求1!+2!+3!+…+15!。publicclassFactorialSum{staticintf(intx){if(x=0)return1;elsereturnx*f(x-1);}publicstaticvoidmain(String[]args){intsum=0;for(intj=1;j=15;j++){sum+=f(j);}System.out.println(sum);}}14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。for循环代码:publicclassFor_FactorialSum{staticintf(intx){if(x=0)return1;elsereturnx*f(x-1);}publicstaticvoidmain(String[]args){doublesum=0;for(intj=1;j=15;j++){sum+=1.0/f(j);}System.out.println(sum);}}do-while循环代码:publicclassDoWhile_FactorialSum{staticintf(intx){if(x=0)return1;elsereturnx*f(x-1);}publicstaticvoidmain(String[]args){doublesum=0;intj=1;do{sum+=1.0/f(j);j++;}while(j=15);System.out.println(sum);}}15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。(分别采用冒泡排序、选择排序和插入排序方法)publicclassSortAll{publicstaticvoidmain(String[]args){inta[]={20,10,55,40,30,70,60,80,90,100};System.out.println(“—-冒泡排序的结果:“);maoPao(a);System.out.println();System.out.println(“—-选择排序的结果:“);xua
本文标题:51CTO下载-初级Java软件工程师笔试题及附带答案
链接地址:https://www.777doc.com/doc-5503159 .html