[ASP.net教程]C#与JAVA学习感悟

0 2015-10-06 23:00:07

C#与JAVA学习感悟

学完C#与JAVA,感觉收获良多。C#与JAVA这两门语言相似度很高(了解它们早期历史的人可能知道为什么),也许很多人在学习JAVA(或C#)时会同时学习C#(或JAVA),因为它们太相似了。但在我看来先学习一种,精通后学另一种,这样的效率会高一些,同样是因为它们太相似了,许多概念都是相通的,但这些概念并不好理解和消化,如果同时学习两种,只会让你的头脑更加的混乱。当然,如果你认为自己够牛逼,也可以试试同时学习它们。下面是我的一些总结:

1.C#与JAVA这两门语言是面向对象程序设计语言。它们将一切问题都看作一个个“对象”,并用面向对象的思想来解决问题。

2.学习这两门语言(或其中一门)时,应当避免过分纠结一些代码的具体实现(举个简单的例子:但你看到 Button 时,请就将它看作一个“按钮”,你知道它有哪些属性和方法以及如何通过这些属性和方法去操作它就可以了,不要去想这些属性和方法是如何实现的)

3.当你遇到一些新的概念时,不要在这上面过分纠结。你所需要做的是知道有这个概念以及它的含义而不去管它的代码实现(这就是先从概念上理解并掌握C#与JAVA),之所以这样做是因为在新接触如“事件”这样的概念时,很多人会热衷于“事件”的代码实现,这样的人多认为只有通过代码实现了“事件”才表示他“理解”了“事件”的含义。但其实能通过代码实现“事件”就表示已经“掌握”了“事件”了,要知道 理解 和 掌握 还是有很大区别的。想要一开始就掌握新的概念是很困难的,先仅仅是理解会大大的提高效率。

4.在理解的基础上深度挖掘,即能用代码实现所有你理解了的概念,到了这个层次,你就算是真正的学会了C#与JAVA了。

以上几点进一步总结其实就是“概念级”与“代码级”的学习C#与JAVA。在初学时不要过多的在“代码级别”花时间。当然学习的时候要分清主次,比如:

1.不要在基础上花太多功夫。基础就是指的 基本数据类型 , 基本语句(包括 顺序,选择,循环语句),输入输出,类的申明,继承与多态性等C和C++中就已经掌握了的东西。在上面花很多时间不是明智的选择。

2.在新概念上多花一点功夫。

3.引用与引用类型。也许你会庆幸没有了指针,不用再为了指针而死一大堆脑细胞了。但如果你没有完全掌握引用,那么它会让你死更多的脑细胞。但其实引用的含义与C++中的引用没有太多的变化,主要的是引用类型,会让人难以理解。因为在C#或JAVA中,数据类型可分为两类:值类型与引用类型。值类型指的是int,double,float,decimal等在申明时就分配内存的类型,而引用类型就是class 等通过 new 关键字动态分配内存的类型,与值类型不同,在申明一个引用类型的变量时并不会为其分配内存。(值类型也可以使用 new 进行动态分配内存,在C#中struct为值类型,class 为引用类型,而为什么要分值类型与引用类型是为因为取消了指针,而要实现原本指针所具有的功能)。值类型与引用类型的关系图如下:

不难看出,引用类型与C++中的指针类似。所以看似取消了指针,实则是用另一种类型代替了罢了。

无论是学习C#还是JAVA,最简单的办法就是找一个项目的完整的代码,抄一遍。当然,这个项目起码带有几千行代码(像俄罗斯方块,扫雷等这样的小游戏在网上找得到完整的源代码,很适合学习用),抄的过程不能使用复制粘贴,并将所有出现的问题一一解决了的话,对你的学习会有无比巨大的好处。但如果要深入学习的话,在抄袭的过程中应当尝试用自己的代码替换原有的代码,这样可以让你思考更多,学的更多。

本文网址:http://www.shaoqun.com/a/148422.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

C#

0

asp.net 与 java 2017_[ASP.net教程]C#与JAVA学习感悟相关推荐

  1. java jwt 验证_教程:用Java创建和验证JWT

    java jwt 验证 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...

  2. java和python自学教程_适合 Java开发者学习的Python 入门教程—文海思创

    原标题:适合 Java开发者学习的Python 入门教程-文海思创 [文海思创讯]在Java文章频道里,我们大部分人应该对该语言都非常的了解,而且在该生态圈内至少已经呆了好几年了.这让我们有常规和专业 ...

  3. windows java配置_菜鸟教程 windows 配置java的环境变量

    第一步:下载java的JDK 放在你们的D盘下面(其实C盘也一样),然后傻瓜是安装,安装路径一般默认放在 C:\Program Files\Java,这个不需要管. 第二步:直接上图 ... 看懂了吗 ...

  4. Java组件化开发教程!工信部java软件开发工程师证书

    这些面试题包含哪些内容? 借花献佛!朋友干了5年整的Java面试官,给我分享了一份面试官最爱问的Java面试题这份面试题包含了 19 个模块:Java 基础.容器.多线程.反射.对象拷贝.Java W ...

  5. java 输入流,输出流和缓冲区的个人学习感悟

    2015年国庆以后,很庆幸加入了我们学校的"移动互联网实验室",当时加入实验室只是一个C语言和java语言初学的毛头小子.2015国庆年至2015年12月完成了小组之间的第一个任务 ...

  6. asp.NET自定义服务器控件内部细节系列教程四

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  7. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  8. ASP.NET Core Web Razor Pages系列教程八: 添加验证

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  9. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

最新文章

  1. JavaScript 高级技巧 Memoization
  2. 想体验从活火山上滑下来的刺激感?VR来成全你
  3. matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
  4. 网络编程模型综述 之 UNIX网络I/O模型
  5. php保存rar,php 解压rar文件
  6. 构建测试的体系化思维(基础篇)
  7. 前端技术学习之选择器(十三)
  8. 小学生计算机课堂实践的重要性,小学《信息技术》有效课堂教学的实践与研究课题方案...
  9. oracle分区索引优化,SQL优化思路结果集重用优化、分区索引优化测试
  10. windows自带的使用键盘代替鼠标操作问题._百度知道
  11. Linux系统内核升级
  12. 闪存类型测试软件,一芯U盘闪存测试工具(DieSorting)
  13. SPSS——相关分析——Pearson简单相关系数
  14. 分销系统如何加粉,三级分销政策,B2B2C分销规则
  15. oracle无法进入nomount状态,数据库进入nomount状态
  16. 分销APP联盟商家入驻商城系统开发
  17. IAR 配置ICF跟项目走
  18. 你了解净水器滤芯知识多少?
  19. 为什么样本的方差和样本的二阶中心矩并不一样
  20. 天龙八部GridInfo读取源码

热门文章

  1. c语言指针自定义函数,c语言函数指针定义,指针函数和函数指针的区别
  2. es6严格模式需要注意的地方
  3. setTimeout(fn,0)
  4. js (jQuery)分组数据
  5. 使用ant design Pro开发项目的小结
  6. EF 拉姆达 linq if else (整理)
  7. IE9下apply的使用方式
  8. element实现动态路由+面包屑
  9. 网站大流量高并发访问的处理解决办法
  10. Python学习笔记----基础篇10----模块2