想成为计算机高手的话,有两样东西必须要学会,一个是算法,一个是设计模式,目前只能学算法,设计模式就算给研究生讲也听不懂的,但是这个相当重要,为什么大学生不行因为他们无法理解。
在大学里面的课程叫数据结构,它最大的难点是算法思维上,它和数据结构是配套的,比如要输出一组数,有很多方法,但是算法研究的是怎样算的快。比如循环,如果只能循环10万次,就不一样了,要肯定的是,循环10万次是很正常的,他们的效率相差一倍,例如for( )表达式,这里面的for( )括号里,其实是真与假,例如for(true){……}这样写是代表永远循环,是死循环,如果是While(false){……}代表一次也不循环,直接跳出来了,再举个例子,for(int i=0;i<10;i++)和for(int i=0;i<10;i=i+1),这两个有什么区别?
首先,它们都是循环10次,i++和i=i+1是一个意思,这两个程序如果都是循环10次的话,差别不大,要是循环10万次,效率差了一倍,其中,i++ CPU只发了一个指令,i=i+1则是两个,加法一个,赋值一个,这就是算法要研究的,还有更具体的,比如说排序,不同的算法效率不同。
首先说,数据结构首先要学的是数据类型,在java语言中,大体的类型有两种,它们分别是基本类型和对象类型,基本类型又分为8种。比如一个int型的数,在CPU上是16位,对于像是java 和C语言这样的语言是32位的,它的数据类型是强制型的,也就是说,不允许把一个小数赋值给一个整数。或者其它类型的值,赋予另一类型。
讲数据结构的时候,要么用C语言,要么用pascal语言,没有用java讲的,因为java都是对象,这种类型不一样,对于C语言来说,数组是个高一些的数据类型,但是对于java是个对象,我们在计算机的世界里,要想表达现实的世界,都是要由int float char等基本类型为基础,构造出更高的数据类型。更高的数据类型称作ADT(抽象类型)。。java中的类是一种抽象数据类型。
另外,数据类型的分法的概念是找工作面试的时候都会问的。
倒。。这次才是真的累了。。。又做了一遍。,不过值得。。。能长记性。。虽然很辛苦。。但真的很甜^_^