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");}}
}

相关内容

热门资讯

滚动更新丨A股三大指数集体高开... 09:25 A股开盘丨三大指数集体高开沪指高开0.67%,深证成指高开1.74%,创业板指高开2.2...
全国政协委员李书福:推广甲醇电... 李书福建议,交通部优先推广甲醇电动营运货车,同时在高速服务区、省道干线等物流通道布局甲醇加注设施,打...
阿里千问内外交困,马云更频繁的... 当前在AI竞争中落后的阿里巴巴频繁发力,其中一个很有意思的现象是,其创始人马云比以前更频繁的现身了。...
相机价格暴涨,老相机价格翻十倍... 最近一段时间,老相机突然在市场上走红,原先不受欢迎的老相机突然价格暴涨,有些老相机价格甚至翻十倍,如...
三次石油危机复盘 本文系基于公开资料撰写,仅作为信息交流之用,不构成任何投资建议从1973年10月到1990年10月,...