您的位置:首页 > 编程语言 > Java开发

java 考试易考识记题目(一)

2020-03-28 21:43 661 查看

笔者擅长 C# 语言,4月份要考试,学习 JAVA 是为了考试罢了。 如何在最短时间内学习 JAVA 基础语法和通过考试考核呢~ 学习 JAVA ,要为了应付考试,判断、循环这部分,C、C++、C#、JAVA 都是一样的,不需要重复学习。 基础语法上,C++ 跟 C# 接近,例如命名空间(namespace)、继承(:)。 高级语法 JAVA 跟 C# 接近,很多 API 甚至名字都一样。 笔者在学习和完成试卷练习时,将具有代表性的 JAVA 题目抽取出来,集中复习和了解习题的套类,这样最短时间能够通过考试,并且拿到高分。 啦啦啦啦啦~ 注:以下题目内容从往年试题或者互联网中获取而来,侵删!

1,java语言最初的应用对象是 消费级电子产品 最初设计时,是为了应用到电子游戏机、电视机机顶盒等电子产品。

2,Java SDK 的核心中,解释器所对应的可执行文件是 java.exe javac.exe 用于编译

.java
源文件,java.exe 用于解释执行编译后的程序。


3, 联编 是将发送给对象的消息与执行该消息方法的对象连接起来。 联编分为静态联编和动态联编。静态联编在编译时处理(就是平时的代码);动态联编,事先不确定实例化的对象类型,在编译后才确定。 动态联编用于在运行时,才确定需要的实例。 父类A,子类B、子类C。
public void Test( string str )
{
A a;
if ( str == "B" )
a = new B();
}else if ( str == "C" )
{
a = new C();
}else
return;
}

4,java Date 时间字符串的默认顺序为 星期,月,日,小时,分,秒,年 格式如

Sat Mar 21 22:15:24 CST 2020


5, ((k-1)^k)&k 代表何种意义 答:取下非0整型变量k最右边为1的那一位。


6,super java 中的 super 跟 c# 的 base一样。 java 称为 超类、子类;C# 称为 基类/父类、子类。

super 有多种作用:

  • 指定调用超类的哪个构造函数;
  • 访问被子类重写/覆盖的方法
  • 访问被子类隐藏的方法

7,&& 考核 阅读以下程序代码,写出程序的输出结果

public static void main(String[] args) {
int a, b, c;
a = b = c = 1;
boolean w;
w = a++ > 1 && ++b > c++;
System.out.println(a + "," + b + "," + c + "," + w);
}

答案是

2,1,1,false
这题目有
误导
成分,咋一看,有
++i
i++
这样的运行,实践上只需要运算
a++>1
。原因在于
&&
运算是从左到右,当左侧条件为
false
时,程序不会执行右侧的表达式了。


8,字符串等值 查看以下程序代码的输出

public static void main(String[] args) {
String a = new String("1");
String b = new String("1");
String aa = "1";
String bb = "1";

System.out.println(a == b);
System.out.println(a == aa);
System.out.println(aa == b);
System.out.println(aa == bb);
}

结果是

false
false
false
true

java 中,String 类型的 == 运算符,比较的是对象的引用。 不同的 new String() 对象,即使是相同的值,也不是同一个对象。

C# 中,string 类型 的 == 运算符经过了重写,比较的是字符串的值;

String aa = "1";
String bb = "1";
都是常量
1
,没有 new,所以 == 的结果相同。

9,程序设计题 使用循环把26个大写英文字母按字典顺序存入一维数组,然后再使其逆序存放(不得使用另外的数组),最后再根据处理后的字符数组创建一个字符串,输出此字符串。编程完成以上要求。

解析:基础排序算法之一。刚开始时我想用冒泡算法解决。但是看到答案时,答案使用的是倒转的方法,过程更加简单。 原因在于 26 个字母已经是按顺序排序(乱序则使用冒泡算法),直接反转就行。

题目要求 循环存入26个字母(大写)的数组; 逆放(反转); 输出字符串;

第一步代码如下

char a[] = new char[26];
char c = 'A';
for (int i = 0; i < 26; i++) {
a[i] = (char) (c + i);
}

第二步如下

for (int i = 0; i < 13; i++) {
char tmp = a[i];
a[i] = a[25 - i];
a[25 - i] = tmp;
}

最后一步使用 String 的构造函数就行

String str = new String(a);
System.out.println(str);

10,程序设计题 编写用数组实现不超过200位的大整数的类 BigInteger,要求提供大整数的加运算。

解析:java 中,有 BigInteger 这个类,内部是对 int[] 的封装,可以表示任意长度的整数。 题目要求我们实现一个类似 BigInteger 的类。然后要实现 10 进制的 加法运算。 方法很多,而且不限定怎么写,能计算就行。 可以参考 https://wenku.baidu.com/view/6b050b976aec0975f46527d3240c844769eaa01b.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: