Java(三):基础知识
1. 章节简介
1.1 课程简介
这个系列的文章,我会把我在RIT学习的CS研究生相关课程作业分享在这里,希望能帮助有需要的童鞋。
课程名称:CSCI.605.04 - Adv OO Programming Concepts(前置课程)
任课老师:Hans-Peter Bischof
作业链接:传送门
本章学习笔记:传送门
学习建议:本章学习的内容都需要掌握;
※ 注意:本系列的文章大部分内容都是英文文献和资料,对英文阅读的能力要求较高,如有疑问,请随时联系我哒~
1.2 本章知识要点
第一题:没什么难度,主要是熟悉下面4个Java类:1)Class String;2)Class Integer;3)Class Pattern;;4)Class Arrays;
第二题:熟悉使用Class Scanner即可;
这里需要注意一下两个方法的区别:
String nextLine()
Finds and returns the next complete token from this scanner.
String next()
Advances this scanner past the current line and returns the input that was skipped.
两者都是读取内容,用字符串返回;区别是前者是以换行符为分界线,后者是以空格为分界线;使用的时候,大家需要根据自己的需求来选择相应的方法;
第三题:熟悉使用 ?: 三元运算符;
这个运算符可以达到简化代码的目的,如有多个嵌套,计算规则是从右往左,比如
int num = 1;
if ( num > 1 )
num++;
else
num--;
可以简化成:
int num = 1;
num += num > 1 ? 1 : -1;
但是不建议大家滥用这个三元运算符,因为会降低代码的可读性,得不偿失;比如,题目中的findMaximum()这个代码简化,其实可以写成一行的:
public static int findMaximum(int a, int b, int c, int d) {
return ( (c > ( a > b ? a : b ) ? c : (a > b ? a : b) ) > d ) ?
( c > ( a > b ? a : b ) ? c : (a > b ? a : b) ) : d;
}
但是可读性几乎为零,所以建议最多嵌套两层?:
public static int findMaximum(int a, int b, int c, int d) {
int maxAandB = a > b ? a : b;
int maxCandD = c > d ? c : d;
return maxAandB > maxCandD ? maxAandB : maxCandD;
}
2. 答案 & 代码
1)老师提供的参考答案:就在题目最下方所提供的代码;
2)自己的答案:请见这里
3. 免责声明
※ 本文之中如有错误和不准确的地方,欢迎大家指正哒~
※ 课程相关的版权归各个任课老师所有,博主自己的作业代码归博主自己所有;
※ 此项目仅用于学习交流,请不要用于任何形式的商用用途,谢谢呢;