【1基础语法-结束】7-习题篇

【1基础语法-结束】7-习题篇

  • 一、入门知识
    • 1.选择题
    • 2.简单题
    • 3.实操题
  • 二、Java基础知识
    • 1.选择题
    • 2.简答题
    • 3.程序题
  • 三、分支和循环
    • 1.填空题
    • 2.选择题
    • 3.判断题
    • 4.简答题
    • 5.编程题
    • 6.可选题
  • 四、方法和数组
    • 1.方法作业
    • 2.数组作业

这篇是Java语法基础习题,你能做出来吗?

自己做一遍,把选择题打在评论区上,后期我也会出答案

正确率 说明
小于80% 不好,多回头复习
80-90 中等往后学
大于90 好往后学

一、入门知识

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.实操题

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

    public class HelloWorld{
        public static void main(String[] args){
            System.out.println("boge,Java2023,18")
        }
    }
    
  2. 卸载,安装JDK操作三遍

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

  4. 背诵英文单词

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、下列程序能否编译通过,如果不可以说出原因,如果可以说出结果

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) 使用两种方式

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.计算

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此时的值。

int x = 3;
int res = (x++)%(++x);

请推断res,x此时的值。

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.以下代码的执行结果是( )。(选择一项)

boolean m = false; 
if(m = false){
	System.out.println("false");
}else{
	System.out.println("true");
}

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

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

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 语句编译通过。(选择二项)

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 代码,其执行结果是( )。(选择一项)

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 程序编译运行后的输出结果是( )。(选择一项)

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.以下四个选项中和下面代码功能相同的是( )。(选择一项)

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 循环代码的执行结果是( )。(选择一项)

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 中有如下代码,则编译运行该类的输出结果是( )。(选择一项)

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.下面程序执行的结果是在屏幕上打印 ( )行

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. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cDOAB0Om-1670224175514)(img\image-20221006211709829.png)]

  4. 判断一个数是否是素数。

  5. 从键盘输入一个班5个学生的分数,求和并输出。

  6. 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

6.可选题

  1. 根据考试成绩输出对应的礼物,90 分以上爸爸给买电脑,80 分以上爸爸给买手机,
    60 分以上爸爸请吃一顿大餐,60 分以下爸爸给买学习资料。
    要求:该题使用多重 if 完成

  2. 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是 S,则继续判断第二个字母,如果第二个字母是 a,则输出“星期六”。星期的英文单词如下表所示。

    星期一 星期二 星期三 星期四 星期五 星期六 星期日
    Monday Tuesday Wednesday Thursday Fridy Saturday Sunday
  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.编写顺序查找的方法

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.

你可能感兴趣的:(#,1-javase,java)