09/06号java面向对象基础课程--》张成峰,06号张成峰
09/06号java面向对象基础课程--》张成峰,06号张成峰
学习报告
上周结束java的基础语法部分的学习。
从今天09/06号进入Java 面向对象部分的学习(包含数据库的学习)。Java SE 部分有大量内容,分上下册,加上数据库的运用。
在以下的几个月,还将设计到的课程是:
Java EE :这是Java SE的升级版,是面向企业的运用编程。
Java web :网页编程
Java 客户端运用编程
这几部分都是建立在Java SE 的基础之上的课程。
Java SE 部分的面向对象是张老师代课。
今天的主要学习内容是复习并加深Java基础语法部分的学习。一开始进入他的思维和难度,还是有小小的挑战。以下是今天的主要内容:
1. 再次提到Java语言执行的底层代码的基础知识。
机器语言:用二进制表示机器语言最主要的原因是自然界内阻发热,导致电阻两端的电压变化,会导致信号处理的波动。所有采用二进制,一开一关的模式,有效避免内阻的发热现象。这样做缺点也会增加很多的逻辑电路(相对于十进制而言)。
汇编语言:用特殊的符号,单词把二进制的符号进行分类后,一一对应,这样容易程序员编程,贴近人类自然思考的方式,思维。汇编语言是最接近硬件的语言,现在大多数的硬件方面的底层语言都是汇编语言。
高级语言:高级语言与汇编语言的本质区别,汇编语言的直接操作对象是硬件,而高级语言的直接操作对象是操作系统,对于硬件的管理都由计算的操作系统完成。
翻译的两种形式:编译与解释
编译:编译出的文件是可以直接在操作系统上执行的语言是编译型的。(文件如EXE)不用解释,效率高。无法跨平台。
解释:自身不能被操作系统识别,借助第三软件的解释,才可以正确的执行,效率低。例如JavaScript语言。优点是跨平台
Java语言是半解释半编译的语言。
Java语言的特点:
安全性:在类库的加载过程中,启动类库,扩展类库,用户自定义类库的顺序加载,这样加载的好处在于提高代码执行的安全性,避免非方法代码的操作。
健壮性:java语言是一种强类型的语言,即在编译与运行时进行大量的类型检查,防止不匹配的数据类型发生。由于有垃圾回收机制,防止内存分配错误。Java程序员不直接操作内存,区别于C系语言。
跨平台(可移植性);一次编译,处处使用,使用JVM随着操作系统的不同而异,这样就可以把其他平台编译成的.class文件解释本地操作系统上识别的代码。JVM作用相当于运行在不同的平台的解释性软件。
简单性:Java语言从C语言发展而来,却丢弃了C语言一些不常用的功能,例如预算符重载,多重继承。
保留或者放弃了指针(在Java中极少体现),内存的申请与释放(Java中不直接操作内存),无条件转移语句等更功能。
面向对象的语言:相对于结构化的编程方式而言,面向对象是一种分类和对象的一种编程思维,而结构化是一种过程化思维过程,有一定的区别,在大型程序设计中,运用面向对象思维,更加简单。但是我们只是用另外一种思维解决问题,但是基本的过程还是分配在不同的对象的。
多线程:操作系统概念,在Java语言中支持多线程,可以同时运行此语言编译成的软件多个。
垃圾回收:相当于内存的释放,比如在引用类型变量没有指向内存的地址时,内存就会自动的进行垃圾回收。释放不用的内存。
2. 方法部分的复习;
在Java中,如果一个方法是有返回值的类型,意味着无论任何时候都应该有该类型值得返回。用Return关键字返回。
在Java中如果申请的变量是全局变量(成员变量),在调用方法的功能时,如果方法内的参数都是全局变量,可以不用进行参数的传递。==》来自(学生管理系统的体会)
3. 数组部分的复习:
数组的概念:连续分配的内存块中存储的元素的集合。
特点:
每个元素本质上是一个变量。特别重要,对于在面向对象编程时理解每个元素都是一个对象变量时。既然是变量,就存在赋值,不然就会是null,在系统返回空值得错误。同时也得进行指针的指向,否则也会报错。对象变量也仅仅存储的是对象属性和属性值得一个内存地址。
数组是一段连续的内存空间,下表从0开始,最大下表是长度-1.
元素都是变量,元素的变量的类型是定义数组的类型。
数组元素在创建后,都会初始化,int类型是0,double类型是0.0,引用类型是NULL,boolean类型是false.
数组元素被创建后,长度不能变化。
4. 对于学习过程的领悟:
在编程语言的学习过程中,程序代码是核心,理论是重点。
就像张老师建议的学习方法一样,在学习中做到以下几个步骤,才能逐步掌握学习语言的规律;
照本宣科;代码的初见,理解每条语句的含义,执行效果如何。这是第一遍。
孰能生巧:这个过程是漫长的,因人而异,在理解代码的基础上,我们不看代码,自己独立完成几百上行的代码,这是第二边,肯定会遇到很多问题,无法找到的错误,例如逻辑错误,语法错误,我们最应该做的就是自己尝试调试代码,通过自己的调试的过程,才是自己思维的过程,理解代码的含义及运行后的结果;没解决一个问题,就是离成功近了一步。实在无法调试出来的,就要借助外界条件(老师的正确代码,自己百度,同学请教),最后必须把自己思维的代码做出来,你会受益匪浅的。
第三遍:再次通过自己的理解,把代码在工具中敲打出来,第三遍的难度已经小很多,但是还是会有些小问题,无法解决,这个过程中把代码问题解决,相信你已经掌握这个代码的90%以上了,下次再遇上,你是可以做出来的。
第四遍:这个过程就是练习速度的时候了,在第三遍的时候,把代码的含义理解清楚,在这里就可快速的敲打出来,同时运用自己的知识,看看可以可以举一反三,把同类的代码实现总结在一起,这个也是我们说的对象集合在一起。
第五遍;在这个过程,不仅需要练习速度,还需要思考,是否可以实现其他的功能,与其他的代码相互总结,做到融会贯通的效果,这样,在学习的过程中就会很轻巧了。
学习过程中运用其他思维思考问题:
逆向思维的使用:这个是很大的一块运用,将来还可以做软件的逆开发,平时多培养这方面的习惯。
面向对象的思维思考:在Java中,我们必须学会用对象的思维思考问题,这样才能把Java学好,不再用结构化的思维。
学习过程中抓重点才顾其他:练习代码是最重要的核心。做到融会贯通。
英语的学习:Java语言及Java工具的使用,及代码BUG的调试,以后学习其他语言及工具,基本上都是英语,英语的学习很是必要,对于就业时,英语的重要作用也是很有作用,平时至少做到常见的代码异常英语熟悉。
类比的思维:计算机语言是一门仿真学,我们在学习过程中,可以找到生活实际中相似的事物进行对比理解计算机的执行过程。
分解的思维:把复杂问题分解成很小的一块来解决,是我们常见的解决问题的办法,熟练使用,在Java中体现比较明显。比如方法的使用。
最后做好复习(总结),预习和博客的书写。
望闻问切
相关文章
- 暂无相关文章
用户点评