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);
    }
}

 

posted on 2018-04-07 08:49  长空剑使  阅读(218)  评论(0编辑  收藏  举报