写点什么

牛客 java 选择题每日打卡 Day1

作者:Geek_b91541
  • 2022 年 6 月 24 日
  • 本文字数:2891 字

    阅读完需:约 9 分钟

牛客 java 选择题每日打卡 Day1

👩‍💻博客主页:京与旧铺的博客主页

✨欢迎关注🖱点赞🎀收藏⭐留言✒

🔮本文由京与旧铺原创,csdn 首发!

😘系列专栏:java 学习

👕参考网站:牛客网

💻首发时间:🎞2022 年 5 月 13 日🎠

🎨你做三四月的事,八九月就会有答案,一起加油吧

🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦

🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲




图片



🛒导航小助手🎪

[TOC]



👲选择题 1

What is the result of compiling and executing the following fragment of code:


Boolean flag = false;if (flag = true){    System.out.println("true");}else{    System.out.println("false");}
复制代码


Boolean 修饰的变量为包装类型,初始化值为 false,进行赋值时会调用 Boolean.valueOf(boolean b)方法自动拆箱为基本数据类型,因此赋值后 flag 值为 true,输出文本 true。 如果使用==比较,则输出文本 false。if 的语句比较,除 boolean 外的其他类型都不能使用赋值语句,否则会提示无法转成布尔值。

👼选择题 2

关于下面的程序 Test.java 说法正确的是( )。


public class Test {    static String x="1";    static int y=1;    public static void main(String args[]) {        static int z=2;        System.out.println(x+y+z);    }}
复制代码


被 static 修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以 static 不能修饰局部变量

👩‍🦱选择题 3

下面哪些描述是正确的:( )


public class Test {    public static class A {        private B ref;        public void setB(B b) {            ref = b;        }    }    public static Class B {        private A ref;        public void setA(A a) {            ref = a;        }    }    public static void main(String args[]) {        start();    ….    }    public static void start() { A a = new A();        B b = new B();        a.setB(b);        b = null; //        a = null;    }}
复制代码


👸选择题 4

定义:String s1 = “uml”; String s2 = “uml”; String s3= new String(“uml”); String s4= new String(“uml”);那么,s1==s2;s3 == s4;s1.equals(s3); 判断正确与否


该题考察的是 String 类创建的对象在 JVM 中的内存分配和**“equals”与“==”的区别**。


  • “==”比较的是地址和值

  • “equals”比较的是


👧选择题 5



其实 value++是一个表达式,它在执行完毕后会返回 value 加 1 之前的值。从下面的反编译我们很容易就能看出来,var10001 这个变量是用来保存 value 之前的值,然后让 value+1 了,再把 i 之前的值也就是我们保存的 var10001 返回给打印语句。从这个流程其实我们看得出是 value 先加 1 再打印,但是打印的是 var10001,并不是 value。所以应该是 value 先+1 在打印。

🤴选择题 6

抽象类

特点:1.抽象类中可以构造方法 2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。6,抽象类不能被实例化,抽象类和抽象方法必须被 abstract 修饰


关键字使用注意:抽象类中的抽象方法(其前有 abstract 修饰)不能用 private、static、synchronized、native 访问修饰符修饰。

接口

1.在接口中只有方法的声明,没有方法体。2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上 public static final3.在接口中的方法,永远都被 public 来修饰。4.接口中没有构造方法,也不能实例化接口的对象。(所以接口不能继承类)5.接口可以实现多继承 6.接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法则实现类定义为抽象类。7,接口可以继承接口,用 extends

👨‍🦱选择题 7

public class Print{  static boolean out(char c){    System.out.print(c);    return true;  }  public static void main(String[] argv){    int i = 0;    for(out('A');out('B') && (i<2);out('C')){      i++;      out('D');    }  }}
复制代码


for 循环的执行顺序用如下表达式:


for(expression1;expression2;expression3){


expression4;


}


执行的顺序应该是:


1)第一次循环,即初始化循环。


首先执行表达式 expression1(一般为初始化语句);再执行 expression2(一般为条件判断语句),判断 expression1 是否符合 expression2 的条件;如果符合,则执行 expression4,否则,停止执行;最后执行 expression3。


2)第 N(N>=2)次循环


首先执行 expression2,判断在 expression3 是否符合在 expression2 要求;如果符合,则继续执行在 expression4,否则,停止执行。最后执行在 expression3。如此往复,直至 expression3 不满足在 expression2 条件是为止。


总结:


总的来说,执行的顺序是一致的。先条件判断(expression2),再函数体执行(expression4),最后 for 执行(expression3)。往复......区别在于,条件判断的对象。第一次判断时,对象为初始化语句(expression1),后续的判断对象为执行后的结果(expression3)。

🧓选择题 8

只有 C 对。


A、while(int i<7){i++;System.out.println("i is "+i);},int i 要放在外面声明


B、int j=3;while(j){ System.out.println("j is "+j);},java 判断处为 boolean 类型,应该如 j==3,j>1 之类才行 ;不像 C 中,0 可以表示假,非 0 可以表示真。java 的真假就是 true 和 false 以及判别式。


C、int j=0;for(int k=0;j+k!=10;j++,k++){System.out.println("j is "+j+"k is" +k);},当 j=5,k=5 时循环结束


D、int j=0; do{System.out.println("j is "+j++);if(j==3){continue loop;}}while(j<10);,continue loop 前面没有标注出循环名 loop,相当于未定义

👩‍🦰选择题 9

static void Main(string[] args)  {      try      {          throw new AccessViolationException();          Console.WriteLine("error1");      }      catch (Exception e)      {          Console.WriteLine("error2");      }      Console.WriteLine("error3");  } 
复制代码


1.若 catch(){}块中,如果有 throw 语句,则,try{}catch(){} finally{}块之外的代码不执行;否则,执行。 2.try{}中有异常,则异常下面代码不执行。 3.finally{}中代码必执行。

👳‍♂️选择题 10

接口中的属性在不提供修饰符修饰的情况下,会自动加上 public static final


注意(在 1.8 的编译器下可试):


(1)属性不能用 private,protected,default 修饰,因为默认是 public


(2)如果属性是基本数据类型,需要赋初始值,若是引用类型,也需要初始化,因为默认有 final 修饰,必须赋初始值;


(3)接口中常规的来说不能够定义方法体,所以无法通过 get 和 set 方法获取属性值,所以属性不属于对象,属于类(接口),因为默认使用 static 修饰。

🤴总结

好啦,今天的错题总结就到这里啦,以后的每一天我都会尽量去打卡做 java 的基础选择题,然后总结出错题,相信练习之后会有更好的学习效果,既然看到这里啦,可以给我三连一下吗,爱你们啊

用户头像

Geek_b91541

关注

还未添加个人签名 2022.06.02 加入

还未添加个人简介

评论

发布
暂无评论
牛客java选择题每日打卡Day1_6月月更_Geek_b91541_InfoQ写作社区