和java
❶ java的&和&的區別是什麼
1.指針
JAVA語言讓編程者無法找到指針來直接訪問內存無指針,並且增添了自動的內存管理功能,從而有效地防止了c/c++語言中指針操作失誤,如野指針所造成的系統崩潰。但也不是說JAVA沒有指針,虛擬機內部還是使用了指針,只是外人不得使用而已。這有利於Java程序的安全。
2.多重繼承
c++支持多重繼承,這是c++的一個特徵,它允許多父類派生一個類。盡管多重繼承功能很強,但使用復雜,而且會引起許多麻煩,編譯程序實現它也很不容易。Java不支持多重繼承,但允許一個類繼承多個介面(extends+implement),實現了c++多重繼承的功能,又避免了c++中的多重繼承實現方式帶來的諸多不便。
3.數據類型及類
Java是完全面向對象的語言,所有函數和變數部必須是類的一部分。除了基本數據類型之外,其餘的都作為類對象,包括數組。對象將數據和方法結合起來,把它們封裝在類中,這樣每個對象都可實現自己的特點和行為。而c++允許將函數和變數定義為全局的。此外,Java中取消了c/c++中的結構和聯合,消除了不必要的麻煩。
4.自動內存管理
Java程序中所有的對象都是用new操作符建立在內存堆棧上,這個操作符類似於c++的new操作符。下面的語句由一個建立了一個類Read的對象,然後調用該對象的work方法:
Read r=new Read();
r.work();
語句Read r=new Read();在堆棧結構上建立了一個Read的實例。Java自動進行無用內存回收操作,不需要程序員進行刪除。而c十十中必須由程序貝釋放內存資源,增加了程序設計者的負扔。Java中當一個對象不被再用到時,無用內存回收器將給它加上標簽以示刪除。JAVA里無用內存回收程序是以線程方式在後台運行的,利用空閑時間工作。
5.操作符重載
Java不支持操作符重載。操作符重載被認為是c十十的突出特徵,在Java中雖然類大體上可以實現這樣的功能,但操作符重載的方便性仍然丟失了不少。Java語言不支持操作符重載是為了保持Java語言盡可能簡單。
6.預處理功能
Java不支持預處理功能。c/c十十在編譯過程中都有一個預編澤階段,即眾所周知的預處理器。預處理器為開發人員提供了方便,但增加丁編譯的復雜性。JAVA虛擬機沒有預處理器,但它提供的引入語句(import)與c十十預處理器的功能類似。
7. Java不支持預設函數參數,而c十十支持
在c中,代碼組織在函數中,函數可以訪問程序的全局變數。c十十增加了類,提供了類演算法,該演算法是與類相連的函數,c十十類方法與Java類方法十分相似,然而,由於c十十仍然支持c,所以不能阻止c十十開發人員使用函數,結果函數和方法混合使用使得程序比較混亂。
Java沒有函數,作為一個比c十十更純的面向對象的語言,Java強迫開發人員把所有例行程序包括在類中,事實上,用方法實現例行程序可激勵開發人員更好地組織編碼。
8 字元串
c和c十十不支持字元串變數,在c和c十十程序中使用Null終止符代表字元串的結束,在Java中字元串是用類對象(strinR和stringBuffer)來實現的,這些類對象是Java語言的核心,用類對象實現字元串有以下幾個優點:
(1)在整個系統中建立字元串和訪問字元串元素的方法是一致的;
(2)J3陽字元串類是作為Java語言的一部分定義的,而不是作為外加的延伸部分;
(3)Java字元串執行運行時檢空,可幫助排除一些運行時發生的錯誤;
(4)可對字元串用「十」進行連接操作。
9「goto語句
「可怕」的goto語句是c和c++的「遺物」,它是該語言技術上的合法部分,引用goto語句引起了程序結構的混亂,不易理解,goto語句子要用於無條件轉移子程序和多結構分支技術。鑒於以廣理由,Java不提供goto語句,它雖然指定goto作為關鍵字,但不支持它的使用,使程序簡潔易讀。
l0.類型轉換
在c和c十十中有時出現數據類型的隱含轉換,這就涉及了自動強制類型轉換問題。例如,在c十十中可將一浮點值賦予整型變數,並去掉其尾數。Java不支持c十十中的自動強制類型轉換,如果需要,必須由程序顯式進行強制類型轉換。
11.異常
JAVA中的異常機制用於捕獲例外事件,增強系統容錯能力
try{//可能產生例外的代碼
}catch(exceptionType name){
//處理
}
其中exceptionType表示異常類型。而C++則沒有如此方便的機制。
❷ 安卓和java有什麼區別
Android和Java的聯系
Android的應用層上的應用程序是用Java編寫的,以Java作為開發語言,但是,Java並不等同於Android,因為Android SDK引用了Java SDK的大部分,少數部分被Android SDK所拋棄。所以,要想從事Android的開發,就必須有Java基礎。
Android和Java區別
Android是主流智能手機的操作系統,Java是一種開發語言,兩者沒有好壞優勢之分,只是兩種職業崗位選擇,學安卓從事移動互聯方向開發,學Java從事軟體方向開發,主要看個人選擇,從學Java轉移到安卓,學安卓轉移到Java都是可以的。
Java和Android都能做手機開發嗎?
這兩個方面都是可以做手機開發的;在以前半智能機的時代,我們手機應用的最多的就是Java、塞班操作系統了,這兩個操作系統在三年以前應該和今天的安卓、IOS系統差不多,當時認為很完美了,不過時至今日,Java系統相對較少,隨著3G時代的到來,人們最重要的網路終端設備一定是手機,而移動終端設備中3G系統的Android手機又最多,Android手機又以Java為基礎,所以二者都可以說能做手機開發。
學Java和學Android哪個好?
現在安卓占智能系統大半的市場份額,當然智能系統或者是移動終端不僅僅是指手機,還有平板電腦。但是其實Java和Android這兩者並沒有可比性,因為發展方向並不一樣,側重點也不一樣,Java按照實際的開發產品來看,至少有三個方向可以發展;手機終端、電腦客戶端、web伺服器斷,而Android只適用於手機終端,因此Java的發展范圍相對要廣一些,也就是我們所說的工作崗位更多一些,而Android范圍小一些,但是從待遇上來看普遍稍高,各有各的好處,再說學習來看,從Android轉Java和從Java轉Android都是可以的,不管哪個行業都存在金字塔頂端的人,如果做好的話兩者都是不錯的方向。
希望對您有所幫助!~
❸ 請問 java中"% "與 "/ "之間的區別
區別:
1、運算符上的區別
%是求模運算符
/是除運算符
2、用法上的區別
%是求余運算,即2%10=2,10%2=0,10%3=1。
/是普通的除號,即10/2=5。
(3)和java擴展閱讀:
編寫java程序的注意事項:
大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。
類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單片語成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫,例如myFirstJavaClass。
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的後綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。
主方法入口:所有的Java 程序由public static void main(String[]args)方法開始執行。
❹ Java和C的區別
Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在裡面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。
另外一個不同是,Java跨平台,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。
再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。
再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。
❺ JDK和JAVA之間有什麼關系
JDK是面向開發人員使用的SDK,它提供了Java的開發環境和運行環境。SDK是Software Development Kit 一般指軟體開發包,可以包括函數庫、編譯程序等。
❻ java中>> 和 >>>的區別,為什麼沒有<<<
一、>> 和 >>>的區別就是有無符號的區別:
右移運算符>>(有符號)
用來將一個數的各二進制位全部右移若干位.例如:a = a>>2,使a的各二進制位右移兩位,移到右端的低位被舍棄,最高位則移入原來高位的值。如:a = 00110111,則a>>2=00001101,b=11010011,則b>>2 = 11110100。
無符號右移運算符>>>
用來將一個數的各二進制位無符號右移若干位,與運算符>>相同,移出的低位被舍棄,但不同的是最高位補0,如a = 00110111,則a>>>2 = 00001101,b=11010011,則b>>>2 = 00110100。
二、沒有<<<符號沒有理由,Java的編寫規則就是這樣定的,
❼ java中+=和=+的區別
"="是賦值操作符,它的操作是把符號右邊的變數或者常量或者對象的值賦值給符號右邊的變數。
"=="是算數運算符中的一個操作符,主要用在判斷中,如if(a
==
b){...}這條語句中,a
==
b語句的意思是先比較a和b的值是否相等(java中的相等不止是有值相等,還有對象的引用相等,這在比較兩個值相等時需要注意和分清),然後返回比較的結果(只有兩張,true和false)。
❽ java 和javaWeb的區別 關系
java:一種編程語言
java web(JSP):網頁代碼
我們平常說的Java一般指Java SE,也就是Java Standard Edition,Java的標准版,一般用來開發桌面應用程序,但是在開發桌面應用程序上相對VB,Delphi,VC++並沒有什麼優勢。
JavaWeb則到了Java EE領域了,也就是Java Enterprise Edition,Java的企業版,看那個web就應該想到是與Internet有關的,其實開發JavaWeb應用程序,初級的一般是用JSP(Java Server Pages)+servlet+Javabean來開發的,對大型的網站一般是使用框架來開發的,例如struts,hibernate,spring,例如校內,你在登陸的時候會在地址欄看見Login.do,登陸以後會看見Home.do這樣的請求,典型的struts框架結構。
Java還有一個版本是JavaME,Java Micro Edition,Java的微型版,諾基亞手機上運行的Java程序就是指用這個版本開發的程序。
希望對您有所幫助!~
❾ java和javase的區別
1. Java SE(Java Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的 Java 應用程序。Java SE 包含了支持 Java Web 服務開發的類,並為 Java Platform,Enterprise Edition(Java EE)提供基礎。
2. Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為 J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程序。Java EE 是在 Java SE 的基礎上構建的,它提供 Web 服務、組件模型、管理和通信 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0 應用程序。
3. Java ME(Java Platform,Micro Edition)。這個版本以前稱為 J2ME。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和列印機)上運行的應用程序提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程序的豐富支持。基於 Java ME 規范的應用程序只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。
❿ java和java web的區別
人們平常說的Java一般指JavaSE,也就是Java Standard Edition,Java的標准版,一般用來開發桌面應用程序,但是在開發桌面應用程序上相對VB,Delphi,VC++並沒有什麼優勢。
而JavaWeb則到了JavaEE領域了,也就是Java Enterprise Edition,Java的企業版,看那個web就應該想到是與Internet有關的,其實開發JavaWeb應用程序,初級的一般是用JSP(Java Server Pages)+servlet+Javabean來開發的,對大型的網站一般是使用框架來開發的,例如struts,hibernate,spring,例如校內,你在登陸的時候會在地址欄看見Login.do,登陸以後會看見Home.do這樣的請求,典型的struts框架結構。
Java還有一個版本是JavaME,Java Micro Edition,Java的微型版,諾基亞手機上運行的Java程序就是指用這個版本開發的程序。