Java语言程序设计课后习题解答 张思民 习题解答2

上传人:一*** 文档编号:74194289 上传时间:2022-04-13 格式:DOC 页数:11 大小:79KB
返回 下载 相关 举报
Java语言程序设计课后习题解答 张思民 习题解答2_第1页
第1页 / 共11页
Java语言程序设计课后习题解答 张思民 习题解答2_第2页
第2页 / 共11页
Java语言程序设计课后习题解答 张思民 习题解答2_第3页
第3页 / 共11页
点击查看更多>>
资源描述
第2章 Java基础【1】什么是数据类型?为什么要将数据划分为不同的数据类型?解答:Java是一门强类型语言。数据类型是用来区分不同的数据;由于数据在存储时所需要的容量各不相同,不同的数据就必须要分配不同大小的内存空间来存储,所有就要将数据划分成不同的数据类型。【2】Java中有哪些数据类型?解答:Java中有8 种基本数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),单精度型(float),双精度型(double),布尔型(boolean)。【3】声明变量的作用是什么?解答:变量时一个数据存储空间的表示,将数据指定给变量,就是将数据存储至对应的内存空间,调用变量,就是将对应的内存空间的数据取出来使用。声明变量就是申请一个内存空间。【4】若x=4,y=2,计算z值:(1) z=x&y(2) z=x|y(3) z=x|y(4) z=xy(5) z= x(6) z= x y解答:public class Test_4 public static void main(String args) int x = 4, y = 2, z; /初始化x,y,zz = x & y; /求z=x&y;即x与y的值System.out.println(4_1:+z);z = x | y; /求z=x|y;即x或y的值System.out.println(4_2:+z);z = x y; /求z=xy;即x异或y的值System.out.println(4_3:+z);z = x y; /求z=xy;即x右移y位的值System.out.println(4_4:+z);z = x; /求z=x;即x位反的值System.out.println(4_5:+z);z = x y; /求z=x y; /求z=xy;即x无符号右移y位的值System.out.println(4_7:+z);【5】假设x=10,y=20,z=30,求下列布尔表达式的值:(1) x10 | xy & yx(3) (xy+z) & (x+10=20)(4) z-y=x & (y-z)=x(5) xx(6) xy | yx(7) !(xy+z) |!(x+10=20)(8) (!(x=y) & (x!=y) & (xy | yx)解答:public class Test_5 public static void main(String args) int x = 10, y = 20, z = 30;boolean flag;/求x10|x10布尔值flag = x 10 | x y&y y & y x;System.out.println(5_2:+flag);/求(xy+z)&(x+10=20)布尔值flag = (x y + z) & (x + 10 = 20);System.out.println(5_3:+flag);/求z-y=x&(y-z)=x布尔值flag = z - y = x & (y - z) = x;System.out.println(5_4:+flag);/求x10布尔值flag = x 10;System.out.println(5_5:+flag);/求xy|yx布尔值flag = x y | y x;System.out.println(5_6:+flag);/求!(xy+z)|!(x+10=20)布尔值flag = !(x y + z) | !(x + 10 = 20);System.out.println(5_7:+flag);/求(!(x=y)&(x!=y)&(xy|yx)布尔值flag = (!(x = y) & (x != y) & (x y | y x);System.out.println(5_8:+flag);【6】什么是表达式? 什么是语句?解答:表达式是由运算符,操作数和方法调用按照语言的语法构造而成的符号序列。表达式可用于计算一个格式,位变量赋值以及帮助控制程序执行流程。语句:语句组成了一个执行程序的基本单元,类似于自然语言的句子。包括表达式语句、复合语句、控制语句等。【7】Java有哪些数据类型?请描述其分类情况。解答:Java定义了8个基本数据类型:字节型,短整型,整型,长整型,字符型,浮点型,双精度型,布尔型。它们分为4组: 1) 整数型(byte,short,int,long) 2) 浮点数型(float,double)3) 字符型(char)4) 布尔型(boolean)【8】试比较break和continue语句的区别?解答:Break:强行退出循环,忽略循环体中的任何其他语句和循环的条件的条件测试。Continue:语句用来终止本次循环。其功能是终止当前正在进行的本轮循环,即跳过后面剩余的语句,转而执行循环的第一条语句,计算和判断循环条件,决定是否进入下一轮循环。【9】有一函数: x (x1) y = 3x-2 (1x10) 4x (x10)编写一程序,给定x值,输出y值。解答:import java.io.*;public class Test_9 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);System.out.println(请输入数字x的值:);double x = Double.parseDouble(br.readLine();double y = 0;if (x = 1 & x 10) y = 3 * x - 2; else y = 4 * x;System.out.println(y= + y);【10】说明while和do.while语句的差异。解答:Do-while与while 语句的主要区别在于,先执行循环体中的语句再计算条件表达式,所以do-while语句的循环体至少执行一次。【11】写出下列语句执行后的结果:for (k=1;k4) break;System.out.println(“k=”+k);解答:public class Test_11 public static void main(String args) int k;for (k = 1; k 4)break;System.out.println(k= + k);【12】编写程序,求的值。解答: public class Test_12 public static void main(String args) int k,sum=0; for(k=1;k=10;k+) sum=sum+k*k; System.out.println(sum=+sum);【13】编写一程序,输入3个数,能按大小顺序输出。解答:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Test_13 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);int a = new int3;int k, temp;System.out.println(请输入3个数字(每输入一个数字后请换行);for (int i = 0; i 3; i+) ai = Integer.parseInt(br.readLine();for (int i = 0; i a.length; i+) k = i;for (int j = k + 1; j a.length; j+) if (aj ak) k = j;if (k != i) temp = ai;ai = ak;ak = temp;System.out.println(从小到大排序:);for (int i = 0; i a.length; i+) System.out.print(ai + );【14】编写一各Java程序,查找1100之间的素数并将运行结果输出。解答:public class Test_14 public static void main(String args) int m, k, i, n = 0;boolean flag;for (m = 1; m = 100; m=m+2) flag = true;k = (int)Math.sqrt(m);for (i = 2; i = k; i+) if (m % i = 0) flag = false;break;if (flag) System.out.print(m + );n = n + 1;if (n % 10 = 0)System.out.println();【15】运行下面程序,并分析其执行过程:Public class multiplicationpublic static void main(String args )int i,j;for (i=1;i10;i+)for (i=1;i10;i+)System.out.print(i+”*”+j+”=”+i*j+”); System.out.println(); 解答:public class Test_15 public static void main(String args) int i, j;for (i = 1; i 10; i+) for (j = 1; j = i; j+) System.out.print(i + * + j + = + i * j + );System.out.println();/*结果:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81乘法表*/【16】编写程序实现:输入一组整数,比较并输出其中的最大值和最小值,再将数组元素从小到大排序并将运行结果输出。解答:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Test_16 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);int a = new int5;int k, temp;System.out.println(请输入5个数字(每输入一个数字后请换行);for (int i = 0; i 5; i+) ai = Integer.parseInt(br.readLine();for (int i = 0; i a.length; i+) k = i;for (int j = k + 1; j a.length; j+) if (aj ak) k = j;if (k != i) temp = ai;ai = ak;ak = temp;System.out.println(最小数字 :+a0);System.out.println(最大数字 :+aa.length-1);System.out.println(从小到大排序:);for (int i = 0; i a.length; i+) System.out.print(ai + );【17】编写打印下列图形的程序:(1) (2) (3) # * * * * * * * $ # # * * * * * $ $ $ # # # * * * $ $ $ $ $ # # # # * $ $ $ $解答:public class Test_17_1 public static void main(String args) int i, j;for (i = 1; i = 4; i+) for (j = 1; j = i; j+) System.out.print(# + );System.out.println();public class Test_17_2 public static void main(String args) int i, j, k;for (i = 0; i 4; i+) for (k = 0; k i; k+) System.out.print( );for (j = 0; j = 6 - 2 * i; j+)System.out.print(*);System.out.println();public class Test_17_3 public static void main(String args) int i=0,blank,j,star,input=5;/input是输入的行数String s=;for( i = 0;i input; i+ ) blank = Math.abs( i - input/2);for( j = 1 ; j = blank; j+ ) s += ; star = input - 2 * blank; for( j = 1; j = star ; j+ )s += $; s += n ; System.out.print( s ); 【18】考虑一个23的数组a。(1) 为a写一个设声明。试问,这样的声明使a有多少行,多少列,多少元素?(2) 写出a 的第1行的所有元素的名字。(3) 写一条语句,置行1列2的元素为零。(4) 写一个嵌套for结构,将a 的每个元素初始化为零。(5) 定一条语句,求第3列元素的和。解答:(1) 数组a有2行,3列,元素个数为6(2) 第一行元素的名字为a00,a01,a02(3) 置行1列2的元素为0,语句是a01=0;(4) for(int i=0;i2;i+) for(in j=0;j3;j+) aij=0;(5) int sum=0; sum=a02+a12;【19】求33矩形对角元素之和。解答:public class Test_19 public static void main(String args) int i, j, sum = 0;int a = new int33;for (i = 0; i 3; i+) for (j = 0; j 3; j+) aij = i + j; /输出二维数组for (i = 0; i 3; i+) for (j = 0; j 3; j+) System.out.print(aij + );System.out.println(); /显示对角线之和for (i = 0; i 3; i+) sum = sum + aii;System.out.println(对角线之和: + sum);【20】编写一程序,查找某一字符串是否包含有“abc”。解答:public class Test_20 public static void main(String args) String s = yangen abc;int a = s.indexOf(abc);/a位找到abc的下标,找不到则返回-1if (a != -1) System.out.print(包含字符串abc); else System.out.print(不包含字符串abc);【21】设一字符串中包含有大写字母的字符,也有下写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。解答:public class Test_21 public static void main(String args) String s=sdfKJjKjjsjdfKKJkjkjSDFsdf;String s1=,s2=,s3; for(int i=0;is.length();i+) s3=ABCDEFGHIJKLMNOPQRSTUVWXYZ; if(s3.indexOf(s.charAt(i)!=-1) s1=s1+s.charAt(i); else s2=s2+s.charAt(i); System.out.println(大写字母 :); System.out.println(s1); System.out.println(小写字母 :); System.out.println(s2); 【22】输出一字符串,统计其中有多少个单词。(单词之间用空格分隔)。解答:import java.util.*;public class Test_22 public static void main(String args) int i = 0;String s = Hello world i love java;StringTokenizer st = new StringTokenizer(s, );while (st.hasMoreTokens() i+;System.out.println(st.nextToken();System.out.print(单词个数 : + i);11
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!