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]);
}
}
}