zoukankan      html  css  js  c++  java
  • 数据类型

    数据类型

    八大基本数据类型有对应的基本数据类型包装类(八大基本数据类型的包装类都是final修饰,不可更改)

    这有个问题:int与Integer,是不是同一种数据类型?
    答案:不是的,int为基本数据类型,Integer为包装类型(为类)

    了解一点背景:

    基本数据类型转化为其对应的数据类型的包装类,其实是装箱和拆箱的操作

    装箱:把一个基本数据类型的值转换为对应的包装类的对象

    拆箱:把一个包装类对象转换对应的基本类型

    从java5开始 提供自动装箱和拆箱。自动装箱:可以直接把一个基本数据类型的值赋给包装类。自动拆箱:同理
    事实上,自动装箱和拆箱是一个“语法糖”,只是编译器级别的新特性,其底层依然使用的是手动装箱和拆箱

    //装箱
    int abc = 17;
    Integer num1 = Integer.valueOf(abc);
    //拆箱
    int num2 = num.intValue();

     同时,我们可以自己设计包装类

    //设计包装类
    class IntWapper{
        private int value;//被包装的int值
        
        //设定的最大值 最小值
        public static final int MAX_VALUE = 34445556;
        public static final int MIN_VALUE = -34445556;
        
        //构造器
        public IntWapper(int value) {
            this.value = value;
        }
        
        public String toBinaryString(int value) {
            //计算(省略)
            return "010101";
        }
    }

     数据类型的转化(这里介绍String类型的相关转化)

            //1.String类型转化为包装类型的两种方法 例如:
            String str1 = "12233";
            Double i1 = new Double(str1);
            Double i2 = Double.valueOf(str1);
            
            System.out.println("--------------------------------");
            
            //2.包装类转化成String类型
            Long num2 = 123L;
            String str2 = num2.toString();//或者String str2 = String.valueOf(num2);
            System.out.println(str2);
            System.out.println(str2.length());//此处能够得到字符串的长度,证明已经转化为字符串了
            
            System.out.println("--------------------------------");
            
            //3.基本数据类型转化为String类型,(1)利用二目运算符"+"隐式转化,任何基本类型与字符串相加都变成字符串。 
    //(2)利用显示的方法是n.toString()或String.valueof(n)
    String str3 = 17 + ""; System.out.println(str.length()); int num1 = 0; String str4 = String.valueOf(num1); System.out.println(str3); System.out.println(str4); System.out.println("--------------------------------"); //4.String类型转换为基本数据类型 /* * 注意: * String类型转换成int double等数据类型,其数据必须由数字构成 * 若有字母或者其他符号,则程序会报错 */ String str5 = "1234"; int num3 = Integer.parseInt(str5); System.out.println(num3);
    //非常少见的
            //String类型转化成boolean类型
            String str6 = "false";
            boolean nn = Boolean.parseBoolean(str6);
            System.out.println(nn);
                    
            System.out.println("-------------------------");
                    
            
            //String类型转化为char类型
            //需要用char类型的数组进行接收
    String str7 = "cc";
            char[] oo = str7.toCharArray();
            for(int j = 0 ; j < oo.length ; j++) {
                System.out.println(oo[j]);
            }

            String c = "12345";
            String d = "10";
            String e = c + d;
            System.out.println(e);//输出:1234510
            
            System.out.println("--------------------------------");
            
            int f = 10;
            String g = f + c;
            System.out.println(g);//输出:1012345
            
            int ii = Integer.parseInt(c);
            int top = 10 + ii;
            System.out.println(top);//输出:12355
    坚持学习,永远年轻,永远热泪盈眶
  • 相关阅读:
    使用@ConditionalOnProperty注解
    Java注解Annotation与自定义注解详解
    Windows下使用service.bat安装tomcat服务, 启动停止tomcat服务
    Tomcat启动异常 java.net.BindException: Cannot assign requested address: JVM_Bind
    tomcat部署应用仅需ip和port访问
    dwr.jar简介
    Hibernate3 jar包的作用[转]
    org.springframework.orm.hibernate3.LocalSessionFactoryBean
    <iframe>和<frame>区别
    ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession()
  • 原文地址:https://www.cnblogs.com/jiang0123/p/11291111.html
Copyright © 2011-2022 走看看