欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 学习日志05 java

学习日志05 java

2025/5/14 23:17:16 来源:https://blog.csdn.net/AYheyheyhey/article/details/147914570  浏览:    关键词:学习日志05 java

1 java里面的类型转换怎么做?int转double为例

在 Java 里,把int转换为double有自动类型转换和强制类型转换两种方式。下面为你详细介绍:

自动类型转换(隐式转换)

由于double的取值范围比int大,Java 能够自动将int类型转换为double类型,无需编写额外的代码。

java

int numInt = 10;
double numDouble = numInt; // 自动转换
System.out.println(numDouble); // 输出:10.0

强制类型转换(显式转换)

虽然在这种场景下强制类型转换并非必需,但你也可以通过它来明确表明要进行类型转换。

java

int numInt = 10;
double numDouble = (double) numInt; // 强制转换(这里其实可以省略)
System.out.println(numDouble); // 输出:10.0

常见应用场景

1. 基本数据类型转换

java

int a = 5;
int b = 2;
double result = a / b; // 输出2.0,因为a/b先进行整数除法
double correctResult = (double) a / b; // 输出2.5,先将a转为double
2. 方法参数传递时的转换

java

public static void printDouble(double value) {System.out.println(value);
}int num = 20;
printDouble(num); // 自动转换为double类型

注意事项

  1. 精度问题int转换为double不会造成精度损失,因为double的精度更高。
  2. 性能方面:类型转换的开销极小,在大多数情况下无需担心性能问题。
  3. 整数除法:若要进行浮点数除法,需先把其中一个操作数转换为double类型。

2 保留4位小数

// 使用printf进行格式化输出,保留4位小数System.out.printf("%.4f", sum);

 3 Integer.parseInt() 

Integer.parseInt() 是 Java 中用于将字符串转换为整数的静态方法。当你从用户输入(如 Scanner 读取的内容)获取数字时,输入通常是字符串类型,但程序可能需要将其作为整数进行计算,这时就需要使用该方法进行类型转换。

基本用法

java

int num = Integer.parseInt("123");  // 将字符串 "123" 转换为整数 123

参数要求:

  • 输入的字符串必须是纯数字格式(可以包含正负号),否则会抛出 NumberFormatException
  • 例如:"123""-456" 是合法的,但 "123a""1,000"" 123 "(含空格)会报错。

常见场景

1. 从用户输入中读取整数

java

Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();  // 用户输入 "15"
int age = Integer.parseInt(input);  // 转换为整数 15
2. 处理字符串数组中的数字

java

String[] parts = {"tom", "15", "male"};
int age = Integer.parseInt(parts[1]);  // 将 "15" 转换为 15

异常处理

如果输入的字符串格式不合法,会抛出 NumberFormatException。建议使用 try-catch 捕获异常:

java

try {int num = Integer.parseInt("abc");  // 抛出异常
} catch (NumberFormatException e) {System.out.println("输入格式错误:" + e.getMessage());
}

拓展用法

1. 处理带空格的字符串

java

String str = "  123  ";
int num = Integer.parseInt(str.trim());  // 先使用 trim() 去除空格
2. 转换不同进制的字符串

可以指定第二个参数表示进制(如 2 进制、16 进制):

java

int binary = Integer.parseInt("101", 2);  // 二进制 "101" → 十进制 5
int hex = Integer.parseInt("FF", 16);     // 十六进制 "FF" → 十进制 255

注意事项

  1. 范围限制:转换后的整数必须在 int 的取值范围(-2,147,483,648 到 2,147,483,647)内,否则会抛出异常。

    java

    // 超出 int 范围,报错
    int num = Integer.parseInt("2147483648");  
    
  2. 浮点数字符串:不能直接转换,需先处理小数点。

    java

    // 错误:非纯数字格式
    int num = Integer.parseInt("3.14");  // 正确做法:先转换为 double,再取整
    double d = Double.parseDouble("3.14");
    int num = (int) d;  // 结果为 3
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词