zoukankan      html  css  js  c++  java
  • java基础知识-数据类型及转换

    1.java中的常量大体分为两种:

    <1>字面量常量

    <2>自定义常量

    2.java中常量(字面量)的分类:
    <1>,整数常量:直接出现的整数
    <2>,小数常量:直接出现的小数
    <3>,布尔(boolean)型常量:只有两个值:true 和 false
    <4>,字符常量:将一个数字,字母或者符号用单引号('')括起来
    <5>,字符串常量:将一个或者多个字符用双引号("")括起来
    <6>,null常量:只有一个数值:null

    */
    public class ConstantDemo{
    public static void main(String[] args){

    System.out.println(100);//整数常量

    //不同进制的表示形式
    System.out.println(010);//8
    //打印语句默认输出的数值都是十进制
    System.out.println(0XFF);//255
    System.out.println(0B111);//

    /*
    System.out.println(3.14);//浮点数常量
    System.out.println(true);//布尔型常量
    System.out.println(false);//布尔型常量
    System.out.println('a');//字符常量
    System.out.println('中');//字符常量
    // System.out.println('');//字符常量不能为空
    //System.out.println('ab');//字符常量只能出现一个字符
    System.out.println('@');//ok
    System.out.println(' ');//ok
    System.out.println("");//字符串常量
    System.out.println("H");//字符串常量
    System.out.println(" ");//字符串常量
    */
    }
    }

     3.变量

    <1>定义:在程序运行过程中,其值可以在一定范围内发生变化的量

    <2>作用:为了使用内存空间.

    4.定义变量的格式

    <1>变量定义和赋值一次性完成

    eg:

    数据类型  变量名 = 初始化值;

    <2>先定义,后赋值

    数据类型  变量名;

    变量名 = 初始化值;

    整型的默认值:int

    浮点数默认值:double

    5.变量的作用域

    变量定义的{}就是变量的作用域,变量只能在自己的作用域内有效,出了定义变量的作用域,就不能再使用了.

    6.java中的数据类型

    <1>基础数据类型(四类八种)

    数值型 >>>整型:byte short int long

        >>>浮点型:float double

    字符型:char

    布尔型:boolean

    <2>引用数据类型

    类(class)

    接口(interface)

    数组(array)    

    7.基础数据类型的类型转换

    <1>隐式转换:从小范围到大范围

    eg:

    long lon = 120;

    ***基础数据类型隐式转换图

    <2>显式转换:从大范围到小范围

    eg:

    byte b = (byte)120L;

    <3>boolean类型不参与类型转换

    /*
        演示变量使用:
            定义格式:
                1.定义和赋值一起
                    数据类型 变量名 = 初始值;
                2.先定义,后赋值
                    数据类型 变量名;
                    ....
                    变量名 = 初始值;
                    
                    
        基本数据类型:四类八种
                                        字节数
            整型            byte           1
                            short        2
                            int            4
                            long        8
                            
            浮点型            float        4
                            double        8
            字符型            char        2
            布尔型            boolean     1
        引用数据类型:类,接口,数组    
    */
    
    public class VariableDemo{
        public static void main(String[] args){
            //定义一个byte型变量,初始值20
            // byte b = 20;//20肯定是int型,由于它在byte的表数范围之内,系统自动转成byte型的20
            // System.out.println(b);//20
            // //
            // b = 30;
            // System.out.println(b);//30
            
            // System.out.println(Byte.MAX_VALUE);
            // System.out.println(Byte.MIN_VALUE);
            
            // byte b2 = 128;//错误: 不兼容的类型: 从int转换到byte可能会有损失
            // byte b2 = -129;//错误: 不兼容的类型: 从int转换到byte可能会有损失
            
            // short s1 = -32768;
            // System.out.println(s1);
            
            // int max = Integer.MAX_VALUE;
            // System.out.println(max);//2147483647 
            
            // System.out.println(Integer.MIN_VALUE);
            
            // long lon = 16L;
            // System.out.println(Long.MAX_VALUE);//9223372036854775807
            // System.out.println(Long.MIN_VALUE);//-9223372036854775808
            
            // float f = 3.14F;
            // System.out.println(f);
            
            // double d = 3.14;
            // System.out.println(d);
            
            // boolean bol = true;
            // boolean bol2 = false;
            
            // char ch = 'a';
            // char ch2 = 97;
            
            // String s = "Hello";//引用数据类型变量:s,String类变量
            // System.out.println(s);
            
            int ii = 20;
            //第一个作用域
            {
                int i = 10;
                //byte i ;//错误: 已在方法 main(String[])中定义了变量 i
                // int i = 20;//错误: 已在方法 main(String[])中定义了变量 i
                // System.out.println(i);
            }
            //第二个作用域
            {
                int i = 10;
                System.out.println(ii);
                // System.out.println(i);//找不到符号
            }
            
        }
    }
    /*
        演示类型转换
        想要进行运算的变量必须是同样的类型
            1.隐式类型转换
                byte --> int 
                int --> long
                从小范围到大范围自动转换
            2.显式类型转换
                把需要转换的目标类型用()括起来:
                    byte b = (byte) (20L);
            
    */
    public class TypeConvertDemo{
        public static void main(String[] args){
            // int i = 10;
            // byte b = 10;
            // long lon = 10L;
            // long res = b + lon;
            // byte res = i + b;//系统将byte型隐式转换成int型
            // System.out.println(i + b);
            
            
            // long lon = 20L;
            // byte b = (byte)lon;
            // System.out.println(b);
            
            // long lon = 256L;
            // byte b = (byte)lon;
            // System.out.println(b);//高位截断,只保留低八位
            
            // char ch = 'a';//97
            // System.out.println(ch + 0);//97
            // char ch2 = 97;
            // System.out.println(ch2);//
            // char ch3 = 98;
            // System.out.println(ch3);//
            
            // char ch4 = 36;
            // System.out.println(ch4);//
            
            
            // byte b = 10;
            // // short s = b;
            // char ch = b;
            
            // System.out.println('a');
            // System.out.println('a' + 1);
            // int i = 98;
            // System.out.println((char)i);
            
            
            // byte b1=3,b2=4,b;
            // b=b1+b2;//错误: 不兼容的类型: 从int转换到byte可能会有损失
            // b=3+4;//ok 
            
            // double d = 128.14;
            // byte i = (byte)d;//小数点后截断
            // System.out.println(d);//被截断的是d的副本
            
            byte b = (byte)130;
            System.out.println(b);
        }
    }
  • 相关阅读:
    C# WinForm开发系列 文章索引
    C#程序集版本控制文件属性祥解(转)
    大型网站调试工具之一(php性能优化分析工具XDebug)
    Web Control 开发系列(二) 深入解析Page的PostBack过程和IPostBackDataHandler
    ASP.NET服务器控件开发(3)事件和回传数据的处理
    理解Session State模式+ASP.NET SESSION丢失FAQ [翻译]
    什么是publickeytoken及publickeytoken的作用
    C#取得页面URL信息
    ASP.NET服务器控件开发(2)继承WebControl类
    [网络收集]ASP.NET 网站路径
  • 原文地址:https://www.cnblogs.com/leo9257/p/8732374.html
Copyright © 2011-2022 走看看