JAVA学习博客----2015.4

时间:2022-05-27 16:08:40

这是开始写的第一篇学习博客,记录一下每个月的学习进度和掌握程度,因为这是第一次写学习博客而且已经看编程方面的书已经有几个月了,所以这一篇学习博客可能看似有些乱或者篇幅太长。从十二月的《程序员教程》到现在的《JAVA核心技术卷一基础知识》,关于编程的书在看的目前是四本(《程序员编程》《C Primer Plus》《C++ Primer Plus》《JAVA核心技术》卷一),目前在办公室看的是JAVA核心技术,在家看的目前是C++,学习进度目前只能保证三个小时的学习时间,掌握程度一般(呵呵),不过从年初的计划来看算的上是很不错的了,原本计划是在七月开始看JAVA的,因为我本身是重点是学JAVA的,看C和C++是因为怕基础太差看不懂JAVA,二是熟悉OOP的概念。

————————————————————————————————————————————————————————————————————

《程序员教程》

计算机的基础知识,比如计算机的数据的表示及运算,和现实的四则运算有什么区别,二进制八进制十六进制,二进制表示float以及十进制表示1/3,计算机当中的数据表现形式(机器语言),校验码的方法,逻辑代数以及逻辑运算,机器数的运算,他们之间的运算法则,从左到右以及从右往左,各自的优先级,计算机的基本组成和工作原理,这本书主要是用来考计算机软考的教程书,当时买这本书是希望能够明白一些计算机的基础知识,当然编程要比这些更加困难,而且需要的时间更加长久。

以及各个操作系统的基础知识,数据库SQL的一些概念,多媒体(音频,图形和图像,动画和视频,网络多媒体)的概念和当下最流行的各种开发软件(软件是一种工具,重要的是一种理念,编程也是),以及网络基础知识(TCP/IP协议体系结构),局域网基础。

程序设计语言的基础知识,(汇编,编译), 软件工程的基础知识,主要是介绍软件工程的几个实现步骤,它的周期,需求分析,软件设计,OOP分析与设计方法,软件的测试几运行,软件的项目管理。数据结构与算法。

——————————————————————————————————————————————————————————————————————

 《C primer Plus》

这本书是系统地介绍C语言,在开篇第一,二章介绍了计算机和C语言的概述。

数据和C,变量与常量,int类型和float类型,char类型和_Bool类型以及float,double和long double类型,复数和虚数类型,根据数据恰当的选择类型。

字符串和格式化I/O,char数组类型和空字符,strlen()函数,const修饰符,系统定义的明显常量,printf()和scanf(),以及 printf()和scanf()的*修饰符。

运算符,表达式和语句,循环的概念,=,+,-,-和+,*,/,他们之间的优先级和求值顺序,sizeof运算符和size_t类型,取模运算符%(这本书把取模运算当做基础知识一带而过,基本的运算原理在《程序员教程》里面写的很详细,对于我这样的小白很亲幸在看基础之前看了基础的基础),增量++和--(C++之所以为C++,是因为是在C的基础之上,所以也是C的增量,然而++C更为贴切,可是不怎么好听),表达式和语句,代码块,表大叔,语句。类型之间的转换(有些转换会损失精确度,各个转换之间有默认的规则,long,short,int,float,也可以进行强制转换)

C控制语句:循环。 while循环(条件入口),那么循环如何终止?while入口条件循环,语法要点。比较大小,什么是真(只有0被认为是假),真值,新的_Bool类型,关系运算符的优先级,不确定循环和计数循环,for循环,以及更多的赋值运算符:+=,-=,*=,/=和%=。逗号运算符,以及退出条件循环,do while,嵌套循环,使用函数返回值的虚幻。

C控制语句:分支可跳转。 if语句,以及在if语句中添加else关键字,(gether()和putchar()),ctype.h系列字符函数,多重选择else if,把else与if配对,多层嵌套if。

获得逻辑性(头文件,优先级,求值的顺序,范围),条件运算符?:。循环辅助手段;comtinue和break。多重选择:switch和break,(switch和if else),goto语句。

