java 每日一练 (10)
创始人
2025-06-01 08:20:20

文章目录

  • 1. 单选
  • 2. 编程题

1. 单选


1. 下列运算符合法的是( )


A : && B: <> C: if D : =


答案 : A , && 与运算符 , <> 指定泛型的值 , if 条件 语句 , = 赋值


2. 下面代码运行结果是 ()

在这里插入图片描述


A catch语句块 和是:43

B 编译异常

C finally语句块 和是:43

D 和是:43 finally语句块

答案 : C

在这里插入图片描述


3. 下列Java代码中的变量a、b、c分别在内存的____存储区存放。


在这里插入图片描述


A 堆区、堆区、堆区

B 堆区、栈区、堆区

C 堆区、栈区、栈区

D 堆区、堆区、栈区

E 静态区、栈区、堆区

F 静态区、栈区、栈区

答案 : C

在这里插入图片描述


4. 以下声明合法的是


A default String s

B public final static native int w( )

C abstract double d

D abstract final double hyperbolicCosine( )

答案 : B

A : default String s , default 不是一个访问权限限定符

复习一下 访问权限修饰符 :

在这里插入图片描述

  1. public : 修饰的成员变量 或者 方法,可以直接被其他类的调用者使用
  2. private : 是实现封装的关键字 ,被 private 修饰的成员变量或成员方法,不能被其他类的调用者使用
  3. default : 包访问权限 ,在类中一般不写, 这里为了对标其他访问权限才写的 , 简单来说 我们想要这个成员变量 或成员方法是 具有包访问权限 只需要 String name = “xxx” 即可
  4. proteced : 对于 类 的 子类(包含了 不同 包 和 同一个 包 ) 和 同一个包的 其他 类 来说 ,protected 修饰的字段和 方法是 可以 访问 的


B : public final static native int w() , 是正确的 注意 : 这里被 final 修饰 是不能被重写的.


C : abstrace double d, 这里 abstrace 是定义抽象类的关键字 , 这想要通过 abstrace 定义一个变量是不能的 。

关于抽象类不太熟可以看这个


D :这里想要通过 abstract 定义一个抽象方法 ,但是它加上了 一个 final , 关于我们的抽象类 被创建出来的意义就是用来继承的 ,里面的抽象方法就是用来重写的, 如果 加上了 final 就会让方法不能重写 此时就违背了 抽象方法的本意 ,那么肯定会报错.


5. 在使用super 和this关键字时,以下描述正确的是


A 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过

B super()和this()不一定要放在构造方法内第一行

C this()和super()可以同时出现在一个构造函数中

D this()和super()可以在static环境中使用,包括static方法和static语句块


答案 : A


关于 super 和 this 不熟悉可以看这个 : 继承 Inheritance_

A :正确

B : super() 和 this() 一定需要放在 构造方法内的第一行 .

C : super() 和 this() 两个 都是放在 第一行,如果两个同时出现,就会出问题 , 所以 C 是错误的

D : super() 和 this () 不能在 static 环境下使用,被 static 修饰的 方法 或 变量 都只有一份 ,属于类本身的 ,this() 和 super() 是在 new 类

的时候使用, 即创建类的时候调用 , 如果在 static 环境下 能使有 this() 或 super () , 那么 this () 和 super 是只有一个 还是多个呢 ? 此时

就自相矛盾了.


下面代码的输出结果是什么?


在这里插入图片描述


A 3 B 123 C 1 D 12


答案 : D

在这里插入图片描述


7. 有代码片段如下:

byte b1=1,b2=2,b3,b6;final byte b4=4,b5=6;b6=b4+b5;b3=(b1+b2);System.out.println(b3+b6);


关于上面代码片段叙述正确的是()


A 输出结果:13

B 语句:b6=b4+b5编译出错

C 语句:b3=b1+b2编译出错

D 运行期抛出异常


答案 : C

在这里插入图片描述


8. 以下java程序代码,执行后的结果是()

在这里插入图片描述


A Fred

B true

C 编译错误

D 运行时抛出异常


答案 : B

在这里插入图片描述


9. 执行以下程序后的输出结果是()

在这里插入图片描述

A : A,A

B : A,B

C : B,B

D : AB,B

答案 : D

在这里插入图片描述


10. 下面所示的java代码,运行时,会产生()类型的异常

int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);


A ArithmeticException

B NullPointException

C IOException

D ArrayIndexOutOfBoundsException

