zoukankan      html  css  js  c++  java
  • 第四节(基本类型的转换)

    /*
        关于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;
            
        
        }
    
    }
  • 相关阅读:
    聊聊WS-Federation
    用双十一的故事串起碎片的网络协议(上)
    责任链模式的使用-Netty ChannelPipeline和Mina IoFilterChain分析
    最小化局部边际的合并聚类算法(中篇)
    最小化局部边际的合并聚类算法(上篇)
    UVaLive 7371 Triangle (水题,判矩形)
    UVaLive 7372 Excellence (水题,贪心)
    POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (水题,贪心)
    UVa 1252 Twenty Questions (状压DP+记忆化搜索)
    UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4226453.html
Copyright © 2011-2022 走看看