笔者擅长 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 用于编译 <code>.java</code> 源文件,java.exe 用于解释执行编译后的程序。
3, 联编 是将发送给对象的消息与执行该消息方法的对象连接起来。
联编分为静态联编和动态联编。静态联编在编译时处理(就是平时的代码);动态联编,事先不确定实例化的对象类型,在编译后才确定。
动态联编用于在运行时,才确定需要的实例。
父类A,子类B、子类C。
4,java Date 时间字符串的默认顺序为 星期,月,日,小时,分,秒,年
格式如 <code>Sat Mar 21 22:15:24 CST 2020</code>
5, ((k-1)^k)&k 代表何种意义
答:取下非0整型变量k最右边为1的那一位。
6,super
java 中的 super 跟 c# 的 base一样。
java 称为 超类、子类;C# 称为 基类/父类、子类。
super 有多种作用:
指定调用超类的哪个构造函数;
访问被子类重写/覆盖的方法
访问被子类隐藏的方法
7,&& 考核
阅读以下程序代码,写出程序的输出结果
答案是 <code>2,1,1,false</code>
这题目有 <code>误导</code> 成分,咋一看,有 <code>++i</code>、<code>i++</code> 这样的运行,实践上只需要运算 <code>a++>1</code>。原因在于 <code>&&</code> 运算是从左到右,当左侧条件为 <code>false</code> 时,程序不会执行右侧的表达式了。
8,字符串等值
查看以下程序代码的输出
结果是
java 中,String 类型的 == 运算符,比较的是对象的引用。
不同的 new String() 对象,即使是相同的值,也不是同一个对象。
C# 中,string 类型 的 == 运算符经过了重写,比较的是字符串的值;
而 <code>String aa = "1";</code> 、<code>String bb = "1";</code> 都是常量 <code>1</code> ,没有 new,所以 == 的结果相同。
9,程序设计题
使用循环把26个大写英文字母按字典顺序存入一维数组,然后再使其逆序存放(不得使用另外的数组),最后再根据处理后的字符数组创建一个字符串,输出此字符串。编程完成以上要求。
解析:基础排序算法之一。刚开始时我想用冒泡算法解决。但是看到答案时,答案使用的是倒转的方法,过程更加简单。
原因在于 26 个字母已经是按顺序排序(乱序则使用冒泡算法),直接反转就行。
题目要求
循环存入26个字母(大写)的数组;
逆放(反转);
输出字符串;
第一步代码如下
第二步如下
最后一步使用 String 的构造函数就行
10,程序设计题
编写用数组实现不超过200位的大整数的类 BigInteger,要求提供大整数的加运算。
解析:java 中,有 BigInteger 这个类,内部是对 int[] 的封装,可以表示任意长度的整数。
题目要求我们实现一个类似 BigInteger 的类。然后要实现 10 进制的 加法运算。
方法很多,而且不限定怎么写,能计算就行。
可以参考
https://wenku.baidu.com/view/6b050b976aec0975f46527d3240c844769eaa01b.html