栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

每日练习刷刷刷

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每日练习刷刷刷

牛客网练习题

1.下面哪个选项是main方法的返回类型?
正确答案: B 你的答案: B (正确)

int   void   Boolean   static

主方法是没有返回值的,所以用void修饰;
2. 有程序片段如下,以下表达式结果为 true 的是( )

Float s=new Float(0.1f);

Float t=new Float(0.1f);

Double u=new Double(0.1);
正确答案: B 你的答案: A (错误)

s==t    s.equals(t)   u.equals(s)    t.equals(u)

float的==比较的是地址,而equals方法重写了Object的,比较的是它的类型和值;Double的equals方法也是一样;
3.如下语句通过算术运算和逻辑运算之后i和 j的结果是( )
int i=0;
int j=0;
if((++i>0)||(++j>0)) {
//打印出i和j的值。
}
正确答案: D 你的答案: D (正确)

i=0;j=0   i=1;j=1   i=0;j=1   i=1;j=0
if语句中++i>0 与++j就行逻辑或,所以当前一个条件为真时,后一个条件就跳过了,因为if的判断已经是true,所以++i,i = 1;j = 0;
4.下面哪个不是标准Statement类?
正确答案: D 你的答案: D (正确)

Statement   PreparedStatement   CallableStatement   BatchedStatement

statement用于将SQL语句发送到数据库,因为它是通过字符拼接SQL语句,所以存在SQL注入,所以出现了PreParedStatement,对SQL语句进行预编译,可以防止SQL注入;它是statement的子类,CallableStatement是PreParedStatement的子类,是用来调用存储过程的。 BatchedStatement用于批量操作数据库,BatchedStatement不是标准的Statement类
5.以下代码的输出的正确结果是
public class Test {
public static void main(String args[]) {
String s = “祝你考出好成绩!”;
System.out.println(s.length());
}
}

正确答案: D 你的答案: D (正确)

24   16   15   8

七个文字一个感叹号;
6. 在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( )。
正确答案: B 你的答案: B (正确)

System.out.print (buffer[i]);

DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename));

DataInputStream din = new DataInputStream(new FileInputStream(this.filename));。

System.in.read(buffer)。

outputstream 是输出流,相对于电脑来说,也就是将数组写进电脑的文件中;
inputstream是输入流,用于读取;
7.关于Float,下列说法错误的是()
正确答案: C 你的答案: C (正确)

Float是一个类

Float在java.lang包中

Float a=1.0是正确的赋值方法

Float a= new Float(1.0)是正确的赋值方法

小数默认是double型,double类型值无法赋值给比它字节还小的float,会造成精度损失,所以c选型应该改为Float a = 1.0f;
8.Which lines of the following will produce an error?
byte a1 = 2, a2 = 4, a3;
short s = 16;
a2 = s;
a3 = a1 * a2;

正确答案: A 你的答案: A (正确)

Line 3 and Line 4

Line 1 only

Line 3 only

Line 4 only
题目找哪行有错,因为s = 16;也就是a2 = 16;16是int型,a2是byte型,所以会报错,a3 = 8;也是一样,高级类型向下转型需要强转;
9. 以下JAVA程序的运行结果是什么( )

public static void main(String[] args) {
Object o1 = true ? new Integer(1) : new Double(2.0);
Object o2;
if (true) {
o2 = new Integer(1);
} else {
o2 = new Double(2.0);
}
System.out.print(o1);
System.out.print(" ");
System.out.print(o2);
}

正确答案: D 你的答案: A (错误)

1 1

1.0 1.0

1 1.0

1.0 1

查看评论发现, 三元运算符会对两个结果的数据类型,进行自动的类型提升。
因此,可以把
Object o1 = true ? new Integer(1) : new Double(2.0);
看作
Object o1 = true ? new Double(1.0) : new Double(2.0);
所以o1 = 1.0
三元操作符类型的转换规则:
1.若两个操作数不可转换,则不做转换,返回值为Object类型
2.若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
3.若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。
4.若两个操作数都是直接量数字,则返回值类型为范围较大者
10. 在Java中下面Class的声明哪些是错误的?
正确答案: A B C 你的答案: A C (错误)

public abstract final class Test {
abstract void method();
}

public abstract class Test {
abstract final void method();
}

public abstract class Test {
abstract void method() {
}
}

public class Test {
final void method() {

}
}
这个题属实是当时没注意看,只要记住final 和 abstract不能同时用,final是不让继承,而abstract抽象类就是让子类继承的;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644548.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号