java的和
『壹』 java中的>>>和>>有什麼不同啊、
《Thinking In Java》裡面是這樣說的:
>> 是 有符號的 右移 操作符。
符號為正,高位插入 0
符號為負,高位插入 1
>>> 是 無符號的 右移 操作符。
不管符號為啥,高位插入0
希望我的回答對你有幫助!歡迎採納。
『貳』 java中&和&&的區別
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中+=和=+的區別
"="是賦值操作符,它的操作是把符號右邊的變數或者常量或者對象的值賦值給符號右邊的變數。
"=="是算數運算符中的一個操作符,主要用在判斷中,如if(a
==
b){...}這條語句中,a
==
b語句的意思是先比較a和b的值是否相等(java中的相等不止是有值相等,還有對象的引用相等,這在比較兩個值相等時需要注意和分清),然後返回比較的結果(只有兩張,true和false)。
『伍』 java 中|| 和 && 這類的符號都表示什麼
&&和||是一種邏輯運算符,&&是邏輯與,當兩個數都為真,則結果為真。||是邏輯或,兩個數任意一個為真,則結果為真。
舉個例子:
1、a && b
當a、b都為真時,結果為真。有一個為假或者都為假時結果為假。
2、a || b
當a、b有一個為真時,結果為真。a、b都為假時結果為假。
(5)java的和擴展閱讀:
在java中還有其他的邏輯符號,比如:!、|、 &
「!」是非運算符號,比如a為真,則!a則為假。a如果為假,則!a為真。
而「|」也是邏輯或,「&」也是邏輯與,但是他們與「||」和「&&」有些區別,區別如下:
「&」與「|」無論第一個判斷條件是否成立,邏輯運算符前後兩個條件都會進行判斷。
「&&」與「||」,前者第一個條件不成立,後面的條件均不進行判斷,返回false;後者第一個條件成立,後面的條件均不進行判斷,返回true。
『陸』 在java中=和==的區別
Java中=是賦值運算,
而==判斷值是否相等,
===是判斷的是值及類型是否完全相等,而===只在JavaScript中有
比如
a=b 就是把b的值賦予給a;
a==b 就是判斷a等於b
1.下面是判斷==運算符比較的兩個值是否相等的判斷條件:
1.如果兩個值具有相同的類型,那麼就檢測它們的等同性。如果這兩個值完全相同,它們就相等。如果它們不完全相同,則它們不相等。
2.如果兩個值的類型不同,它們仍然可能相等。用下面的規則和類型轉換來檢測它們的相等性:
01.如果一個值是null,另一個值是undefined,它們相等。
02.如果一個值是數字,另一個值是字元串,把字元串轉換為數字,再用轉換後的值進行比較。
03.如果一個值為true,將它轉化為1,再進行比較。如果一個值為false,把它轉化為0,再進行比較。
04.如果一個值是對象,另一個值是數字或字元串,將對象轉換成原始類型的值,再做比較。可以使用對象的toString()方法或 valueOf()方法把對象轉化成原始類型的值。JavaScript核心語言的內部類通常先嘗試valueOf()方法轉換,再嘗試toString()方法轉換,但是對於Date類,則先執行toString()方法再執行valueOf()方法轉換。不屬於JavaScript核心語言的對象則可以採用 JavaScript實現定義的方式把自身轉換成原始數值。
05.其他的組合,不相等。
2.下面是判斷===比較的兩個值是否相等的判斷條件:
1.如果兩個值的類型不同,它們就不相同。
2.如果兩個值是數字,而且值相同,除非其中一個或兩個都是NaN(這種情況它們不是等同的),否則它們是等同的。值NaN永遠不會與其他任何值等同,包括它自身,要檢測一個值是否是NaN,可以使用全局函數isNaN()。
3.如果兩個值都是字元串,而且在字元串中同一位置上的字元完全相同,那麼它們就完全等同。如果字元串的長度或內容不同,它們就不是等同的。
4.如果兩個值都是布爾型true,或者兩個值都是布爾型false,那麼它們等同。
5.如果兩個值引用的是同一個對象、數組或函數,那麼它們完全等同。如果它們引用的是不同的對象(數組或函數),它們就不完全等同,即使這兩個對象具有完全相同的屬性,或兩個數組具有完全相同的元素。
6.如果兩個值都是null或都是undefined,它們完全相同。
希望對您有所幫助!~
『柒』 java中&和&的區別
& 是位運算符,就是兩個二進制位同時等於1,結果才等於1
1 & 1 == 1
而
0 & 1 == 0
&& 是關系運算符,就是兩個值同時為真,結果才為真
true && true == true
而
false && true == false
『捌』 Java中的>=和>的區別
比如:X>=3,表示大於等於三的數字都符合,比如3,4,5都可以
y>3表示大於三的數字彩符合,比如4,5,沒有3
『玖』 java != 和 &&! 區別
publicstaticvoidmain(String[]args){
for(inti=0;i<=100;i++){
if((i%3==0||i%5==0)&&!(i%3==0&&i%5==0)){
// if(i%3==0||i%5==0){
// if((i%15!=0))
// if(!(i%3==0&&i%5==0))
System.out.println(i);
}
}
}