初入大四,开始了秋招,才惶惶察觉自己大学期间什么也没学到,大一大二一直在研究算法,只在杂七杂八的算法比赛得过奖,却没机会去参加ACM算是一个遗憾,不过倒是洛谷签到硬生生签了365天,编译一直用的C++,然而大学从大三开始的课程却是要用到java,于是大三几乎没再碰过C++,靠着C++基础,转用java,倒是能勉强能用,但是对java只有一个大概的印象。
学校的课程是先从java开始,然后接触javaweb,数据库,再进阶SSM三层架构写一个项目,然后接着教Android开发,到大三下的课设已经是要完成一个既有Android 端又有前端SSM架构的项目,靠着从第一个项目的代码(不知道从哪复制粘贴的),自己倒是照葫芦画瓢,也就是复制粘贴以前的代码,重新修改一下数据库,改一下每一个类及参数,毫无长进的完成每一个课设,全都是临时抱佛脚,迷迷糊糊的看一遍教学视频,至于为什么这样用,倒是没有一个清晰的概念。
到了大四没有任何大型java项目的经验,以这个水平,自觉在秋招没什么底气,于是下定决心在学校期间重新系统的学习一遍java全栈的知识,来弥补自己的不足。
我的java语言基础一直是依赖C++的语法,对java的细节一直没怎么了解,由于以前写的项目都是用eclipse写的,但是由于这个ide太过老旧且写着不方便,于是决定更换IDEA使用,为了更彻底,更卸载了当初初学java时下载的jdk为15的版本,重新下载java8,也是因为java8用的更多。不过更换了idea后,以前的Maven,springboot等框架也决定重新更改,不过因为不了解idea的操作,决定按部就班的学习,从javase学习开始,慢慢的向后学习,用到的时候再去部署。
java的注释和C++的一样
单行注释 : //
多行注释:/* */
文档注释/** */
(这个我倒是没在C++用到过)
从后面的学习了解到,文档注释一般用在类、方法和变量上面,用来描述其作用
static是新遇到的,倒是没有搞太懂,现在用着是来定义全局变量的?只有加了static后在main里才能直接调用,不加就要在main里New一个这个类后才能方法调用,学习的课程以后会重新讲到,先这样理解。
更多的和C++的标识符一样,int 、float 、double 、long这些用来定义变量类型的标识符
和C++类似,比较基础的知识
进制问题,做算法题也常遇到 二进制 0b 八进制 0 十进制 十六进制0x
倒是java的浮点数,double和float在很大的数上精度不高,是有限的离散的形式,会舍入误差,所以在用大数浮点数推荐用BigDecimal这个类。
java上的类型转换挺方便,大部分类都有方法来转换,而如int,char等类型可以用在前面加括号的形式来转换。
char a='a'; int b=(int)a; systerm.out.println(b); //b=97
命名规则和C++一样,很好理解,尤其是命名的规范也需要注意
1.包名:全小写,如 java.awt.event, test
2.类名:首字母大写,如果由多个单词组成,要求每个单词的首字母都大写,如 HelloWorldApp
3.接口名:命名规则与类名相同。
4.方法名:往往由多个单词合成,第一个为动词,因此动词要全小写,后面的单词首字母大写,如
balanceAccount、isButtonPressed
5.变量名:一般为名词,全小写,如 area,lenth
6.常量名:全大写,如 MAX_INT, YEAR
常量是用final来表示与C++的const不同
java的运算符与C++几乎一样,很基础。
包是java要了解的,类似于文件夹一样,是为了更好的组织类。
这个也是首次了解到,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了
就是前面了解的文档注释,用来了解方法,类,成员等。
有了C++的基础,Java基础理解上不难,不过此前缺的就是细节上的知识,对我还是很有用的,了解到了新知识。明天继续学习!