關(guān)于java有趣的代碼 java一些有趣的代碼

一段有意思的java代碼請大家解釋~

原理很簡單,因?yàn)樵趈ava中,int是占4個(gè)字節(jié)大小,double占8個(gè)字節(jié)的大小,當(dāng)你把某變量乘以2的時(shí)候,在計(jì)算機(jī)里面的處理方式是左移一位。當(dāng)使用浮點(diǎn)數(shù)進(jìn)行乘法運(yùn)算時(shí),若結(jié)果很大,會以科學(xué)計(jì)數(shù)法表示。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的萊陽網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

下面具體分析:

1、表達(dá)式0x7FFFFFFF == (int)(0x7FFFFFFF * 2.0)

0x7FFFFFFF 已經(jīng)占了4個(gè)字節(jié),也就是int型的最大范圍,以二進(jìn)制表示出來為01111111 11111111 11111111 11111111

0X7FFFFFFF*2.0 計(jì)算出來的結(jié)果為double型,那么結(jié)果將會以科學(xué)計(jì)數(shù)法來表示,也就是4.294967294E9, 以二進(jìn)制表示為0 11111111 11111111 11111111 11111110,以16進(jìn)制表示為0xFF FF FF FE,注意,這里的計(jì)算結(jié)果并沒有超出double的范圍8字節(jié)。

(int)(0x7FFFFFFF * 2.0) 在上面已經(jīng)看到0x7FFFFFFFF的二進(jìn)制表示為01111111 11111111 11111111 11111111乘以2就表示左移一位,結(jié)果為0 11111111 11111111 11111111 11111110 (注意,這個(gè)數(shù)并未超出8字節(jié)的范圍)然后再把結(jié)果強(qiáng)制轉(zhuǎn)換為int型,也就是從最高位開始向下取4個(gè)字節(jié),因此最后一位的0被丟棄(取double的最大值,因此丟棄最低位),最后結(jié)果以二進(jìn)制表示為01111111 11111111 11111111 11111111,以16進(jìn)制表示為0x7F FF FF FF,可以看到與0x7FFFFFFFF的相同,因此第一個(gè)表達(dá)式0x7FFFFFFF == (int)(0x7FFFFFFF * 2.0)反回true。

2、表達(dá)式(int)(0x7FFFFFFF * 2.0) == (int)(0x7FFFFFFF * 2)

(int)(0x7FFFFFFF * 2.0)這部分的結(jié)果在上面介紹過了,這里就不用介紹了,結(jié)果還是為0x7F FF FF FF。

(int)(0x7FFFFFFF * 2) 其中0x7FFFFFFF*2表示把0x7FFFFFFF左移一位,其二進(jìn)制結(jié)果為0 11111111 11111111 11111111 11111110,因?yàn)樽詈鬄閕nt型,計(jì)算結(jié)果超出4個(gè)字節(jié),因此最高位的0被丟棄(int型的計(jì)算是拋棄最高位),結(jié)果為11111111 11111111 11111111 11111110,以16進(jìn)制表示為0xFF FF FF FE與0x7FFFFFFF不相同,因此結(jié)果為false。

要注意,在計(jì)算機(jī)中數(shù)值是以補(bǔ)碼的形式表示的(包括以上的計(jì)算結(jié)果全都是以補(bǔ)碼表示的),補(bǔ)碼知識不作介紹,這里只要知道,正數(shù)的被碼就為原來的正數(shù),而負(fù)數(shù)的補(bǔ)碼為符號位不變,其余各位按位取反再加1。因此0xFF FF FF FE除符號位不變(在java中int型最高位為符號位),其余各位取反再加1,結(jié)果為10000000 00000000 00000000 00000010最后結(jié)果為-2,以16進(jìn)制表示為0x80 00 00 02,因此使用print輸出該數(shù),則為-2,并不為0xFF FF FF FE的十進(jìn)制數(shù)值。

3、表達(dá)式0x7FFFFF * 2.0== (int)(0x7FFFFF * 2)

因?yàn)閮蓚€(gè)數(shù)字計(jì)算的結(jié)果都沒有出現(xiàn)超出int型的4個(gè)字節(jié)的情況,因此計(jì)算結(jié)果相同,這個(gè)就不介紹了,相信你應(yīng)該明白了。

