java的数据类型

来源:互联网 发布:淘宝口令在哪里找到 编辑:程序博客网 时间:2024/06/06 01:40

java中的数据类型及面试题

/** * *Title: project_name *Description: java的数据类型*Makedate:2016年4月29日 下午10:17:02*@author: sunt Email:wnst1990@126.com *@version: 1.0 */public class Demo {    /**     * 1.变量:     *  基本格式:数据类型 变量名 = 初始化值     * eg: int index = 10;     * 2.java中的数据类型     *      *      * 数据类型:     *      基本数据类型:     *          整形:byte,short,int,long     *          浮点数型:float,double     *          布尔类型:boolean     *          字符型:char     *      引用数据类型:     *          字符串:类,接口,数组     * 默认类型:     *      整数的默认类型为int类型     *      小数的默认类型为:double类型     *      *       */    private void mian() {        /**         * 1.变量不能重复定义         */        int index = 12;        //int index = 20;//重复定义会报错        /**         * 2.整数的取值范围         */        //long num = 1234567891234;//超过了int的取值范围        long num = 123456789123L; //正确的定义        /**         * 3.小数默认为double类型(双精度类型)         */        //float f = 2.3;//将double类型的数值向下转型赋值给float类型,损失进度        float f = 2.3f;//正确的定义        /**         * 4.定义变量要初始化赋值         */        int y ;        //System.out.println(y);//没有初始化会报错        int x = 10;        System.out.println(x);        /**         * 5.变量的作用范围         */        int j = 10;        /**         * 6.代码中一定要用半角的英文标点符号         */        //char ch = ‘a’;//中文标点        /**         * 7.java中数据类型的转换         * 低进度-->高进度的转换:自动转换         * 高进度-->低进度的转换:强制转换         */        int x1 = 5;        byte y1 = 8;        x1 += y1;//        /**强制类型的转换:将int转换为byte类型         *向下转型          **/        byte b1 = 3;        b1 = (byte) (b1 + 12);//将int类型的数据赋值给byte类型        /**         * 8.只有数值类型才可以做数值运算         */        //System.out.println(true + 1);        /**         * 9.char类型也可以和数值类型做运算         * 首先char类型向上转型为int         */        System.out.println('你' + 1);    }    //System.out.println(j);跳出作用于的范围}

面试题

/**
*
*Title: project_name
*Description: 面试题
*Makedate:2016年4月29日 下午11:01:56
*@author: Administrator
*@version: 1.0
*/
public class Demo2 {

public static void main(String[] args) {    byte b = 4 + 9;//int类型自动向下转型为byte b = 10;    byte b1 = 4;    byte b2 = 9;    b = b1 + b2;//    System.out.println(b);    /**     *  错误原因:涉及到编译器编译程序时候的细节,之所以byteb=3+7;,没有报错,是因为3和7都是        常量,编译器知道结果是10,并且在byte范围之内,因此就自动进行了强转,所以不会报错。而b=b1        +b2;中b1和b2都是变量,编译器编译程序是一行一行编译的,它根本不知道b1和b2到底是多少,两个        byte类型的数据相加时,首先都会被提升为int类型,他们的和也是int类型,其值可能会超过byte的范        围,因此就会报错。     */}

}

“`

0 0