答案 : D , 这里很明显 是数组越界异常 , 创建了一个 10 个大小的 数组 ,最大的下标是 9 , 而 访问的 是 Array_a[10] , 肯定是越界了

2. 编程题


题目一 : 井字棋__牛客网 (nowcoder.com)

在这里插入图片描述


图 :

在这里插入图片描述

附上代码 :

import java.util.*;public class Board {public boolean checkWon(int[][] board) {// write code here// 记录行int cnt = 0;// 记录列int cnt2 = 0;// 记录左对角线int cnt3 = 0;// 记录 右对角线int cnt4 = 0;for (int i = 0; i < board.length; i++) {for (int j = 0; j < board[i].length; j++) {// 1. 考虑行cnt += board[i][j];// 2. 考虑列cnt2 += board[j][i];// 3. 考虑左对角线if (i == j) {cnt3 += board[i][j];}if (i + j == 2) {cnt4 += board[i][j];}}// 判断是否获胜if (cnt == 3) {return true;}if (cnt2 == 3) {return true;}if (cnt3 == 3) {return true;}if (cnt4 == 3) {return true;}}// 此时说明平局return false;}
}


题目二 : 密码强度等级_牛客题霸_牛客网 (nowcoder.com)


代码 :

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {//  1. 密码长度Scanner sc = new Scanner(System.in);String str = sc.next();if (str.length() < 0 || str.length() > 300) {System.out.println("错误密码");return;}// 1. 判断 密码长度int cnt = 0;if (str.length() <= 4) {cnt += 5;} else if (str.length() <= 7) {cnt += 10;} else {// >= 8cnt += 25;}int cntSz = 0;int cntZf = 0;// 大写字母int zmD = 0;// 小写字母int zmX = 0;// 判断密码中含有的东西 : for (int i = 0; i < str.length(); i++) {char a = str.charAt(i);// 含有数字if (a >= '0' && a <= '9') {cntSz++;} else if (a >= 'a' && a <= 'z') {// 含有了 小写zmX++;              } else if (a >= 'A' && a <= 'Z') {// 含有了 大写zmD++;} else {// 含有字符cntZf++;}}// 判断字母 : if (zmX + cntSz + cntZf == str.length()) {// 此时全是小写cnt += 10;} else if (zmD + cntSz + cntZf == str.length()) {cnt += 10;} else if (zmD + cntSz + cntZf + zmX == str.length()) {cnt += 20;}// 判断数字 : if (cntSz == 1) {cnt += 10;} else if (cntSz > 1) {cnt += 20;}// 判断字符if (cntZf == 1) {cnt += 10;} else if (cntZf > 1) {cnt += 25;}// 奖励if (cntSz != 0) {// 此时说明 有小写 有大写 有数字有字符if (zmD != 0 && zmX != 0 && cntZf != 0) {cnt += 5;// 此时有 纯大写 或 纯小写 和 字符} else if ((zmD == 0 || zmX == 0) && cntZf != 0) {cnt += 3;} else {// 此时只有数字 和 字母cnt += 2;}}if (cnt >= 90) {System.out.println("VERY_SECURE");} else if (cnt >= 80) {System.out.println("SECURE");} else if (cnt >= 70) {System.out.println("VERY_STRONG");} else if (cnt >= 60) {System.out.println("STRONG");} else if (cnt >= 50) {System.out.println("AVERAGE");} else if (cnt >= 25) {System.out.println("WEAK");} else {System.out.println("VERY_WEAK");}}
}

相关内容

热门资讯

罗永浩录音还未公布,华与华兄弟... 澎湃新闻记者 戴高城12月22日,读客文化(301025.SZ)的一纸停牌公告,将华楠、华杉兄弟推上...
万亿长沙银行换帅,“70后”女... 出品|达摩财经12月19日,长沙银行(601577.SH)发布公告称,该行董事会收到董事长赵小中的辞...
54岁恒隆集团CEO卢韦柏官宣... 红星资本局12月22日消息,日前,恒隆集团(00010.HK)、恒隆地产(00101.HK)联合公告...
智谱、MiniMax冲刺港交所... 出品|达摩财经AI独角兽正加速冲向资本市场,争夺“大模型第一股”的位置。12月21日,通用人工智能(...
吉利汽车与极氪整合完成 新京报贝壳财经讯 12月22日,吉利汽车控股有限公司(0175.HK)(简称“吉利汽车”)发布公告,...