好了,現(xiàn)在相信你應(yīng)該明白了

求一個(gè)簡單又有趣的JAVA小游戲代碼

具體如下:

連連看的小源碼

package Lianliankan;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數(shù)組

JButton exitButton,resetButton,newlyButton; //退出,重列,重新開始按鈕

JLabel fractionLable=new JLabel("0"); //分?jǐn)?shù)標(biāo)簽

JButton firstButton,secondButton; //

分別記錄兩次62616964757a686964616fe59b9ee7ad9431333335326239被選中的按鈕

int grid[][] = new int[8][7];//儲存游戲按鈕位置

static boolean pressInformation=false; //判斷是否有按鈕被選中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標(biāo)

int i,j,k,n;//消除方法控制

代碼(code)是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。

對于字符和Unicode數(shù)據(jù)的位模式的定義,此模式代表特定字母、數(shù)字或符號(例如 0x20 代表一個(gè)空格,而 0x74 代表字符“t”)。一些數(shù)據(jù)類型每個(gè)字符使用一個(gè)字節(jié);每個(gè)字節(jié)可以具有 256 個(gè)不同的位模式中的一個(gè)模式。

在計(jì)算機(jī)中,字符由不同的位模式(ON 或 OFF)表示。每個(gè)字節(jié)有 8 位,這 8 位可以有 256 種不同的 ON 和 OFF 組合模式。對于使用 1 個(gè)字節(jié)存儲每個(gè)字符的程序,通過給每個(gè)位模式指派字符可表示最多 256 個(gè)不同的字符。2 個(gè)字節(jié)有 16 位,這 16 位可以有 65,536 種唯一的 ON 和 OFF 組合模式。使用 2 個(gè)字節(jié)表示每個(gè)字符的程序可表示最多 65,536 個(gè)字符。

單字節(jié)代碼頁是字符定義,這些字符映射到每個(gè)字節(jié)可能有的 256 種位模式中的每一種。代碼頁定義大小寫字符、數(shù)字、符號以及 !、@、#、% 等特殊字符的位模式。每種歐洲語言(如德語和西班牙語)都有各自的單字節(jié)代碼頁。

雖然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代碼頁中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代碼頁中卻不同。如果在運(yùn)行不同代碼頁的計(jì)算機(jī)間交換數(shù)據(jù),必須將所有字符數(shù)據(jù)由發(fā)送計(jì)算機(jī)的代碼頁轉(zhuǎn)換為接收計(jì)算機(jī)的代碼頁。如果源數(shù)據(jù)中的擴(kuò)展字符在接收計(jì)算機(jī)的代碼頁中未定義,那么數(shù)據(jù)將丟失。

如果某個(gè)數(shù)據(jù)庫為來自許多不同國家的客戶端提供服務(wù),則很難為該數(shù)據(jù)庫選擇這樣一種代碼頁,使其包括所有客戶端計(jì)算機(jī)所需的全部擴(kuò)展字符。而且,在代碼頁間不停地轉(zhuǎn)換需要花費(fèi)大量的處理時(shí)間。

給段最簡單的java代碼 讓我新手看一下

最簡單的java代碼肯定就是這個(gè)了,如下:

public class MyFirstApp

{

public static void main(String[] args)

{

System.out.print("Hello world");

}

}

“hello world”就是應(yīng)該是所有學(xué)java的新手看的第一個(gè)代碼了。如果是零基礎(chǔ)的新手朋友們可以來我們的java實(shí)驗(yàn)班試聽,有免費(fèi)的試聽課程幫助學(xué)習(xí)java必備基礎(chǔ)知識,有助教老師為零基礎(chǔ)的人提供個(gè)人學(xué)習(xí)方案,學(xué)習(xí)完成后有考評團(tuán)進(jìn)行專業(yè)測試,幫助測評學(xué)員是否適合繼續(xù)學(xué)習(xí)java,15天內(nèi)免費(fèi)幫助來報(bào)名體驗(yàn)實(shí)驗(yàn)班的新手快速入門java,更好的學(xué)習(xí)java!

網(wǎng)頁標(biāo)題:關(guān)于java有趣的代碼 java一些有趣的代碼
本文來源:http://muchs.cn/article18/ddciogp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、Google、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)