变量定义及转换

1、标识符

  • 所以的标识符都应该以字母(A-Z或者(a-z),美元符(¥),下划线(_)开始)
  • 首字母之后可以是任何字符组合
  • 不能使用关键字作为变量名或方法名。

2、关键字

在这里插入图片描述

3、数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用。
  • 弱类型语言:
  • java的两大数据类型
    在这里插入图片描述
  • 位:是计算机内部数据存储的最小单位·,11001100是一个八位进制,
  • 字节:是计算机中数据处理的基本单位,习惯上用大于B来表示
  • 1B = 8bit(位)

3.1扩展

  • 进制:
    • 二进制 ob
    • 十进制
    • 八进制 o
    • 十六进制 ox (0-9、 A-F)
  • float: 有限、离散 、舍入误差、大约(接近但不等于)
  • 银行业务表示:用BigDecimal 数学工具类
  • 所有的字符本质还是数字

4、类型转换

  • 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
    • byte,short,char->int->long->float->double
  • 运算中,不同类型先转换的同类型在做运算
    • 强制类型转换 高---------->低 (类型)变量
    • 自动类型转换 低---------->高
  • 注意点:
    • 不能对布尔值进行转换
    • 不能把对象类型转换为不相干的elixir
    • 转换的时候可能存在内存溢出,精度问题
  • JDK7新特征,数字之间可以用下划线

4.1强制类型转换

public class Demo01 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;
        //强制类型转换是   (类型)+变量  高-->低
        //自动转换   低-->高
        System.out.println(i);
        System.out.println(b);
        /*
        注意:1、不能对布尔值进行类型转换
             2、不能把对象类型转换为不相干的类型
             3、转换的过程中可能存在内存溢出,精度问题。
         */
        System.out.println((int)13.45);
        System.out.println(((int)12.45f));
    }
}

4.2内存溢出,精度问题

public class Demo02 {
    public static void main(String[] args) {
        //转换的时候可能遇见溢出的问题
        //jdk7新特征,数字之间可以用下划线。
        int money = 10_0000_0000;
        int year = 20;
        int total1 = money *  year;  //-1474836480  计算的时候溢出的
        long total2 = money * year;  //-1474836480   默认是Int,转换之前就溢出了
        long total3 = money * (long)year;  //20000000000   转换前先转换成long,则不溢出
        System.out.println(total1);
        System.out.println(total2);
        System.out.println(total3);
    }
}

5、变量

  • 变量是什么,可以变换的量
  • java是一种强类型语言,每个变量必须声明其类型
  • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须分号结束
  • 局部变量:必须声明和初始化
  • 实例变量:从属于对象,如果不自行初始化。默认初始值,除了基本类型,其余都为null
  • 类变量:static 从属于类
  • 常量初始化后不能再改变的值
    • 常量一般用大写字符: final 变量类型 变量名 = 值
  • 变量命名规范
    • 所有变量、方法、类名:见名知意
    • 方法、局部变量:首字母小写和驼峰原则
    • 类:首字母大写和驼峰原则
    • 常量:大写字母和下划线 MAX_VALUE
public class Demo03 {
    //类变量:static 从属于类,随类而生

    static String names = "gaochengcai";

    //实例变量:从属于对象,如果不自行初始化,默认初始值。
    //布尔值默认为false
    //除了基本类型以外,其它的都是null

    int age;
    String name;

    //常量:初始化后就不能变化的量,一般用大写字符
    static final double IP = 3.14;

    public static void main(String[] args) {
        //局部变量,必须声明和初始化
        int i = 10;
        System.out.println(i);
        Demo03 demo03 = new Demo03();
        System.out.println(demo03.age);
        System.out.println(demo03.name);
        System.out.println("names");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值