常量变量数据类型注意点

变量本质上就是代表一个”可操作的存储空间”

不提倡这种"一行声明多个变量"风格,逐一声明每一个变量可以提高程序可读性。

局部变量

方法或语句块内部

方法/语句块

从声明位置开始,直到方法或语句块执行完毕,局部变量消失

成员变量

(实例变量)

类内部,方法外部

对象

对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失;

静态变量

(类变量)

类内部,static修饰

类被加载,静态变量就有效;类被卸载,静态变量消失。

 

· 成员变量(也叫实例变量  member variable)

    方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。

2-3实例变量的默认初始值

数据类型

实始值

int

0

double

0.0

char

‘\u0000’

boolean

false

·  静态变量(类变量 static variable)

      使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。 如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值

final修饰叫符号常量,关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):

数据类型 

  1. 所有变量、方法、类名:见名知意

  2. 类成员变量:首字母小写和驼峰原则:  monthSalary

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母和下划线:MAX_VALUE

  5. 类名:首字母大写和驼峰原则:  Man, GoodMan

  6. 方法名:首字母小写和驼峰原则: run(), runRun()       

7.png 

 float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。 

Java浮点类型常量有两种表示形式

由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。 浮点数一般都存在舍入误差,很多数字无法精确表示(例如0.1),其结果只能是接近, 但不等于。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。并不是所有的小数都能可以精确的用二进制浮点数表示。 如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

  • 十进制数形式,例如:3.14       314.0      0.314 

  • 科学记数法形式,如314e2      314E2      314E-2 

  • 浮点类型float,double的数据不适合在不容许舍入误差的金融计算领域。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

import java.math.BigDecimal;
public class Main {
    public static void main(String[] args) {
        BigDecimal bd = BigDecimal.valueOf(1.0);
        bd = bd.subtract(BigDecimal.valueOf(0.1));
        bd = bd.subtract(BigDecimal.valueOf(0.1));
        bd = bd.subtract(BigDecimal.valueOf(0.1));
        bd = bd.subtract(BigDecimal.valueOf(0.1));
        bd = bd.subtract(BigDecimal.valueOf(0.1));
        System.out.println(bd);//0.5
        System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);//0.5000000000000001
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值