java實數
『壹』 java怎麼取實數中的小數部分
首先樓上那兩位對於普通的使用場景來說基本是正確的。但是在一些需要精確結果的場景中(比如貨幣金額計算),double就會有問題了,比如:
(int)1023.99999999999999=1024;
再比如:
doublen1=0.03;
doublen2=0.02;
doublen3=n1-n2;
System.out.println(n3);//0.009999999999999998
所以如果需要精確安全的操作的話,需要用到這個類:java.math.BigDecimal
調用它的divideAndRemainder方法來進行計算,該計算可以理解為:進行一次保留余數的除法運算。結果會返回一個BigDecimal類型且長度為2的數組,0下標的元素是該計算的商,1下標的元素是該結果的余數。
BigDecimaln4=newBigDecimal("1023.99999999999999");
BigDecimal[]result=n4.divideAndRemainder(BigDecimal.valueOf(1));
System.out.println(result[1].toString());//0.99999999999999
注意,構造BigDecimal對象的時候我使用的是字元串String類型的「1023.99999999999999
」,如果直接寫1023.99999999999999的話會被認為是double類型的數,然後double類型的該值為1024.0,所以給字元串類型的值可以保證BigDecimal對象接收到的數就准確無誤是我們心裡想的數。
『貳』 java中長整型定義
java整型有四種分貝是:byte(1位元組)、short(2位元組)、int(4位元組)、long(8位元組)
0x100080000000超出范圍,其實不是long不能保存這么大,而是這個數是個int型數。它超出的其實是int的范圍(The literal 0x100080000000 of type int is out of range),在整數賦值時。
可以將賦值語言修改如下,指定它的類型為long型就可以了:
long y=0x100080000000l;//
(2)java實數擴展閱讀
java整形與長整型之間的轉換可以藉助Long類或字串
1、藉助Long類:
int new_a = new Long(a).intValue();
2、藉助字串:
int new_a = Integer.parseInt(String.valueOf(y));
java整形、長整型、浮點型 邊界值:
int型邊界最大值:Integer.MAX_VALUE
int型邊界最小值:Integer.MIN_VALUE
long型邊界最大值:Long.MAX_VALUE
long型邊界最小值:Long.MIN_VALUE
float型邊界最大值:Float.MAX_VALUE
float型邊界最小值:Float.MIN_VALUE
『叄』 java中判斷輸入的數是實數還是 整數
//整數
publicstaticbooleanisInt(Stringinput){
returninput.matches("\d+");
}
//實數
publicstaticbooleanisFloat(Stringinput){
returninput.matches("\d+\.\d*");
}
『肆』 java中的整數是什麼意思包括什麼只是int類型嗎
1、整數並不只是int,還包含short、long、byte,另外,char可以直接強制類型轉換為整數,它代表的是回unicode編碼(0-65535)。答
2、int代表32位整數(含負數),所以范圍是-2的31次方到2的31次方-1,short是16位,long是64位,byte是8位。
3、位數多少不論,都可以進行強制類型轉換,但是如果數字超出極限范圍,會報異常。
『伍』 JAVA鍵盤上輸入10實數,求最大數
第一種情況(對已有的值做判斷):
public class lianxi{//定義類
public static void main(String[] args){ //主方法
int[] list1={2,4,6,1,9,7,10,25,12,8}; //創建數組
int aa=0; //定義變數,用於存儲最大值
for(int i=0;i<list1.length;i++){ //用 for循環遍歷數組
if(aa<list1[i]){ //如果數組大於變數
aa=list1[i]; //替換變數值
}
}
System.out.println(aa); //輸出最後的變數,也就是最大值
}
}
//輸出後就是最大值;
第二種情況:(對輸入的值做判斷)
import java.util.ArrayList; //寫代碼的時候eclipse會自動導入包
import java.util.List;
import java.util.Scanner;
public class lianxi { // 定義類
public static void main(String[] args){ // 主方法
Scanner s=new Scanner(System.in); // 接收輸入信息
List<Integer> list1=new ArrayList<Integer>(); // 創建列表
int count=0; // 定義計數器
while(true) { // 創建while循環
count++; // 每運行一次,計數器+1
if(count<11) { // 如果計數器小於等於10次
list1.add(s.nextInt()); // 把接收到的輸入內容添加到列表中
}else { // 否則(計數器到10次)
break; // 結束循環
}
}
int bb=0; //定義變數,用於存儲最大值
for(int i=0;i<list1.size();i++) { // 用 for循環遍歷列表
if(bb<list1.get(i)) { // 如果列表元素大於變數bb
bb=list1.get(i); // 變數值替換為列表元素
}
}
System.out.println(bb); // 輸出最後的元素,也就是最大值
}
}
//輸出後就是最大值;
『陸』 Java中輸入兩個實數,求乘積,定義變數類型是
實數的定義:是有理數和無理數的總稱。
因此必須用到小數,所以需要定義的類型是浮點數
推薦:double類型
『柒』 java里的浮點數是什麼意思
與表示整數的整型不同,浮點型代表的是實數,其實就是包含小數的部分。我們也知道現實世界中是由很多復雜的數據的,所以需要這種表示實數的數據類型的支持。
一、浮點型常量 Java的實常數有兩種表示形式:十進制數形式,由數字和小數點組成,且必須有小數點,如0.123, .123, 123. ,123.0 。 2.科學計數法形式。如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須為整數。 實常數在機器中佔64位,具有double型的值。對於float型的值,則要在數字後加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
二、浮點型變數 浮點型變數的類型有float和double兩種。數據類型所佔位數的范圍: float 32位 3.4e-038~3.4e+038 ; double 64位 1.7e-308~1.7e+308 ; 雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
三、浮點型變數定義舉例 float f; //指定變數f為float型 double d; //指定變數d為double型 與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性
『捌』 JAVA,兩整數相除如何得到實數
正確答案就是2.0 上機執行過了 「給個兩數(「sum=sum+(i-1)/t;
」)得到實數的辦法~~」啥意思??只要被除數或除數有一個是實數的話,記過就是 實數。
『玖』 用JAVA編寫一個程序,計算並輸出這些實數之和。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DoubleSum implements ActionListener {
public JFrame f;//
public JTextField tf;
public JLabel LB;
public DoubleSum() {
f = new JFrame("實數求和");
f.setSize(300,200);
f.setLayout(new FlowLayout());
tf = new JTextField(10);
LB = new JLabel("和為:");
f.add(tf);
f.add(LB);
f.setVisible(true);
tf.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
String[] str = tf.getText().split(" ");
Double sum = 0.0;
for(int i = 0 ;i <str.length;i++) {
sum += Double.valueOf(str[i]);
}
LB.setText("和為:"+sum);
}
public static void main(String args[]) {
new DoubleSum();
}
}
『拾』 java定義一個實數數組用來存放學生成績
主要是下標做了,記住數組是用0開始,現在調通了
import java.util.Scanner;
public class Admin {
public static void main(String... args) {
Scanner reader = new Scanner(System.in);
System.out.println("輸入用戶個數:");
int score = reader.nextInt();
double score1[] = new double[score];
System.out.println("輸入用戶成績:");
for (int i = 0; i < score1.length; i++) {
double s = reader.nextDouble();
score1[i] = s;
}
System.out.println("輸入查找學生");
int n = reader.nextInt();
if (n == score) {
System.out.println("第" + score + "學生成績是:" + score1[score - 1]);
}
}
}