1、创建一个Java程序,输出自己的基本信息:名字、学号以及本学期所修课程名称。
答:package com.study;public class Example{public static void main(String[] args){System.out.println("名字"+"朱朝龙");System.out.println("学号"+"1234567");System.out.println("修课程名称"+"Java程序设计");}}2、叙述标识符的定义。
指出下列用户自定义的标识符中哪些是合法的,那些是非法的?为什么?2、abc AbC _2xy x$y if$ Else do b(3) ‘def’Chine_bb 3by AbsFloat答:标识符:是用户编程时使用的名字1.标识符由字母、数字、下划线“_”、美元符号“$”组成,并且首字母不能是数字。
2.不能把java关键字和作为标识符。
3.标识符没有长度限制。
4.标识符对大小写敏感。
合法标识符为:abc AbC _2xy x$y if$ Else Chine_bb AbsFloat非法表示符为:do (关键字);b(3) ‘def’(包含非字母、数字、下划线“$”字符);3by(数字开头)3、设有变量说明语句:int a = 15;boolean b,e;char c, d;float x = 9.2f, y, z;求出下列表达式的值:(1) b = 5>4||x>25;答:true(2) e = !(a > x);答:false(3) c = ‘a’ + 5;答:f(4)y = x + a % 3 + x/2;答:13.8(5) d = ‘\u0030’ + 10;答:“:”(6)z = a/2*2;答:14(7)g = 0x75 + 1;答:“v”或者“118”,(题目中未定义g的数据类型)(8)h = 075 + 1答:“>”或者“62”,(题目中未定义h的数据类型)4、单精度浮点数的表示范围是多少?双精度浮点数的表示范围是多少?整型变量的表示范围呢?长整型的表示范围是否少?字符型变量的长度是多少?答:单精度浮点数:+/-3.4E38双精度浮点数:+/-1.7E308整型变量:-2147483648 到2147483647长整型变量:-9223372036854775808 到9223372036854775807字符型变量:0 到655355、设初始值a=8, b=5, c=3, d=7指出依次运算下列表达式后a,b,c,d的值(每步都要计算)。
a *= a%= bc = b/= ad += b -= aa +=b += a*= bc = a += b+= ad = (c = a/b + 15)答:结果依次是:24-17-576-1752166、写出程序运行结果。
public class Ex06 {public static void main(String args[]) {int a, b, c, d, m =2, n =3;a = m++ + n++;System.out.println("a=" + a);b = m++ + ++n;System.out.println("b=" + b);c = ++m + ++n;System.out.println("c=" + c);d = m-- + n++;System.out.println("d=" + d);}}答:运行结果为:a=5b=8c=11d=117、写出程序运行结果(如果程序有错误,指出错误所在位置,及出错原因)public class Ex07 {public static void main(String args[]) {int a=2,b=3;d = a*b / ( b % 2 - 1 ) ;System.out.println("d=" + d);}答:程序运行出错,变量“d”为定义8、编写一个程序,输入三个大于10小于99的两位数,输出三个数中的最大数。
这三个两位数之间以空格隔开。
如输入12 23 34答:public class Example{public static void main(String[] args){String str="12 23 34";String strArray[]=str.split(" ");String maxStr=" ";for(int i=0;i<3;i++)if(strArray[i].compareTo(maxStr)>0)maxStr=strArray[i];System.out.println("最大数为"+maxStr);}}9、写一个会随机生成25对整型值的程序;对每一对随机值,用if-else语句判断这两个整数值之间的关系(大于、小于、还是等于)。
提示:用java.util.Random 生成随机数。
如生成的一对随机数为9,12则应输出这样的一行:a = 9 , b = 12 a < b答:public static void main(String[] args){int a=0,b=0;Random random=new Random();for(int i=0;i<25;i++){a=random.nextInt(1000);b=random.nextInt(1000);if(a>b)System.out.println("a = "+a+" ,b = "+b+" a>b");if(a<b)System.out.println("a = "+a+" ,b = "+b+" a<b");if(a==b)System.out.println("a = "+a+" ,b = "+b+" a=b");}}10、从键盘读入一个3位自然数x,用一个嵌套了两层for循环的程序,用取模操作符(%)来检测小于或等于x的质数,并把它们打印出来。
答:public static void main(String[] args){Scanner input=new Scanner(System.in);long Number,sum,i,j;boolean con=false;System.out.println("请输入一个3位数的自然数:");Number=input.nextLong();while(Number<100 || Number>999){System.out.println("你输入的不是3位自然数,请重新输入:");Number=input.nextLong();}System.out.print("小于或等于x的质数为:");j=1;for(;Number>0;Number--){sum=Number;con=false;for(i=2;i<=sum;i++){if(Number%i==0){c on=true;b reak;}elses um=Number/i;}if(!con){System.out.print(Number+" ");j++;}if(j%10==0 && !con)System.out.println();}}11、按字母表顺序和逆序每隔一个字母打印,即打印出:a c e g i k m o q s u w y z x v t r p n l j h f db 答:public static void main(String[] args){char ch='a';for(;ch<'z';){System.out.print((char)ch+" ");ch+=2;}ch='z';for(;ch>'a';){System.out.print((char)ch+" ");ch-=2;}}12、写出完成下列任务的语句或程序段。
(1)声明并创建具有10个字符型元素的数组;(2)声明并创建具有7个整型元素的数据;(3)声明并创建具有5个整型元素的数组,用于统计一英文句子中出现小写字母a、b、c、d、e出现的次数。
例如英文句子:Amid frantic rescue efforts and isolated outbreaks of looting, the Chilean president on Sunday raised the earthquake death toll to 708 and issued an order that will send soldiers into the streets in the worst-affected area to both keep order and speed the distribution of aid.”答:public static void main(String[] args){char ch[]={'a','b','c','d','e',' ',' ',' ',' ',' '};int t1[]=new int[7];int t2[]={0,0,0,0,0};String str="Amid frantic rescue efforts and isolated outbreaks of looting, the Chilean president on Sunday raised" +" the earthquake death toll to 708 and issued an order that will send soldiers into the streets in the " +"worst-affected area to both keep order and speed the distribution of aid.";char strch[]=str.toCharArray();for(int i=0;i<strch.length;i++){if(strch[i]=='a')t2[0]++;if(strch[i]=='b')t2[1]++;if(strch[i]=='c')t2[2]++;if(strch[i]=='d')t2[3]++;if(strch[i]=='e')t2[4]++;}System.out.println("字符a出现了"+t2[0]+"次");System.out.println("字符b出现了"+t2[1]+"次");System.out.println("字符c出现了"+t2[2]+"次");System.out.println("字符d出现了"+t2[3]+"次");System.out.println("字符e出现了"+t2[4]+"次");}13、打印杨辉三角形如:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1答:public static void main(String[] args){int[][] a = new int[8][8];for (int i = 0 ; i < 8; i++) {for (int j = 0; j <= i; j++) {a[i][j] = j == i || j == 0 ? 1 : a[i-1][j-1] + a[i-1][j];System.out.print (a[i][j] + " ");}System.out.println ();}}14、二分检索,已知数组a中的n个整数,按从小到大顺序排列,检索一个数是否在a中,若在,则指出其下标值,若不在,则返回值-1。