1 类型转换
- 描述:
设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型- 输入描述:
随机double类型变量- 输出描述:
转化后的int类型变量- 示例
输入:123.45
输出: 123
题解思路:
这里需要用到java数据类型转换思路:
Java数据类型按照取值范围的大小排序,从小到大依次为:
操作符“=”进行赋值运算,这是使用最频繁的操作符。在表达式“target=source”中,当变量target和变量source的数据类型不一致,如何赋值呢?如果source的数据类型的取值范围小,target的数据类型的取值范围大,就可以直接进行赋值,例如:
byte source=1;
int target=source; //合法
如果source的数据类型的取值范围大,target的数据类型的取值范围小,就不允许直接进行赋值,而是要进行强制类型的转换。例如:
int source=1;
byte target=(byte)source; //合法
byte result=source; //非法
总结:
在Java中,有多种数据类型之间的转换方法,下面介绍几种常用的类型转换方法。
**1. 自动类型转换:**当两种数据类型可以兼容时,Java会自动将其中的一种类型转换成另一种类型。
例如,将int类型赋值给double类型,Java会自动将int类型转换为double类型。
**2. 强制类型转换:**当两种数据类型不兼容时,需要使用强制类型转换。强制类型转换可以将一个大的数据类型转换为一个小的数据类型,但可能会导致精度丢失。
例如,将double类型强制转换为int类型,可能会导致小数部分被截断。
语法:目标类型 变量名 = (目标类型) 原始值;
**3. 字符串转换:**Java中可以使用一些方法将字符串转换为其他数据类型,或将其他数据类型转换为字符串。
例如,将一个字符串转换为int类型,可以使用
Integer.parseInt()方法
;
将一个int类型转换为字符串,可以使用String.valueOf()方法
。
例如,将字符串"123"转换为int类型:String str = "123"; int num =Integer.parseInt(str); ```
**4. 包装类转换:**Java中的包装类可以将一个基本数据类型转换为一个对象,或将一个对象转换为一个基本数据类型。
例如,将int类型转换为Integer对象,可以使用
Integer.valueOf()
方法;
将Integer对象转换为int类型,可以使用intValue()方法
。
例如,将int类型的值1转换为Integer对象:int num = 1; Integer obj = Integer.valueOf(num); ```
题解
思路一:直接使用强制类型转换
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double d = scanner.nextDouble();
System.out.println(Main.typeConversion(d));
}
public static int typeConversion(double d){
//write your code here......
return (int)d;
}
}
思路二:使用字符串转换
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double d = scanner.nextDouble();
System.out.println(Main.typeConversion(d));
}
public static int typeConversion(double d){
//write your code here......
String str = String.valueOf(d);
String substring = str.substring(0, str.lastIndexOf("."));
return Integer.valueOf(substring).intValue();
}
}
显然这个题直接使用强制类型转换比较简单通俗易懂,不过也需要掌握其他七种方法的操作与使用!!!