概述
最近做的Java基础题,错题集合
1.对象的特征在类中表示为变量,称为类的( )。
A、对象
B、属性
C、方法
D、数据类型
答案
:B
解析答案及相关知识点
:1、实例变量在类中声明,但在方法,构造函数或任何块之外。类变量(也称为静态变量)在类中使用static关键字声明,但在方法,构造函数或块之外。
2、使用关键字“new”创建对象时会创建实例变量,并在销毁对象时销毁。程序启动时会创建静态变量,程序停止时会生成静态变量。
2.在Java中,关于构造方法,下列说法错误的是()
A、构造方法的名称必须与类名相同
B、构造方法可以带参数
C、构造方法不可以重载
D、构造方法绝对不能有返回值
答案
:C
解析答案及相关知识点
:1、构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性
2、类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法
3.score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是( )
temp = score[0];
for (int index = 1;index < 5;index++) {
if (score[index] < temp) {
temp = score[index];
}
}
A.求最大数
B.求最小数
C.找到数组最后一个元素
D.编译出错
答案
:B
解析答案及相关知识点
:令变量等于score[0],遍历数组,如果遇到比score[0]还小的,就把他的值换成较小的那个。那么到最后,找到的就是整个数组最小的值了。
4. 以下表达式的类型和值是什么?(注意整数除法)()
-5 + 1/4 + 2*-3 + 5.0
A、int -3
B、int -4
C、double -5.5
D、double -6.0
答案
:D
解析答案及相关知识点
:假设结果值为int类型,1/4为零,剩余数相加得数为double类型的值为-6.0
5.下面哪一项不是加载驱动程序的方法?
A、通过DriverManager.getConnection方法加载
B、调用方法 Class.forName
C、通过添加系统的jdbc.drivers属性
D、通过registerDriver方法注册
答案
:A
解析答案及相关知识点
:DriverManager.getConnection是用来创建数据库连接的,DriverManager.getConnection一共有四个重载方法,前三个由public修饰,用来获取不同类型的参数,这三个getConnection实际相当于一个入口,他们最终都会return第四个私有化的getConnection方法,最终向第四个私有化方法的传入参数都是url,java.util.Properties,以及Reflection.getCallerClass(),这个方法是native的。
6.== 和 equals 的区别是什么?
==:
基本类型:比较的就是值是否相同 引用类型:比较的就是地址值是否相同
equals:
equqls 是一种方法,并不是运算符;equals方法不能作用于基本数据类型的变量;Java中所有的类都是继承与Object这个基类的,如果没有对Object中equals方法进行重写,比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容。
7.String 类的常用方法都有那些?
elength():求字符串的长度
indexOf():求某个字符在字符串中的位置
charAt():求一个字符串中某个位置的值
equals():比较两个字符串是否相同
replace():将字符串中的某些字符用别的字符替换掉。形如 replace(“abc”,”ddd”);````字符串中的 abc 将会被 ddd 替换掉。
split():根据给定正则表达式的匹配拆分此字符串。形如 String s = “The time is going quickly!”;````str1=s.split(" ");
substring():输出一个新的字符串,它是此字符串中的子串,形如 substring(3,7);````它将字符串中的第四个 截取 第五个第六个输出。
trim():将字符串开头的空白(空格)和尾部的空白去掉。
format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
toLowerCase():将字符串中所有的大写改变成小写
toUpperCase():将字符串中所有的小写改变为大写
getBytes():获取字符串字节数组
8.关于TCP方面,你介绍一下三次握手呗?
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
9.七牛云上传图片的时候根究什么凭证去上传图片?
NK SK
10. 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
public static void reOrderArray(int [] array) {
int i=0;
int j=array.length-1;
int temp=0;
while(i<j){
if ((array[i]&1)==1){
i++;
continue;
}
if ((array[j]&1)==0) {
j--;
continue;
}
temp=array[i];
array[i]=array[j];
array[j]=temp;
i++;
j--;
}
for (int ii=0;ii<array.length;ii++){
System.out.print(array[ii]+",");
System.out.println();
}
}
11.编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5
的正整数。
class Solution {
public boolean isUgly(int num) {
if (num<1) return false;
while (num%5==0){
num/=5;
}
while (num%3==0){
num/=3;
}
while (num%2==0){
num>>=1;
}
return num == 1;
}
}
12.公鸡五块钱,母鸡三块钱。小鸡一块钱三个。一百块钱买一百只鸡。公鸡母鸡小鸡分别占多少?
public static void main(String[] args) {
int g, m, x;
int count = 0;
for (g = 1; g < 20; g++) {
for (m = 1; m < 33; m++) {
for (x = 1; x < 100; x++) {
if ((x % 3 == 0) && (5 * g + 3 * m + x / 3 == 100) && (g + m + x == 100)) {
count++;
System.out.println("公鸡:" + g + "母鸡:" + m + "小鸡:" + x);
}
}
}
}
System.out.println(count);
}
欢迎点赞加关注!!!!!
最后
以上就是怕孤独小土豆为你收集整理的Java基础题:错题集最近做的Java基础题,错题集合的全部内容,希望文章能够帮你解决Java基础题:错题集最近做的Java基础题,错题集合所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复