• 第四节(基本类型的转换)


    /*
        关于Java语言中的整形数据:
        
        byte  1byte(8bit) -128 ~ 127
        short 2byte
        int   4byte
        long  8byte
        
        整数型有三种表示方式
        1. 十进制
        2. 八进制 以0开头
        3. 十六进制 以0x开头
        
    */
    public class DataTypeTest01{
        
        public static void main(String[] args){
        
            // 十进制
            int i = 10; // 常用类型
            
            // 八进制
            int j = 010;
            
            // 十六进制
            int k = 0x10;
            
            System.out.println("i = "+i);
            System.out.println("j = "+j);
            System.out.println("k = "+k);
            
            // 将一个int类型 100字面值赋值给m变量
            int m = 100;        
            // 将int类型 150字面值赋值给 long类型的n
            // int类型的容量小于long类型
            // 默认已经存在数据类转换,只不过是“自动类型转换”
            long n = 150;
         // 由于出现了“L” 就会把160看成long类型
            // 以下程序不存在类型转换,只是一个普通的赋值运算
            long x = 160L;        
            // 可以将 int类型 转换成 long类型 “自动类型转换”
            long y = 234233633; // 如果int类型的值小于2^31 - 1        
            // 什么时候使用"L"或者“l”,建议使用“L”
            // 如果该数值大于 2^31-1就用L 并且是 long类型
            long t = 8797979L;         
            System.out.println("L = " + t);
        }
    }
    /*
        byte 类型
    */
    public class DataTypeTest02{
        
        public static void main(String[] args){
            
            long i = 1000L;
            
            // 不能自动类型转换
            // 需要强制类型转换,添加强制类型转换符()
            // 添加(int)后,编译通过了,但是程序在运行阶段可能损失精度,所以一定要谨慎使用
            // 大容量long 像小容量转换,需要强制类型转换
            int j = (int)i;
            
            // byte 取值范围(-128 ~ 127)只要不超出范围
            byte k = 10;
            byte m = 127;
            
            // byte n = 128; 错误写法 超出范围
            
            // short 取值范围(-32768 ~ 32767)
            short x = 23423;
             
            // char 取值范围(0 ~ 65535)
            // 总结:如果整数没有超出byte,short,char取值范围,可以直接将这个整数赋值给byte,short,char
            char y = 90;
            char u = 65535;
                 
            int v = 58787;
            
            char w = (char)v;
             
                 
            System.out.println("j = " + j + " u = " + u + "w = " + w);
            
        }
    
    }
    /*
        关于 浮点型
        float 4个字节
        double 8个字节
    
    */
    public class DataTypeTest03{
    
    
        public static void main(String[] args){
            
            double i = 1.2;
        
            // 强制类型转换    
            float y = (float)i;
        
            // 自动赋值运算符
            float x = 1.2F;
            
            System.out.println("i = " + i + " y = " + y + " x = " + x);
                
        }
    
    }
    /*
        java中的布尔类型
        1. 只有两个值:true/false 没有0和1
        2. 主要用在 逻辑运算符和条件控制语句中
        
    */
    public class DataTypeTest04{
        
        public static void main(String[] args){
            
            //boolean i = 1;
            
            boolean sex = true;
            
            if(sex){
                System.out.println("男人");        
            } else {
                System.out.println("女人");    
            }
            
            System.out.println("sex = " + sex);
            
        }
    
    }
    /*
        byte,short,char做混合运算的时候,需要先各自转换成int在做运算
    */
    public class DataTypeTest05{
        
        public static void main(String[] args){
            
            byte i = 10;
            
            short j = 20;
            
            int k = i + j ;
            
             byte m = (byte)(i + j);
            
            System.out.println("k = " + k + "m = " + m);
            
            /*
                java程序在运行的时候分两个时期
                1. 编译期
                2. 运行期
                
                在编译阶段只是知道 i+j 是int类型
                int 类型无法直接赋值给 byte类型
            */
            
            byte n = 100;
            
        
        }
    
    }
  • 相关阅读:
    Spring+mybatis+struts框架整合的配置具体解释
    JavaScript 基础
    MySQL高可用系列之MHA(二)
    设计模式之备忘录模式
    客户管理系统之模块设计(七)
    CURL库的宏定义列表
    servlet调用的几种方式
    modprobe kvm-intel
    sql server 2008 R2 配置开启远程访问
    error: could not find library containing RSA_new
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4226453.html
Copyright © 2020-2023  润新知