asp.net 與 java 2017_[ASP.net教程]C#與JAVA學習感悟

[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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372682.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372682.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372682.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring和JSF集成:國際化和本地化

如果您正在開發針對多種語言的JSF應用程序&#xff0c;那么您可能很熟悉<f&#xff1a;loadBundle>標記。 即使您的應用程序不支持使用消息包的國際化仍然是一個好主意。 在<f&#xff1a;loadBundle>標記下&#xff0c;它從Java java.util.ResourceBundle中讀取消…

一個實用的卻被忽略的命名空間:Microsoft.VisualBasic:

當你看到這個命名空間的時候&#xff0c;別因為是vb的東西就匆忙關掉網頁&#xff0c;那將會是您的損失&#xff0c;此命名空間中的資源最初目的是為了簡化vb.net開發而創建的&#xff0c;所以microsoft.visualbasic并不屬于system命名空間&#xff0c;而是獨立存在的。雖然是為…

Linux基礎之命令練習Day2-useradd(mod,del),groupadd(mod,del),chmod,chown,

作業一&#xff1a; 1) 新建用戶natasha&#xff0c;uid為1000&#xff0c;gid為555&#xff0c;備注信息為“master” 2) 修改natasha用戶的家目錄為/Natasha 3) 查看用戶信息配置文件的最后一行 4) 為natasha用戶設置密碼“123” 5) 查看用戶密碼配置文件的最后一行 6) 將nat…

動態表單,JSF世界早已等待

新的PrimeFaces擴展版本0.5.0帶來了新的DynaForm組件。 通常&#xff0c;如果知道行/列的數量&#xff0c;元素的位置等&#xff0c;則可以通過h&#xff1a;panelGrid或p&#xff1a;panelGrid來構建非常簡單的表單。 對于靜態表單&#xff0c;這是正確的。 但是&#xff0c;如…

C# 定時器事件(設置時間間隔,間歇性執行某一函數,控制臺程序)

定時器事件代碼 static void Main(string[] args) {Method();#region 定時器事件 Timer aTimer new Timer();aTimer.Elapsed new ElapsedEventHandler(TimedEvent);aTimer.Interval seconds * 1000; //配置文件中配置的秒數aTimer.Enabled true;#endregionstring strLi…

總結get和post區別

參考博文&#xff1a;   淺談HTTP中Get與Post的區別 1. 數據傳遞方向&#xff1a; Get是向服務器發索取數據的一種請求&#xff0c;Post是向服務器提交數據的一種請求 &#xff08;都是請求&#xff0c;并不是一個取一個發&#xff09; Get&#xff1a;①用于獲取信息&#x…

Vmware安裝Centos NAT方式設置靜態IP

【Vmware中在搭建集群環境等&#xff0c;DHCP自動獲取IP方式不方便&#xff0c;為了固定IP減少頻繁更改配置信息&#xff0c;建議使用靜態IP來配置&#xff0c;網絡連接主要有三種方式 1.nat 2.橋接&#xff0c;3主機模式 &#xff0c;在這里主要介NAT方式&#xff0c; 為什么使…

1 TB /節點時快速,可預測且高度可用

世界正每秒從移動設備&#xff0c;Web和各種小工具向應用程序推送大量數據。 如今&#xff0c;更多的應用程序必須處理此數據。 為了保持性能&#xff0c;這些應用程序需要快速訪問數據層。 在過去的幾年中&#xff0c;RAM價格下降了&#xff0c;我們現在可以便宜得多地獲得具有…

java jni 內存_Android開發之JNI內存模型

Java 與JNI 內存管理是怎樣的想要弄清楚Java與JNI的內存管理的關系&#xff0c;首先要弄清楚JVM的內存模型JVM內存模型.png其中本地方法棧就是運行時調用native 方法的數據保存區。本地方法棧的大小可以設置成固定的或者是動態擴展。Java中的內存泄露JAVA 編程中的內存泄漏&…

04 linux用戶群組和權限

作業一&#xff1a; 1)新建用戶natasha&#xff0c;uid為1000&#xff0c;gid為555&#xff0c;備注信息為“master” 2)修改natasha用戶的家目錄為/Natasha 3)查看用戶信息配置文件的最后一行 4)為natasha用戶設置密碼“123” 5)查看用戶密碼配置文件的最后一行 6)將natasha用…

基于 CoreText 實現的高性能 UITableView

引起UITableView卡頓比較常見的原因有cell的層級過多、cell中有觸發離屏渲染的代碼&#xff08;譬如&#xff1a;cornerRadius、maskToBounds 同時使用&#xff09;、像素是否對齊、是否使用UITableView自動計算cell高度的方法等。本文將從cell層級出發&#xff0c;以一個仿朋友…

RESTEasy教程第1部分:基礎

RESTEasy是JBoss / RedHat的JAX-RS實現&#xff0c;內置于JBoss 6之后。 在這里&#xff0c;我將向您展示如何使用RESTEasy和JBossAS7.1.1.FINAL開發一個簡單的RESTful Web服務應用程序。 步驟1&#xff1a;使用Maven配置RESTEasy依賴項。 <project xmlnshttp:maven.apache.…

php函數相關函數,PHP數組相關函數匯總

這篇文章主要介紹了PHP數組相關函數,匯總說明了php中相關的數組,具有一定參考借鑒價值,需要的朋友可以參考下本文總結了PHP數組相關的函數。分享給大家供大家參考。具體如下&#xff1a;這里包括函數名和用法說明&#xff0c;沒有詳細的代碼范例。感興趣的朋友可以查閱本站相關…

Web Magic 總體架構

1.2 總體架構 WebMagic的結構分為Downloader、PageProcessor、Scheduler、Pipeline四大組件&#xff0c;并由Spider將它們彼此組織起來。這四大組件對應爬蟲生命周期中的下載、處理、管理和持久化等功能。WebMagic的設計參考了Scapy&#xff0c;但是實現方式更Java化一些。 而S…

L1-006. 連續因子

一個正整數N的因子中可能存在若干連續的數字。例如630可以分解為3*5*6*7&#xff0c;其中5、6、7就是3個連續的數字。給定任一正整數N&#xff0c;要求編寫程序求出最長連續因子的個數&#xff0c;并輸出最小的連續因子序列。 輸入格式&#xff1a; 輸入在一行中給出一個正整數…

基于Java JAAS表單的身份驗證

使用JAAS實現登錄模塊是一個高級主題&#xff0c;而且大多數開發人員也很少有機會參與這種開發。 但是JAAS登錄模塊的基本實現并不是那么困難&#xff0c;這是因為我打算將其發布。 在這里&#xff0c;我正在解釋如何實現tomcat管理的身份驗證模塊。 此實現與容器無關。 我們可…

java自動投票代碼,Java 投票(自動添一)

Java 投票(自動加一)數據庫建立&#xff1a;SQL> create table vote(2 id number,3 name varchar(200),4 num number5 );//index.jsppageEncoding"utf-8"%>投票Connection conn1 null;Statement stmt1 null;ResultSet rs1 null;try {Class.forName("or…

SpringMVC搭建+實例

想做一點自己喜歡的東西&#xff0c;研究了一下springMVC,所以就自己搭建一個小demo,可供大家吐槽。 先建一個WEB工程&#xff0c;這個相信大家都會&#xff0c;這里不在多說。去網上下載spring jar包&#xff0c;然后在WEB-INF下新建一個lib文件&#xff0c;將下載的jar包放進…

Mockito和Hamcrest的試駕制造商

過去&#xff0c;很多人問我是否測試吸氣劑和吸氣劑&#xff08;屬性&#xff0c;屬性等&#xff09;。 他們還問我是否測試我的建筑商。 在我看來&#xff0c;答案取決于情況。 當使用遺留代碼時&#xff0c;我不會費心去測試數據結構&#xff0c;這意味著對象只帶有getter和s…

php8更新,PHP 8 中新特性以及重大調整

PHP 8&#xff0c;PHP 的一個新的大版本&#xff0c;預計將于2020年12月3日發布&#xff0c;這意味著將不會有 PHP 7.5 版本。PHP8目前正處于非常活躍的開發階段&#xff0c;所以在接下來的幾個月里&#xff0c;情況可能會發生很大的變化。在這篇文章中&#xff0c;我會維持一個…