Java基础知识3(学习笔记)

上一次主要讲了基本数据类型的相关知识点,今天我们接着讲,现在存的知识点有很多了,如果一味的学习,不敲代码,不复习,最终还是事倍功半。

本节目录

目录

前言

一、基本数据类型的转换

1.自动类型转换

2.强制类型转换

3.基本数据类型和String类型的转换

作业练习:

总结



前言

今天继续上一次的写,上一次写完基本数据类型了。

一、基本数据类型的转换

1.自动类型转换

(1).介绍:

自动类型转换:当Java程序在进行赋值或者运算时,精度小的类型自动转换成精度大的数据类型。

(2).数据类型按精度(容量)大小顺序(规则,背诵)

注意:方向不可逆

看一个示例:

         

(3).自动类型转换注意和细节

①细节1: 有多种数据类型的数据混合运算时

    //系统首先自动将所有数据转换成容量大的

    //那种数据类型,然后再计算

比如:

public class Test01 {
    public static void main(String[] args){
        int num1 = 10;
        double num2 = num1 + 1.1;
        System.out.println(num2);
    }
}

输出:11.1

②细节二: 当我们把精度(容量)大的数据类型,赋值给精度(容量)小的数据类型就会报错。

    //反之就会进行自动类型转换

错误示例:

public class Test01 {
    public static void main(String[] args){
        int num1 = 10.0;
        System.out.println(num1);
    }
}

③细节三:当把具体整数赋值给byte时,系统会先判断这个整数是否在-128到127的范围内

        //如果是,就可以。

public class Test01 {
    public static void main(String[] args){
        byte num1 = 10;
        byte num2 = 257;
        System.out.println(num2);
    }
}

④细节四:(byte,short)和char 不能进行自动类型转换

public class Test01 {
    public static void main(String[] args){
        char num1 = 97;
        byte num2 = num1;
        short num3 = num1;
    }
}

⑤细节五:byte char short三者之间可以运算,在计算时首先转换成int类型(只要出现他们中的一个或者多个 ,运算时其精度就会自动转换为int类型)

⑥细节六:boolean类型不能参与转换

⑦细节七:自动提升原则:表达式结果的数据类型自动提升为 操作数中最大的类型。

2.强制类型转换

(1)基本使用,介绍

自动类型转换的逆过程,将容量大的数据类型转换成容量小的数据类型,使用时要加上强制类型转换符() ,但可能造成精度降低或者溢出,要格外注意。

public class Test01 {
    public static void main(String[] args){
        //精度降低
      int num1 = (int)1.9;
      System.out.println(num1);
      //精度溢出,比较严重
        int num2 = 2000;
        byte num3 = (byte)num2;
        System.out.println(num3);
    }
}

(2)细节

①当进行数据类型的大小比较为 :从大-->小 ,就需要用到强制类型转换

②强制类型转换符号 () 只针对于最近的操作数有效,往往会使用小括号提高优先级。

(3) char 类型可以保存 .int的常数值,但不能保存int 类型的变量值,需要强转(4)byte,short和char 类型在进行运算时,当做int类型处理。

3.基本数据类型和String类型的转换

(1)基本数据类型向String类型的转换

语法:将基本类型的值 + ""即可。

eg:char n2 = 97------>String str1 =n2 +"";

(2)String类型向基本数据类型的转换

语法:通过基本数据类型的包装类调用 parseXX方法即可

String n6 ="123";
    int num1 = Integer.parseInt(n6);
    double num2 = Double.parseDouble(n6);
    float num3 = Float.parseFloat(n6);
    long num4 = Long.parseLong(n6);
    byte num5 = Byte.parseByte(n6);
    boolean num6 = Boolean.parseBoolean("true");
    short num7 = Short.parseShort(n6);

(4)注意事项:

①在将String类型转成 基本数据类型时,要确保String类型能够转换成有效的数据,比如 

我们可以把“123”转换为一个整数,但是不能把"hello"转换成一个整数,即:得确保能够转换时,才能使用String类型转换成数据类型

public class Test01 {
    public static void main(String[] args){
String str = "hello";
int num1 = Integer.parseInt(str);
System.out.println(num1);
    }
}

②如果格式不正确,就会抛出异常,程序就会终止,如上图所示。

作业练习:


总结

这一节主要讲解了数据类型转换相关的知识点,下一节我们将会讲到有关运算符的知识点,加油,万丈高楼平地起。

  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值