字符I/O和输入确认。单字符I/O:getchar()和putchar(),缓冲区,终止键盘输入,重定向和文件,以及如何实现创建一个更友好的用户界面,输入确认(分析程序,输入流和数值),菜单浏览。

函数。(当时看着一章头真疼,现在依然似懂非懂)编写使用简单的函数,函数参数定义带有参数的函数(形式参量),带参函数的原型声明,调用带有参数的函数(实际函数),黑盒子观点(是不是类似JAVA的封装?不知道是不是的,以后不对回来再改),使用return从函数中返回一个值,函数类型。ANSI C的函数原型。递归(这个复杂一点就晕了,但是看着递归代码感觉好爽)递归的使用,递归的基本原理(其实递归的每一级调用都有自己的变量,每一次函数调用都会有一次return,递归函数中,位于递归调用前的语句和各级被调函数具有相同的执行顺序,递归函数中位于递归调用后的语句的执行顺序和各个被调函数的顺序相反,虽然每一级递归都有自己的变量,但是函数代码并不会得到复制,递归函数中必须包含可以终止递归调用的语句<有始有终,要不然就成为了无限循环的病毒代码了,还是比较喜欢递归的代码方式>),多源代码文件程序的编译,UNIX,Linux(将来要细学这个操作系统),DOS命令行编辑器,Windows和Macintosh编译器。地址运算符:&,(开始有点头疼的指针有点冒头了),改变调用函数中的变量,指针(BOSS就这么来了)指针的间接运算符:*,指针声明,使用指针在函数间通信。

数组和指针(这次来了两个BOSS  ~TUT~)数组的初始化(具体在代码中实现),指定初始化项目(C99),为数组赋值,数组边界,指定数组大小。多维数组,初始化二维数组,更多维数的数组(~TUT~)(备注一下,其实矩阵就是二维数组),然后就是数组和指针的应用,使用指针参数(这些到OOP JAVA中是完全没有指针的,目前看JAVA技术核心的地方,用的是另外一种方法来代替指针,修改了这些繁琐容易出现BUG的操作,但是底层操作才是真的NB),对形式参量使用const,然后是指向多维数组的指针(可以理解为你家门牌号,代码的代码就是OOP的代码,不对的话后来回来再改吧),指针的兼容性,函数和多维数组(BOSS间的KISS TOUCH),变长数组(VLA)(这个可以在无法确定数组大小的时候使用,复合文字。

字符串和字符串函数,字符串表示和字符串I/O,在程序中定义字符串(也就是string,其实在各种设备例如电视的控制中靠的就是字符串的I/O,so手机也可以成为控制各种设备的字符串输出设备,<不要太相信,细节我也不大清楚>),指针和字符串,字符串输入(首先要创建存储空间,利用gets()函数fgets()函数和scanf()函数),字符串输出(利用puts()函数,fputs()函数printf()函数)以及自定义字符串I/O函数,字符串函数(strlen()函数strcat()函数strncat()函数strcamp函数strncmp()变种strcpy()和strncpy()函数sprintf()函数)(这些函数是什么,其实是一系列的算法,有各种已经实现好的函数,只需要调用就好了,就像游戏里面的人物每次放大招之前要喊技能名称一样,实现某个函数先声明才能调用)(so算法才是王道)。

这本书的后面的从十二章到十七章都比较难懂(对于我来说~TUT~),这几章的内容在后期会补上的,虽然看过了,但是很多地方特别不懂,所以还需要时间再去看看(其实之前的也都要再看好几遍~TUT~)

————————————————————————————————————————————————————————

《C++ Primer Plus》    C++和JAVA一样同属OOP。这两个精通一样就很不错了,千万不要所有的都平平,要在某一个地方很精通,程序在原理理念,语言只是一个工具。

C++是C的提升,所以在代码上面有很多的是一样的,相当于是C和JAVA中间一层,能做到JAVA不能做的,也抛弃了C许多不合理的地方,但是确实非常难懂的。

这本书目前只看到了第三章(一共十八章900多页~TUT~)

目前看到的是在介绍区别与C的地方,和介绍OOP的理念。 等看到一定的程度后期补上。

————————————————————————————————————————————————————————————

《JAVA核心技术》

————————————————————————————————————————————————————————————

2015.4