赊了两串冰糖葫芦才写出来的小结
一、选择题
1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:
- A a0=new A();
- A a1=new B();
- A a2=new C();
问以下哪个说法是正确的?()
A 只有第一行能通过编译
B 第1、2行能通过编译,但第3行编译出错
C 第1、2、3行能通过编译,但第2、3行运行时出错
D 第1行,第2行和第3行的声明都是正确的
正确答案 : D
解析 : ① 继承的传递性 , B继承于A,C继承于B,所以A为B和C共同的父类 ; ② 父类引用指向子类对象 , 子类可以自然地完成向上(到父类的)转型
2.下面代码将输出什么内容:()
public class SystemUtil{public static boolean isAdmin(String userId){return userId.toLowerCase()=="admin";}public static void main(String[] args){System.out.println(isAdmin("Admin"));}
}
正确答案 : false
解析 : 在源码中 toLowerCase 是重新 new String() , "=="是比较身份而非比较值, 所以这两个对象的地址是不相同的.
3.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()
package NowCoder;
class Test {public static void hello() {System.out.println("hello");}
}
public class MyApplication {public static void main(String[] args) {// TODO Auto-generated method stubTest test=null;test.hello();}
}
正确答案 : 能编译通过,并正确运行
解析 : 静态方法不依附于对象,这里是直接调用静态方法,类的静态成员不依赖实例对象,静态成员在类编译的时候就已经被创建好了,无论是是使用类名,还是使用实例对象都是可以访问的
4.在使用super和this关键字时,以下描述正确的是()
A 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B super()和this()不一定要放在构造方法内第一行
C this()和super()可以同时出现在一个构造函数中
D this()和super()可以在static环境中使用,包括static方法和static语句块
正确答案 : A
解析 : ① super()调用父类中的某一个构造函数,this()是调用本类中另一种形成的构造函数 ② this()和super()都必须出现在构造器的第一行,所以两者不可能出现在同一个构造器中 ③ this和super都不能出现了静态方法、静态块中
5.如下代码的 结果是什么 ?
class Base {Base() {System.out.print("Base");}
}
public class Alpha extends Base {public static void main( String[] args ) {new Alpha();//调用父类无参的构造方法new Base();}
}
正确答案 : BaseBase
解析 : 在执行new Alpha()时,因为Alpha继承了Base , 在执行Alpha类的构造方法前 , 会先执行父类的构造方法,再执行相应的子类的构造方法,所以此处会打印Base,在执行new Base()时,会直接执行Base中无参构造器的代码,再输出Base
6.如下代码的输出结果是什么?
public class Test {public int aMethod(){static int i = 0;i++;return i;}public static void main(String args[]){Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}
}
正确答案 : 编译失败
(来源牛客)大佬解析 : 静态变量是先于类的其他而加载的,所以static代码块只能是类成员变量,而不能是局部变量,因为在static加载时,方法还没有分配空间
7.下列哪一种叙述是正确的()
A abstract修饰符可修饰字段、方法和类
B 抽象方法的body部分必须用一对大括号{ }包住
C 声明抽象方法,大括号可有可无
D 声明抽象方法不可写出大括号
正确答案 : D
解析 : abstract只可修饰方法和类 , 不可以修饰字段(类成员变量);抽象方法是没有被实现的方法,没有body部分,也没有花括号,声明后面直接就是分号
8.下列说法正确的有:()
A class中的constructor不可省略
B constructor必须与class同名,但方法不能与class同名
C constructor在一个对象被new 时执行
D 一个class只能定义一个constructor
正确答案 : C
解析 : . 类中的构造方法可以省略不写的 , 构造方法必须跟类名相同,普通的类方法是可以和类名同名的,和构造方法唯一的区分就是,构造方法没有返回值 , 构造方法都在new 对象的时候调用的 , 一个类可以定义多个构造方法的
9.选项中哪一行代码可以替换 //add code here 而不产生编译错误
public abstract class MyClass {public int constInt = 5;//add code herepublic void method() {}
}
A public abstract void method(int a);
B consInt=constInt+5;
C public int method();
D public abstract void anotherMethod(){}
正确答案 : A
解析 : ① 抽象类可以包含抽象方法 , 用abstract修饰,是抽象方法,不能带方法体(带有{}的就是方法体,即使里面是空的) ② 类中定义成员和方法,不能直接进行运算,可以写在代码块{}或者静态代码块中static{}中 ③ 方法重载需要满足 , 在同一个类中 , 方法的名称相同 , 参数列表不同(参数的类型,个数,顺序) , 与访问修饰符和返回值类型无关
(未学)10.java 中哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
正确答案 : B
解析 :① transient是反序列化修饰符,序列化的时候,类中的属性都会被复制,但是被transient和static修饰的属性不会被复制 ② synchronized是同步锁,被synchronized修饰的方法或者代码块,同一时刻只允许被一个线程访问 ③ serialize是序列化 ④ static是静态修饰符。可修饰成员变量和方法,内部类/接口,不可修饰局部变量和外部类/接口。
二、编程题
1.标题:汽水瓶 | 时间限制:1秒 | 内存限制:32768K
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出描述:
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
示例1:
输入
3
10
81
0
输出
1
5
40
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner scanner=new Scanner(System.in);while (scanner.hasNextInt()) {int num = scanner.nextInt();//一种偷懒写法//System.out.println(num/2);//int result=canMax(num);System.out.println(canMax(num));}}public static int canMax(int n){int sum=0;//核心就是抓住三和二这两种情况就好while(n>=3){sum=sum+n/3;n=n/3+n%3;}if(n==2){sum=sum+1;}return sum;}
}
2.标题:数组中的逆序对 | 时间限制:3秒 | 内存限制:32768K | 语言限制:[Python, C++, C#, Java]
有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组中的逆序对个数。给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000。
测试样例:
[1,2,3,4,5,6,7,0],8
返回:7
import java.util.*;
public class AntiOrder {public int count(int[] A, int n) {// write code hereint result=0;//从0号位置开始打擂 看是不是比后面的大for(int bound=0;bound<n-1;bound++){for(int cur=bound+1;cur<n;cur++){if(A[bound]>A[cur]){result++;}}}return result;}
}
最后一个编程题就是基于选择排序的理念进行改变了一下~
赊了两串冰糖葫芦才写出来的小结相关推荐
- 赊了三串冰糖葫芦才写出来的小结
一.选择题 1.以下代码运行输出的是 public class Person{private String name = "Person";int age=0; } public ...
- 赊了一串冰糖葫芦才写出来的小结
一.前言 关于这个板块我主要用来记述一些日常练习的选择题.编程题进行查缺补漏 ~(部分题没有学过就会被特殊标记一下的哦) 二.选择题 (未学)1.执行如下程序,输出结果是( ) class Test{ ...
- 编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和
编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
package demo;import java.util.Arrays;/** 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.*/ //num ...
- 牛客网编程题——字符串_确定两串乱序同构
题目描述 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串.这里规定大小写为不同字符,且考虑字符串中的空格. 给定一个string stringA和一个string ...
- 踩了无数个坑,才写出稿费1000的文章
踩了无数个坑,才写出稿费1000的文章,早知道这些就好了,强烈推荐给小白的你. 挣钱难,大家都想靠副业多赚一份收入,比如现在流行的写作,可很多小伙伴都像无头苍蝇般,想要撞大运,殊不知已经踩到了坑,来看 ...
- 手动编译包含两个import自写类的java类。
手动编译包含两个import自写类的java类. cmd (1)e: (2)cd E:\tomcat\apache-tomcat-7.0.79-windows-x64\apache-tomcat-7. ...
- 刚出社会的学弟:“毕业两年月薪才35K,真是没出息啊....”
"害,毕业两年月薪才拿35k,真失败,真的给同龄人拖后腿!"这是人能讲出来的话?这就是凡尔赛天花板?这就是我公司的高级软件测试工程师说出来的话,他计算机专业毕业两年,包括实习,在我 ...
- FS4033泛海微原厂5V输入升压7.2V给两串磷酸铁锂电池充电IC
1.2 应用:便捷充电设备等 1.3 电池组:3.2V电池组,两串3.2V锂电池,充满7.2V 1.4 输入电压:5V (充电亮灯,充满转灯) Max充电电流:1A 1.5芯片功能简介: 1,锂电池充 ...
最新文章
- The Pediatric Cancer Genome Project 儿童癌症基因组计划
- Java SE 8 在并发工具方面的加强
- 用PIL读取保存图片错误 :OSError: cannot write mode RGBA as JPEG
- 基于 abp vNext 和 .NET Core 开发博客项目 - 终结篇之发布项目
- 前端学习(1307):模块查找规则二
- framebuffer驱动详解3——framebuffer驱动分析(driver和device的配套查找)
- C4.5决策树生成算法完整版(Python),连续属性的离散化, 缺失样本的添加权重处理, 算法缺陷的修正, 代码等
- BugkuCTF-WEB题你从哪里来
- python安装扩展常用的工具是_Python 安装扩展库常用的是 _______ 工具_学小易找答案...
- Java开发Maven插件
- Windows Server 部署WEB API时内部错误
- Nginx-1.6.2更改端口
- 【渝粤教育】国家开放大学2018年秋季 0313-22T促销策划与实战 参考试题
- js中如何获取font标签中的内容
- 【LabVIEW】基于LabVIEW的俄罗斯方块小游戏
- clang static analyzer源码分析(番外篇):RegionStore以及evalCall()中的conservativeEvalCall
- L2-009 抢红包 排序+模拟
- Rust 最受喜爱却少有人用,Python 仅排第六,2021 全球开发者调查报告出炉
- android手机如何访问电脑tomcat服务器
- 软件工程与计算机科学的区别