牛客java选择题每日打卡Day1

举报
京与旧铺 发表于 2022/05/27 19:57:02 2022/05/27
【摘要】 牛客java选择题每日打卡Day1👩‍💻博客主页:京与旧铺的博客主页✨欢迎关注🖱点赞🎀收藏⭐留言✒🔮本文由京与旧铺原创,csdn首发!😘系列专栏:java学习👕参考网站:牛客网💻首发时间:🎞2022年5月13日🎠🎨你做三四月的事,八九月就会有答案,一起加油吧🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬...

牛客java选择题每日打卡Day1

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

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

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

😘系列专栏:java学习

👕参考网站:牛客网

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

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

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

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


图片


🛒导航小助手🎪


👲选择题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;
     …
     }
 }
 ​
     
 ​
 ​

img

👸选择题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”比较的是

img

👧选择题5

img

img

其实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 final 3.在接口中的方法,永远都被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的基础选择题,然后总结出错题,相信练习之后会有更好的学习效果,既然看到这里啦,可以给我三连一下吗,爱你们啊

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。