Day2.数据类型、类型转换、变量

目录

数据类型

八大基本数据类型

类型转换

变量

变量作用域


数据类型

  • 强类型语言

    • 要求变量的使用严格符合规定,所有变量都先定义后使用

  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本类型 (primitive type)

    • 引用类型 (reference type)

八大基本数据类型

  • 基本类型 --- 计算机无法精确表示一个小数,同样字节数存储的小数范围远大于存储整数范围

public class Demo01 {
    public static void main(String[] args) {
        //整数
        byte num2 =20;
        short num3 =30;
        int num1 =10;  //最常用
        long num4 =30L;  //Long类型要在数字后面加L

        //小数:浮点数
        float num5 =50.1F;  //float类型要在数字后面加F
        double num6 =3.1415926535;
//计算机无法精确表示一个小数,同样字节数存储的小数范围远大于存储整数范围

        //字符
        char name ='A';

        //字符串,String不是关键字,类
        String namea ="Demon";

        //布尔值:是非
        boolean fuck = true;
        boolean fucky = false;

    }
}
  • 整数扩展

    //整数拓展:  进制   二进制0b   十进制   八进制0   十六进制0x

        int a = 10;
        int b = 010;   //八进制0
        int c = 0x10;  //十六进制0x     0-9   A-F
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println("===================================================");
        //======================================================================
        //浮点数拓展   银行业务如何表示?
        //BigDecimal BigInteger  数学工具类
        //======================================================================
        //float     有限  离散  摄入误差  大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f =0.1f;     //0.1
        double d =1.0/10;  //0.1

        System.out.println(f==d);  //false

        float d1 =23132313113123f;
        float d2 =d1 + 1;

        System.out.println(d1==d2); //true
  • 字符拓展

    //字符拓展?
    
        char c1 ='a';
        char c2 ='鼎';

        System.out.println(c1);
        System.out.println((int)c1); //强制转换

        System.out.println(c2);
        System.out.println((int)c2); //强制转换

        //所有的字符本质还是数字
        //编码  Unicode  2字节  65536
        char c3 ='\u0061';
        System.out.println(c3);

        System.out.println("===================================================");
        //转义字符  \t(制表符)  ( ) (\n) 换行 ....
        System.out.println("hello\tWorld");  //hello	World

        System.out.println("===================================================");
        //对象  从内存分析
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);  //false

        String sc ="hello world";
        String sd ="hello world";
        System.out.println(sc==sd);  //true
  • 布尔值扩展

    //布尔值扩展
        boolean flag = true;
        if(flag==true){}  //新手
        if(flag){}        //老手
        //less is Morel   代码要精简易读

类型转换

  • 由于Java是强类型语言,所以要进行有些运算时,需要用到类型转换。

    低------------------------------------------------------高

    byte,short,char->int->long->float->double

        //强制转换  (类型)变量名    高--低
        //自动转换     低--高
        int i = 128;         //128
        byte b = (byte) i;   //-128 内存溢出

        /*
        注意:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.把高容量转换到低容量时,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题!
         */

        System.out.println("=============================");
        System.out.println((int)23.7);    //23
        System.out.println((int)-45.9f);  //-45

        System.out.println("=============================");
        char c = 'a';
        float d = c+1;    //自动转换

        System.out.println((int)c);   //97
        System.out.println(d);        //98
        System.out.println((char)d);  //b

        System.out.println("=============================");

        //操作较大时,注意溢出问题
        int money = 10_0000_0000;
        int years =20;
        int total =money*years;  //-1474836480
        long total2 =money*years;  //-1474836480  ,转换时默认int,已经出现问题

        long total3 =money*((long)years);  //把一个数据转换成Long
        System.out.println(total3);   //20000000000

        System.out.println("=============================");

变量

  • 可变化的量! x=y

  • Java是一种强类型语言,每个变量都声明其类型。

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

目的:使用变量、重新赋值

  • 注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

    • 变量名是合法的标识符。

    • 变量声明是一条完整的语句,因此每一个声明都以分号结束。

变量作用域

  • 类变量 (加static

  • 实例变量

  • 局部变量

public class Variable{
    static int allclicks=0;  //类变量
    String string ="hello world";   //实例变量  成员变量
            
    public void method(){
                int i =0;   //局部变量
   }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值