A. java:一個long型數據除以int型結果是long型該如何實現
long和int類型都是整數,只是最大值和最小值不一樣:
longa=10;
intb=5;
System.out.println((a/b));
B. java裡面double類型數相除
4和10都是整數int類型的,所以4/10結果也是int的,就是0,把結果賦值給double類型,才會轉換版成double,就是0.0d;若果想權得到完整的結果0.4,那就需要在除法前先將4或者10轉換成double類型
比如(double)4/10;
java中數字的運算是按照double flout long int char byte 的順序向上靠攏的,比如flout和int運算結果就是flout , 而int和int運算結果就是int,所以java中涉及數字運算的時候要注意根據你想要的結果類型對數字進行轉換
C. JAVA指令大全
指令碼
助記符
說明
0x00
nop
什麼都不做
0x01
aconst_null
將null推送至棧頂
0x02
iconst_m1
將int型-1推送至棧頂
0x03
iconst_0
將int型0推送至棧頂
0x04
iconst_1
將int型1推送至棧頂
0x05
iconst_2
將int型2推送至棧頂
0x06
iconst_3
將int型3推送至棧頂
0x07
iconst_4
將int型4推送至棧頂
0x08
iconst_5
將int型5推送至棧頂
0x09
lconst_0
將long型0推送至棧頂
0x0a
lconst_1
將long型1推送至棧頂
0x0b
fconst_0
將float型0推送至棧頂
0x0c
fconst_1
將float型1推送至棧頂
0x0d
fconst_2
將float型2推送至棧頂
0x0e
dconst_0
將double型0推送至棧頂
0x0f
dconst_1
將double型1推送至棧頂
0x10
bipush
將單位元組的常量值(-128~127)推送至棧頂
0x11
sipush
將一個短整型常量值(-32768~32767)推送至棧頂
0x12
ldc
將int, float或String型常量值從常量池中推送至棧頂
0x13
ldc_w
將int, float或String型常量值從常量池中推送至棧頂(寬索引)
0x14
ldc2_w
將long或double型常量值從常量池中推送至棧頂(寬索引)
0x15
iload
將指定的int型本地變數推送至棧頂
0x16
lload
將指定的long型本地變數推送至棧頂
0x17
fload
將指定的float型本地變數推送至棧頂
0x18
dload
將指定的double型本地變數推送至棧頂
0x19
aload
將指定的引用類型本地變數推送至棧頂
0x1a
iload_0
將第一個int型本地變數推送至棧頂
0x1b
iload_1
將第二個int型本地變數推送至棧頂
0x1c
iload_2
將第三個int型本地變數推送至棧頂
0x1d
iload_3
將第四個int型本地變數推送至棧頂
0x1e
lload_0
將第一個long型本地變數推送至棧頂
0x1f
lload_1
將第二個long型本地變數推送至棧頂
0x20
lload_2
將第三個long型本地變數推送至棧頂
0x21
lload_3
將第四個long型本地變數推送至棧頂
0x22
fload_0
將第一個float型本地變數推送至棧頂
0x23
fload_1
將第二個float型本地變數推送至棧頂
0x24
fload_2
將第三個float型本地變數推送至棧頂
0x25
fload_3
將第四個float型本地變數推送至棧頂
0x26
dload_0
將第一個double型本地變數推送至棧頂
0x27
dload_1
將第二個double型本地變數推送至棧頂
0x28
dload_2
將第三個double型本地變數推送至棧頂
0x29
dload_3
將第四個double型本地變數推送至棧頂
0x2a
aload_0
將第一個引用類型本地變數推送至棧頂
0x2b
aload_1
將第二個引用類型本地變數推送至棧頂
0x2c
aload_2
將第三個引用類型本地變數推送至棧頂
0x2d
aload_3
將第四個引用類型本地變數推送至棧頂
0x2e
iaload
將int型數組指定索引的值推送至棧頂
0x2f
laload
將long型數組指定索引的值推送至棧頂
0x30
faload
將float型數組指定索引的值推送至棧頂
0x31
daload
將double型數組指定索引的值推送至棧頂
0x32
aaload
將引用型數組指定索引的值推送至棧頂
0x33
baload
將boolean或byte型數組指定索引的值推送至棧頂
0x34
caload
將char型數組指定索引的值推送至棧頂
0x35
saload
將short型數組指定索引的值推送至棧頂
0x36
istore
將棧頂int型數值存入指定本地變數
0x37
lstore
將棧頂long型數值存入指定本地變數
0x38
fstore
將棧頂float型數值存入指定本地變數
0x39
dstore
將棧頂double型數值存入指定本地變數
0x3a
astore
將棧頂引用型數值存入指定本地變數
0x3b
istore_0
將棧頂int型數值存入第一個本地變數
0x3c
istore_1
將棧頂int型數值存入第二個本地變數
0x3d
istore_2
將棧頂int型數值存入第三個本地變數
0x3e
istore_3
將棧頂int型數值存入第四個本地變數
0x3f
lstore_0
將棧頂long型數值存入第一個本地變數
0x40
lstore_1
將棧頂long型數值存入第二個本地變數
0x41
lstore_2
將棧頂long型數值存入第三個本地變數
0x42
lstore_3
將棧頂long型數值存入第四個本地變數
0x43
fstore_0
將棧頂float型數值存入第一個本地變數
0x44
fstore_1
將棧頂float型數值存入第二個本地變數
0x45
fstore_2
將棧頂float型數值存入第三個本地變數
0x46
fstore_3
將棧頂float型數值存入第四個本地變數
0x47
dstore_0
將棧頂double型數值存入第一個本地變數
0x48
dstore_1
將棧頂double型數值存入第二個本地變數
0x49
dstore_2
將棧頂double型數值存入第三個本地變數
0x4a
dstore_3
將棧頂double型數值存入第四個本地變數
0x4b
astore_0
將棧頂引用型數值存入第一個本地變數
0x4c
astore_1
將棧頂引用型數值存入第二個本地變數
0x4d
astore_2
將棧頂引用型數值存入第三個本地變數
0x4e
astore_3
將棧頂引用型數值存入第四個本地變數
0x4f
iastore
將棧頂int型數值存入指定數組的指定索引位置
0x50
lastore
將棧頂long型數值存入指定數組的指定索引位置
0x51
fastore
將棧頂float型數值存入指定數組的指定索引位置
0x52
dastore
將棧頂double型數值存入指定數組的指定索引位置
0x53
aastore
將棧頂引用型數值存入指定數組的指定索引位置
0x54
bastore
將棧頂boolean或byte型數值存入指定數組的指定索引位置
0x55
castore
將棧頂char型數值存入指定數組的指定索引位置
0x56
sastore
將棧頂short型數值存入指定數組的指定索引位置
0x57
pop
將棧頂數值彈出 (數值不能是long或double類型的)
0x58
pop2
將棧頂的一個(long或double類型的)或兩個數值彈出(其它)
0x59
p
復制棧頂數值並將復制值壓入棧頂
0x5a
p_x1
復制棧頂數值並將兩個復制值壓入棧頂
0x5b
p_x2
復制棧頂數值並將三個(或兩個)復制值壓入棧頂
0x5c
p2
復制棧頂一個(long或double類型的)或兩個(其它)數值並將復制值壓入棧頂
0x5d
p2_x1
<待補充>
0x5e
p2_x2
<待補充>
0x5f
swap
將棧最頂端的兩個數值互換(數值不能是long或double類型的)
0x60
iadd
將棧頂兩int型數值相加並將結果壓入棧頂
0x61
ladd
將棧頂兩long型數值相加並將結果壓入棧頂
0x62
fadd
將棧頂兩float型數值相加並將結果壓入棧頂
0x63
dadd
將棧頂兩double型數值相加並將結果壓入棧頂
0x64
isub
將棧頂兩int型數值相減並將結果壓入棧頂
0x65
lsub
將棧頂兩long型數值相減並將結果壓入棧頂
0x66
fsub
將棧頂兩float型數值相減並將結果壓入棧頂
0x67
dsub
將棧頂兩double型數值相減並將結果壓入棧頂
0x68
imul
將棧頂兩int型數值相乘並將結果壓入棧頂
0x69
lmul
將棧頂兩long型數值相乘並將結果壓入棧頂
0x6a
fmul
將棧頂兩float型數值相乘並將結果壓入棧頂
0x6b
dmul
將棧頂兩double型數值相乘並將結果壓入棧頂
0x6c
idiv
將棧頂兩int型數值相除並將結果壓入棧頂
0x6d
ldiv
將棧頂兩long型數值相除並將結果壓入棧頂
0x6e
fdiv
將棧頂兩float型數值相除並將結果壓入棧頂
0x6f
ddiv
將棧頂兩double型數值相除並將結果壓入棧頂
0x70
irem
將棧頂兩int型數值作取模運算並將結果壓入棧頂
0x71
lrem
將棧頂兩long型數值作取模運算並將結果壓入棧頂
0x72
frem
將棧頂兩float型數值作取模運算並將結果壓入棧頂
0x73
drem
將棧頂兩double型數值作取模運算並將結果壓入棧頂
0x74
ineg
將棧頂int型數值取負並將結果壓入棧頂
0x75
lneg
將棧頂long型數值取負並將結果壓入棧頂
0x76
fneg
將棧頂float型數值取負並將結果壓入棧頂
0x77
dneg
將棧頂double型數值取負並將結果壓入棧頂
0x78
ishl
將int型數值左移位指定位數並將結果壓入棧頂
0x79
lshl
將long型數值左移位指定位數並將結果壓入棧頂
0x7a
ishr
將int型數值右(符號)移位指定位數並將結果壓入棧頂
0x7b
lshr
將long型數值右(符號)移位指定位數並將結果壓入棧頂
0x7c
iushr
將int型數值右(無符號)移位指定位數並將結果壓入棧頂
0x7d
lushr
將long型數值右(無符號)移位指定位數並將結果壓入棧頂
0x7e
iand
將棧頂兩int型數值作「按位與」並將結果壓入棧頂
0x7f
land
將棧頂兩long型數值作「按位與」並將結果壓入棧頂
0x80
ior
將棧頂兩int型數值作「按位或」並將結果壓入棧頂
0x81
lor
將棧頂兩long型數值作「按位或」並將結果壓入棧頂
0x82
ixor
將棧頂兩int型數值作「按位異或」並將結果壓入棧頂
0x83
lxor
將棧頂兩long型數值作「按位異或」並將結果壓入棧頂
0x84
iinc
將指定int型變數增加指定值(i++, i--, i+=2)
0x85
i2l
將棧頂int型數值強制轉換成long型數值並將結果壓入棧頂
0x86
i2f
將棧頂int型數值強制轉換成float型數值並將結果壓入棧頂
0x87
i2d
將棧頂int型數值強制轉換成double型數值並將結果壓入棧頂
0x88
l2i
將棧頂long型數值強制轉換成int型數值並將結果壓入棧頂
0x89
l2f
將棧頂long型數值強制轉換成float型數值並將結果壓入棧頂
0x8a
l2d
將棧頂long型數值強制轉換成double型數值並將結果壓入棧頂
0x8b
f2i
將棧頂float型數值強制轉換成int型數值並將結果壓入棧頂
0x8c
f2l
將棧頂float型數值強制轉換成long型數值並將結果壓入棧頂
0x8d
f2d
將棧頂float型數值強制轉換成double型數值並將結果壓入棧頂
0x8e
d2i
將棧頂double型數值強制轉換成int型數值並將結果壓入棧頂
0x8f
d2l
將棧頂double型數值強制轉換成long型數值並將結果壓入棧頂
0x90
d2f
將棧頂double型數值強制轉換成float型數值並將結果壓入棧頂
0x91
i2b
將棧頂int型數值強制轉換成byte型數值並將結果壓入棧頂
0x92
i2c
將棧頂int型數值強制轉換成char型數值並將結果壓入棧頂
0x93
i2s
將棧頂int型數值強制轉換成short型數值並將結果壓入棧頂
0x94
lcmp
比較棧頂兩long型數值大小,並將結果(1,0,-1)壓入棧頂
0x95
fcmpl
比較棧頂兩float型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將-1壓入棧頂
0x96
fcmpg
比較棧頂兩float型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將1壓入棧頂
0x97
dcmpl
比較棧頂兩double型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將-1壓入棧頂
0x98
dcmpg
比較棧頂兩double型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將1壓入棧頂
0x99
ifeq
當棧頂int型數值等於0時跳轉
0x9a
ifne
當棧頂int型數值不等於0時跳轉
0x9b
iflt
當棧頂int型數值小於0時跳轉
0x9c
ifge
當棧頂int型數值大於等於0時跳轉
0x9d
ifgt
當棧頂int型數值大於0時跳轉
0x9e
ifle
當棧頂int型數值小於等於0時跳轉
0x9f
if_icmpeq
比較棧頂兩int型數值大小,當結果等於0時跳轉
0xa0
if_icmpne
比較棧頂兩int型數值大小,當結果不等於0時跳轉
0xa1
if_icmplt
比較棧頂兩int型數值大小,當結果小於0時跳轉
0xa2
if_icmpge
比較棧頂兩int型數值大小,當結果大於等於0時跳轉
0xa3
if_icmpgt
比較棧頂兩int型數值大小,當結果大於0時跳轉
0xa4
if_icmple
比較棧頂兩int型數值大小,當結果小於等於0時跳轉
0xa5
if_acmpeq
比較棧頂兩引用型數值,當結果相等時跳轉
0xa6
if_acmpne
比較棧頂兩引用型數值,當結果不相等時跳轉
0xa7
goto
無條件跳轉
0xa8
jsr
跳轉至指定16位offset位置,並將jsr下一條指令地址壓入棧頂
0xa9
ret
返回至本地變數指定的index的指令位置(一般與jsr, jsr_w聯合使用)
0xaa
tableswitch
用於switch條件跳轉,case值連續(可變長度指令)
0xab
lookupswitch
用於switch條件跳轉,case值不連續(可變長度指令)
0xac
ireturn
從當前方法返回int
0xad
lreturn
從當前方法返回long
0xae
freturn
從當前方法返回float
0xaf
dreturn
從當前方法返回double
0xb0
areturn
從當前方法返回對象引用
0xb1
return
從當前方法返回void
0xb2
getstatic
獲取指定類的靜態域,並將其值壓入棧頂
0xb3
putstatic
為指定的類的靜態域賦值
0xb4
getfield
獲取指定類的實例域,並將其值壓入棧頂
0xb5
putfield
為指定的類的實例域賦值
0xb6
invokevirtual
調用實例方法
0xb7
invokespecial
調用超類構造方法,實例初始化方法,私有方法
0xb8
invokestatic
調用靜態方法
0xb9
invokeinterface
調用介面方法
0xba
--
0xbb
new
創建一個對象,並將其引用值壓入棧頂
0xbc
newarray
創建一個指定原始類型(如int, float, char…)的數組,並將其引用值壓入棧頂
0xbd
anewarray
創建一個引用型(如類,介面,數組)的數組,並將其引用值壓入棧頂
0xbe
arraylength
獲得數組的長度值並壓入棧頂
0xbf
athrow
將棧頂的異常拋出
0xc0
checkcast
檢驗類型轉換,檢驗未通過將拋出ClassCastException
0xc1
instanceof
檢驗對象是否是指定的類的實例,如果是將1壓入棧頂,否則將0壓入棧頂
0xc2
monitorenter
獲得對象的鎖,用於同步方法或同步塊
0xc3
monitorexit
釋放對象的鎖,用於同步方法或同步塊
0xc4
wide
<待補充>
0xc5
multianewarray
創建指定類型和指定維度的多維數組(執行該指令時,操作棧中必須包含各維度的長度值),並將其引用值壓入棧頂
0xc6
ifnull
為null時跳轉
0xc7
ifnonnull
不為null時跳轉
0xc8
goto_w
無條件跳轉(寬索引)
0xc9
jsr_w
跳轉至指定32位offset位置,並將jsr_w下一條指令地址壓入棧頂
D. 在java中的double和float類型數據相除為什麼可以除以零
java中就是這么規定的,沒有什麼為什麼,具體規定如下:
任意整數(byte、short、int、long皆可)除以回整數0結果為ArithmeticException;
0除以浮點0結果為NAN,細分的話包括以下三種情況:
(1)0/0.0
(2)0.0/0.0
(3)0.0/0
情況(3)雖然除的是個整數0,但在運算過程中發生了類型轉化變成了浮點0;
任意數(答八大基本類型皆可)除以浮點0結果為Infinity/-Infinity。
如果問為什麼會這樣,可以理解為在java中浮點數0並非一個准確值,而是一個無限接近0的數。
此外,Float.NaN!=Float.NAN,Double.NaN!=Double.NaN;但是Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY==Double.POSITIVE_INFINITY、
Float.NEGATIVE_INFINITY==Float.NEGATIVE_INFINITY==Double.NEGATIVE_INFINITY。
E. java中兩個數相除,得到的百分數怎麼求
數據的值,遠超於int long double的表示範圍了。
要用BigInteger 和BigDecimal這些大數據類型。
+——add();
System.out.println(BigInteger.valueOf(10).add(BigInteger.valueOf(5)));
- ——subtract();
System.out.println(BigInteger.valueOf(10).subtract(BigInteger.valueOf(5)));
*——multiply();
System.out.println(BigInteger.valueOf(10).multiply(BigInteger.valueOf(5)));
/——divide();
System.out.println(BigInteger.valueOf(10).divide(BigInteger.valueOf(5)));
F. java Long怎麼進行加減
直接加減就可以了,應為前幾個版本開始,java支持自動拆裝包,所以
Long a=new Long(2l);
Long b=new Long(3l);
Long c=a+b;
long d=a-b;
這樣都沒錯,但是ab不能為null ,應為 null拆包會空指針異常 一般這樣寫
Long a;
long a1=a==null?0l:a;
G. java Long除以Integer 得到的商是什麼類型
java Long除以Integer 得到的商是Long類型,報括余數都是Long類型
H. java,long型除法計算百分比,怎麼寫
比如:
Long a=12.5;
Long b=3.45;
String percent=((b/a)*100).toString+"%";
就行了;
I. JAVA Long類型可以直接用==比較嗎
這個要看具體情況,如果Long值在-128到127之間的話就可以直接比較,如果超出了這個范圍則不行。
J. java 整數相除 類型
一般是double,浮點型的;但是,當兩個操作數都是int類型時,就會捨去余數,結果是int類型的。