前六章综合作业练习【从零开始学Java】

2024-05-25 14:16:02 浏览数 (2)

Java零基础系列课程-JavaSE基础篇

Lecture:波哥

Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。

作业练习

Lecture:波

一、Java入门作业

1.选择题

1.在控制台显示消息的语句正确的是( )

A System.out.println(“我爱波哥,我爱学习,我爱Java”);

B system.out.println(“我爱波哥,我爱学习,我爱Java”);

C System.out.println(‘我爱波哥,我爱学习,我爱Java’);

D System.out.prinln(“我爱波哥,我爱学习,我爱Java”);

2.在控制台运行一个 Java 程序 Demo. class ,使用的命令正确的是( )

A java Demo.class

B javac Demo.class

C java Demo

D javac Demo

3.Java 源代码文件编译后生成的字节码文件,其扩展名是( )

A .txt

B .class

C .java

D .doc

2.简单题

  1. 简述Java语言的特点(至少三点)。
  2. 简述跨平台原理
  3. Java程序执行的步骤以及工作原理
  4. 为什么需要配置path环境变量?

3.实操题

在命令行输出你的名字,班级,年龄

代码语言:javascript复制
public class HelloWorld{
    public static void main(String[] args){
        System.out.println("boge,Java2023,18")
    }
}

卸载,安装JDK操作三遍

在自己电脑上配置环境变量操作两遍

背诵英文单词

a. public 公共的 b. public class 公共类 c. static 静态的 d. void 无返回值 e. main /主要的, 重要的 f. System.out.print() ;向控制台输出打印说 语句

二、Java基础知识

1.选择题

  1. 下列正确的标识符有

A)u2

B)$test

C)this_is_ok

D)int

答案:

  1. 字符“A”的Unicode字符编码为65.下面哪些代码正确定义了一个代表字符“A”的变量。

A)char ch=65

B)char ch=’65’

C)char ch=’u0041’

D)char ch=’A’

E) char ch=”A”

答案:

  1. 下面不是关键字的是

A)goto

B)main

C)short

D)void

答案:

  1. 以下哪段程序能正确地编译通过

A)char = ‘a’; char b=1; char c=08;

B)int a=’a’;

C)long a=’u00FF’;

D)char a=’u0FFA’;

E) char d=”d”

答案:

  1. 下面语句哪个是正确的

A)char = ‘abc’;

B)long 01 = 0xfff;

C)float f = 0.23;

D)double d = 0.7E-3;

答案:

  1. 下列哪个选项是short型数据的取值范围

A)-128 ~ 127

B)-32768 ~ 32767

C)-2147483648 ~ 2417483647

D)-3.40282347E38 ~ 3.40282347E38

答案:

  1. 在Java中,int数据类型占多少位

A)8

B)16

C)32

D)64

答案:

  1. Java 中,表示换行符的转义字符是

A)’n’

B)’f’

C)’n’

D)’dd’

答案:

  1. 在Java中,float数据类型占多少位

A)8

B)16

C)32

D)64

答案:

2.简答题

1、Java中,基本数据类型有哪些?

2、请写出java中基本数据类型所对应的字节数?

3、java的标识符由什么组成?能不能是中文?

4、short s1 = 1; s1 = s1 1;有什么错? short s1 = 1; s1 = 1;有什么错?

5、下列程序能否编译通过,如果不可以说出原因,如果可以说出结果

代码语言:javascript复制
1. float f = 25; 
   System.out.println(f);
	

2. byte b = 225;
   System.out.println(b);


3. double d = 3.5f;
   System.out.println(d);


4. float f = (float)4.5;
   System.out.println(f);
	

5. int i = (int)2.5;
   System.out.println(i); 
	

6. byte b = (byte)130;
   System.out.println(b); 		
	

7. short s =32768;
   System.out.println(s);


8. byte b = 97;
   char ch = (char)b;
   System.out.println(ch);
	
9. char ch = '1';
   byte b = (byte)ch;
   System.out.println(b);	

10. int i = 25;
    double d = 6.5;
    int i = i   d;
    System.out.println(i);	

11. byte b = 97;
    char ch = b   1;
    System.out.println(ch);

12. byte b= 63.5 * 2;
    System.out.println(b);

13. boolean bool = false;
    int i = (int)bool;
    System.out.println(i);

14. String str = "2" - 1;
    System.out.println(str);	

15. System.out.println(22   2   "2"   2 ); 
	
16. byte b= 10;
    short s= 20;
    int i = b  s;
    System.out.println(i);	

17. int b1 = 10;
    int b2 = 20;
    byte b3 = b1   b2;
    System.out.println(b3);
	
18. byte b = 65;
    short s = 1;
    char ch = b   s; 
    System.out.println(ch);

3.程序题

1.某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分

2.交换两个数的位置(int a = 2,b=3 ——> a = 3, b=2) 使用两种方式

代码语言:javascript复制
int a = 2,b=3;
int c = a ;
a = b;
b = c;

// 异或的方式
a = a ^ b;
b = a ^ b;
a = a ^ b;

