Day1 重新学习java的笔记

重新学java

初入大四,开始了秋招,才惶惶察觉自己大学期间什么也没学到,大一大二一直在研究算法,只在杂七杂八的算法比赛得过奖,却没机会去参加ACM算是一个遗憾,不过倒是洛谷签到硬生生签了365天,编译一直用的C++,然而大学从大三开始的课程却是要用到java,于是大三几乎没再碰过C++,靠着C++基础,转用java,倒是能勉强能用,但是对java只有一个大概的印象。

学校的课程是先从java开始,然后接触Javaweb,数据库,再进阶SSM三层架构写一个项目,然后接着教Android开发,到大三下的课设已经是要完成一个既有Android 端又有前端SSM架构的项目,靠着从第一个项目的代码(不知道从哪复制粘贴的),自己倒是照葫芦画瓢,也就是复制粘贴以前的代码,重新修改一下数据库,改一下每一个类及参数,毫无长进的完成每一个课设,全都是临时抱佛脚,迷迷糊糊的看一遍教学视频,至于为什么这样用,倒是没有一个清晰的概念。

到了大四没有任何大型java项目的经验,以这个水平,自觉在秋招没什么底气,于是下定决心在学校期间重新系统的学习一遍java全栈的知识,来弥补自己的不足。

从JavaSE开始

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要了解的,类似于文件夹一样,是为了更好的组织类。

Javadoc 生成文档

这个也是首次了解到,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了

就是前面了解的文档注释,用来了解方法,类,成员等。

思考

有了C++的基础,Java基础理解上不难,不过此前缺的就是细节上的知识,对我还是很有用的,了解到了新知识。明天继续学习!