【刷题学习Java】Java基本数据类型的易错点

代码如下:

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,一定要理论+实践

你可能感兴趣的:(【刷题学习Java】Java基本数据类型的易错点)