3.定义5个数字计算平均值和总和

4.根据天数(46)计算周数和剩余的天数

5.定义一个四位会员号:计算四位会员号的各位之和(个位,十位,百位,千位上数字求和)

6.计算

代码语言:javascript复制
int x = 2;
int y = 3;
int res3 = (x  )*2 (--y)%3 (--x)/4 (  y)*3;
int res4 = (--x)/3-(y  )*2 (x  )%2-(y--)%3;

请推断res3,res4,x,y此时的值。

代码语言:javascript复制
int x = 3;
int res = (x  )%(  x);

请推断res,x此时的值。

代码语言:javascript复制
int a = 2;
int b = 3;
int res1 = ((a  ) (  b))*2 (--a)%(b  )-(  a)*3 (--b)/(--a);

请推断res1,a,b此时的值。

7.int x = 4 , y = 2 , z = 3;求表达式y-=z *–x的值是多少?表达式运行之后,x,y,z的值分别是多少?

8.请计算:

a=3,b=4;

(1):(a )/3 (–b)*2-(a–)%6 (b )*3-(b–)

(2):( b)*2-(a–)%4 (a )*5-(–b)/2 (–a)

(3):(a–)*6 (b )/3-(–a)*2-(–b)*2 ( a)

9.请计算

1.int n = 5;n = n n;求n=?

2.int n = 3;n = n n ;求n=?

三、分支和循环

1.填空题

  1. Java 中有两种类型的选择结构的控制语句,分别是 if 语句和 。
  2. 在 Java JDK1.7 之前,switch 只能支持 byte、short、char、int 或者其对应的封装类 以及 Enum 类型。在 JDK1.8 中又加入了 类型。
  3. for 循环的语法格式是 for (表达式 1;表达式 2;表达式 3) {循环体},其中在整个循环 过程中只执行一次的部分是 。
  4. 在循环结构中,如果想跳出循环体,结束整个循环结构可以使用 语句。
  5. 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中 尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不 是终止整个循环的执行。
  6. 使用 Math.random( )返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。使用 该函数生成[30,60]之间的随机整数的语句是 。

2.选择题

1.以下代码的执行结果是( )。(选择一项)

代码语言:javascript复制
boolean m = false; 
if(m = false){
	System.out.println("false");
}else{
	System.out.println("true");
}

A. false B. true C. 编译错误 D. 无结果

2.分析如下 Java 代码,编译运行的输出结果是( )。(选择一项)

代码语言:javascript复制
public static void main(String[ ] args) { 
    boolean a=true; 
    boolean b=false; 
    if (!(a&&b)) {
		System.out.print("!(a&&b)");
	}else if (!(a||b)) {
		System.out.println("!(a||b)");
	}else {
		System.out.println("ab");
	}
}

A !(a&&b) B. !(a||b) C. ab D. !(a||b)ab 3.下列选项中关于变量 x 的定义,( )可使以下 switch 语句编译通过。(选择二项)

代码语言:javascript复制
switch(x) { 
    case 100 :
		System.out.println("One hundred");
		break;
	case 200 :
		System.out.println("Two hundred"); 
        break;
	case 300 :
		System.out.println( "Three hundred"); 
        break;
	default :
		System.out.println( "default");
}

A.double x = 100; B.char x = 100; C.String x = “100”; D.int x = 100;

4.阅读下列文件定入的 Java 代码,其执行结果是( )。(选择一项)

