栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【零基础 快速学Java】韩顺平 p52-59 基本数据类型转换(自动、强制)、与String类型的转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【零基础 快速学Java】韩顺平 p52-59 基本数据类型转换(自动、强制)、与String类型的转换

课程
p52-59

基本数据类型转换 自动类型转换

public class temp{
    public static void main(String[] args){
        //演示自动类型转换
        int num = 'a';
        double num2 = 50;
        System.out.println(num);
        System.out.println(num2);
        }
    }

输出:

97
50.0

注意事项和细节

  1. 多种数据类型混合运算时,系统首先自动将所有数据类型转换为容量最大的那种数据类型,再计算。
  2. 容量大的数据类型赋值给容量小的会报错(精度丢失),小赋值给大的可以(自动类型转换)。
  3. (byte,short)和char之间不会相互自动转换。
  4. byte,short,char之间可以计算,计算时首先转换为int。
  5. boolean不参与转换。
  6. 表达式结果中的类型自动提升为操作数最大的类型。

(byte,short)和char之间不会相互自动转换
(上图都不在一个赛道上)
如:

byte a = 1;//可以 是把1赋值给数据类型为byte的a
int b = 2;
byte c = b;//不可以 这是在把数据类型为int的b赋值给数据类型为byte的c
//尽管数值是可以放得下的
强制类型转换

是自动类型转换的逆过程,讲容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),可能会造成精度降低或溢出。

没有括号就会报错

int num = (int) 1.1;
System.out.println(num);

输出:

1//精度降低
int num = (byte) 129;
System.out.println(num);

输出:

-127//溢出

细节说明

即:

  1. 大变小才是
  2. 强转符号只对最近的操作数有效
  3. char可以保存int范围内的数字,但不能保存int类型的变量。
  4. byte和short运算时当作int处理

对于第三条:

char c1 = 100;
int num = 100;
char c2 = num;
System.out.println(c1);
System.out.println(c2);

c1可以赋值为100;
num已经声明为int类型,不能赋值给c2;

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

基本数据类型转字符串:
语法:讲基本数据类型+""即可

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

如:

举个例子:

public class temp{
    public static void main(String[] args){

        //基本数据类型--->String
        int num = 123;
        String numm = num + "";
        System.out.println(numm);

        //String--->基本数据类型
        //使用 基本数据类型对应的包装类 的 相应方法 得到 基本数据类型
        String s = "1234";
        String ss = "11";
        int s1 = Integer.parseInt(s);
        double s2 = Double.parseDouble(s);
        float s3 = Float.parseFloat(s);
        long s4 = Long.parseLong(s);
        byte s5 = Byte.parseByte(ss);
        boolean b = Boolean.parseBoolean("true");
        short s6 = Short.parseShort(s);

        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
        System.out.println(s4);
        System.out.println(s5);
        System.out.println(s6);
        System.out.println(b);

        }
    }

输出:

123
1234
1234.0
1234.0
1234
11
1234
true

关于如何将字符串转为char:得到String的第一个字符
用charAt(x)来得到第x位(从0开始)

public class temp{
    public static void main(String[] args){
        //用charAt(x)来得到第x位(从0开始)
        String s = "123";
        char ch = s.charAt(0);
        System.out.println(ch);
        ch=s.charAt(1);
        System.out.println(ch);
        ch=s.charAt(2);
        System.out.println(ch);
        }
    }

输出:

1
2
3

注意事项
在将String类型转换为 基本数据类型 的时候,要确保它能转换成有效的数据。
如“123”可以转换为int的123,byte的123,long的123,但不会转换为“hello”(编译可以过,但运行会终止报错)。
基本数据类型转为String没有这种问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号