代码如下:
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;
}
}
说明:本题为强制类型转换,属于基本题。在把容量大的类型转换为容量小的类型时必须使用强制类型转换。容量小的类型转为容量大的自动转换。
数据类型使用细节及易错点
整型使用细节
1.Java各整型类型有固定的范围和字段长度,不受具体操作系统的影响,以保证Java程序的可移植性。
2.Java的整型常量默认为int型,声明long型常量必须后加"l"或"L".
int n1 = 1;
错误案例:
//int n2 = 1L;不能从long型转换成int型
3.Java程序中变量声明为int型,除非不足以表示大数,才使用long型。
4.bit:计算机中的最小存储单位。
byte:计算机中的基本存储单元。
1 byte = 8 bit
浮点型使用细节
1.Java的浮点型常量默认为double。
2.浮点数在机器中的存放形式:浮点数+符号位 + 指数位 + 尾数位【尾数部分可能丢失,造成精度损失(小数都是近似值)】
3.与整数类型相似,Java浮点类型也有固定的范围和字段长度,不受具体操作系统的影响。
4.浮点型常量有两种表示形式
十进制数形式:如 5.12 5.12f .512
科学计数法形式: 如 5.121e2
5.通常情况下,应该使用double型,因为它比float型更加精确。
6.浮点数使用陷阱:2.7和8.1/3的比较
字符类型(char)使用细节
1.字符常量是用单引号(’ ')括起来的单个字符。
注:如果用双引号,则表示String字符串。
2.Java中允许使用转义字符’'来将后面的字符转变位特殊字符型常量。
例如:char c = '\n' 【\n表示换行符】
3.在Java中,char本质是一个整数,在输出时,输出Unicode码对应的字符。
4.可以直接给char赋一个整数,在输出时,会按照对应的Unicode字符输出。
5.char类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码。
布尔类型使用细节
布尔类型(Boolean)数据只允许取值true和false,无null。
基本数据类型转换易错点
1.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后进行计算。
2.当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错。反之就会进行自动类型转换。
3.byte、short和char之间不会相互自动转换。
当把具体数赋给 byte 时,先判断该数是否在 byte 范围内,如果是就可以。
4.byte、short、char三者可以计算,在计算前首先转换位int类型。
5.Boolean类型不参与转换。
6.自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
强制类型转换易错点
1.当进行数据的大小【从大到小】时,就需要使用到强制转换。可能会造成精度降低或溢出。
2.强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
3.char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
4.byte和short、char类型在进行运算时,当作int类型处理。
String类型
基本数据类型转换成String类型
语法:将基本数据类型 + " "
String类型转换成基本数据类型
语法:通过基本数据类型的包装类调用parseXX方法。
字符串转字符
含义:把字符串的第一个字符取出。
结尾:
Java的学习必须是有条理、有逻辑的由浅入深。学习Java,一定要理论+实践
网友评论