代码语言:javascript复制
publicclass Test { 
    publicstatic void main(String[] args) { 
        char ch = 'c'; 
        switch (ch) { 
            case 'a':
				System.out.print("a"); 
                break; 
            case 'b':
				System.out.print("ab"); 
            case 'c':
				System.out.print("c"); 
            default:
				System.out.print("d");
	}
}

A a B. b C. c D. cd 5.以下 Java 程序编译运行后的输出结果是( )。(选择一项)

代码语言:javascript复制
public class Test { 
    public static void main(String[] args) { 
        int i = 0, sum = 0; 
        while (i <= 10) { 
            sum  = i;
			i  ;
			if (i % 2 == 0)
				continue;
		}
		System.out.println(sum);
	}
}

A.0 B.55 C. 50 D.36 6.以下四个选项中和下面代码功能相同的是( )。(选择一项)

代码语言:javascript复制
int i = 1; 
int sum = 0; 
while (i <= 100) { 
    if (i % 2 == 0) 
        sum = sum   i;
	i  ;
}

A for (int x =1; x<=100;x ){ sum=sum x;} B. for (int x =0; x<=100;x =2){ sum=sum x;} C. for (int x =1; x<=100;x =2){ sum=sum x;} D. 上述全对

7.以下 do-while 循环代码的执行结果是( )。(选择一项)

代码语言:javascript复制
int a=0; int c=0;
do{ 
    --c; 
    a=a-1;
}while(a>0);
System.out.println(a " " c);

A. -1 -1 B. 死循环 C. -1 -2 D. -1 0

8.while 循环和 do-while 循环的区别是( )。(选择一项) A. 没有区别,这两个结构在任何情况下效果一样 B. while 循环比 do-while 循环执行效率高 C. while 循环是先循环后判断,所以循环体至少被执行一次 D. do-while 循环是先循环后判断,所以循环体至少被执行一次

9.在 Java 中有如下代码,则编译运行该类的输出结果是( )。(选择一项)

代码语言:javascript复制
public static void main(String[ ] args) { 
    for(int i=0;i<10;i  ){ 
        if (i%2!=0) return;
		System.out.print(i);
	}
}

A.13578 B. 02468 C.0123456789 D.0

10.下面程序执行的结果是在屏幕上打印 ( )行

代码语言:javascript复制
for(int	i=1;i<=10;i  ){ 
    if (i<5) continue;
	System.out.println("Java基础班");
}

A.5 B.6 C.7 D.8

3.判断题

  1. if 语句的条件表达式的结果都必须是 boolean 值。( )
  2. switch 选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是 int 类型、char 类型,但不能是 double,float 类型。( )
  3. while 循环结构的特点是先循环再判断,循环体至少执行一次。( )
  4. for 循环的语法格式是 for (表达式 1;表达式 2;表达式 3) {循环体},其中三个表达式都可以省略。( )
  5. break 语句可以出现在 switch 语句和循环语句中。( )
  6. continue 语句可以出现在 switch 语句和循环语句中。( )

4.简答题

  1. if 多分支语句和 switch 语句的异同之处
  2. while 和 do-while 语句的异同之处
  3. break 和 continue 语句的作用

5.编程题

  1. 输入一个数,判断是奇数还是偶数
  2. 根据成绩输出对应的等级,使用 if 多分支和 switch 语句分别实现。 a) A 级 [90,100] b) B 级 [80,90) c) C 级 [70,80) d) D 级 [60,70) e) E 级 [0,60)
  3. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
  1. 判断一个数是否是素数。
  2. 从键盘输入一个班5个学生的分数,求和并输出。
  3. 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

6.可选题

  1. 根据考试成绩输出对应的礼物,90 分以上爸爸给买电脑,80 分以上爸爸给买手机, 60 分以上爸爸请吃一顿大餐,60 分以下爸爸给买学习资料。 要求:该题使用多重 if 完成
  2. 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是 S,则继续判断第二个字母,如果第二个字母是 a,则输出“星期六”。星期的英文单词如下表所示。 星期一星期二星期三星期四星期五星期六星期日MondayTuesdayWednesdayThursdayFridySaturdaySunday
  3. 输入一批整数,使用循环求出最大值与最小值,输入 0 时结束。
  4. 给 20 块钱买可乐,每瓶可乐 3 块钱,喝完之后退瓶子可以换回 1 块钱,问最多可以喝到多少瓶可乐。
  5. 从键盘输入某个十进制小数,转换成对应的二进制小数并输出。(查询十进制小数转换成二进制小数的算法,使用循环来实现。最多保留小数位后 7 位数字即可)

四、方法和数组

1.方法作业

1.编写一个计算器,实现加减乘除,调用测试通过

2.编写一个方法实现求圆的面积,参数为半径

3.写一个方法实现数字倒置(3456?6543)并返回这个数字

4.编写判断回文数字的方法,并调用测试

5.求两个数的最大公约数(用递归实现)

2.数组作业

1.已知如下数组

Int[] arr = {44,77,88,99,100,22};

完成如下操作:

A. 循环输出数列的值并按照如下格式输出。arr[44,77,88,99,100,22]

B . 求数列中所有数值的和

C . 求出最小值。

D. 将数组倒置并输出

E. 查找(要求使用二分法查找和基本查找)

F. 数组排序 要求使用至少两种排序算法

2.现有一个数组,要求对数组进行倒置并且按照如下格式输出

Int[] arr = {11,22,33,44,55,66,77}

输出结果77-66-55-44-33-22-11

3.现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;

要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:

int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;

4.现在给出两个数组

数组A:1,7,9,11,13,15,17,19

数组B:2,4,6,8,10

编写一个方法实现将两个数组合并成一个新的数组c,并且按照升序排序

5.定义一个数组来存储12个学生的成绩{72,89,65,58,87,91,53,82,71,93,76,68},统计各成绩等级(90分以上为‘A’,8089分为‘B’,7079分为‘C’,60~69分为‘D’,60分以下为E)学生人数,并将其放入到数组count中,其中:count[0]存E级的人数,count[1]存D级的人数,……,count[4]存A级的人数。

6.编写顺序查找的方法

代码语言:javascript复制
public static int[] ordinalSearch(int data[],int key)

,要求该方法返回一个数组(如果key存在,数组中各元素的值分别为关键字key在原数组data中的各下标;如果key不存在,则返回一个长度为1的数组,数组元素为-1)。

基本过程思路:

(1)先扫描数组data,统计数组中key的个数n.

(2)如果n为0,直接返回一个数组元素为-1的数组;否则的话定义一个数组int index[]=new int[n],再扫描数组data,把数组中值为key的各个元素的下标保存到数组index中,最后返回数组index.

0 人点赞