JAVA变量的分类和数据类型简介

一、常量与变量

不同数据类型表示的值可以分为常量与变量

1、常量:不能修改的值

整数常量

  1. 十进制 正常表示 eg.4 5 6
  2. 二进制 0b或者0B开头 eg.0b1001
  3. 八进制 0开头 0777
  4. 十六进制 0x开头的 0xfff

小数类型 1.1

布尔类型 true/false

字符类型 char 只能是一个字符,并且也不能为空 

‘a’ √   ‘101’ ×  “a” ×  ‘’ ×

字符串 “大家好才是真的好” 字符串可以为空

2、变量:可以随着程序的运行而发生改变的量

程序是按线性顺序,自上而下运行的,但是流程控制语句可以改变运行过程中的顺序,但是结果还是要从程序的开始运行到程序的结束。

1.定义变量

2.给变量赋值

3.定义的同时并赋值(建议使用)

使用流程:

  1. 定义==>数据类型 变量名
  2. 赋值==>变量名 = 值;
  3. 使用==>输出,计算,判断。。。

注意:

  1. 变量没有赋值是不可以使用的
  2. 变量的作用域问题
  3. 变量的重复定义问题

变量可以重复定义,但需要变量在同一作用域内,变量在同一作用域内重复定义,程序会直接报错。

一般默认变量不可以重复定义。

二、转义字符

一些本身就赋予特殊意义的字符-->转义字符

  1. 输出双引号 \”
  2. 输出回车 \n
  3. 输出反斜杠 \
  4. 输出制表符 \t

三、变量的分类

1)全局变量(独立于方法之外的变量,不过没有 static 修饰)

  • 全局变量声明在一个类中,但在方法、构造方法和语句块之外;
  • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
  • 全局变量在对象创建的时候创建,在对象被销毁的时候销毁;
  • 全局变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取全局变量信息;
  • 全局变量可以声明在使用前或者使用后;
  • 访问修饰符可以修饰全局变量;
  • 全局变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把全局变量设为私有。通过使用访问修饰符可以使全局变量对子类可见;
  • 全局变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
  • 全局变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

2) 局部变量(类的方法中的变量)

  • 局部变量声明在方法、构造方法或者语句块中;
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
  • 访问修饰符不能用于局部变量;
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在栈上分配的。
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

3) 类变量(独立于方法之外的变量,用 static 修饰)

  • 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  • 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
  • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
  • 静态变量在第一次被访问时创建,在程序结束时销毁。
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
  • 默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  • 静态变量可以通过:ClassName.VariableName的方式访问。
  • 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

 四、数据类型

 1、基本数据类型

四类八种基本数据类型

整型

 1、byte    1个字节

1个字节表示256个数

-128(-2^7)~127

2、short   短整型  1short = 2byte = 16bit     2个字节

-32768~32767

3、int       整型                                              4个字节

4、long    长整型                                          8个字节

浮点型

  1. float 单精度浮点数
  2. double 双精度浮点数

 

字符型

char 字符

布尔型

boolean 布尔型 true/false

补充点:

  1. 声明变量的时候必须要指明数据类型,不同的数据类型表示的数据范围是不同
  2. 对常量来说整数的默认值的类型是int,如果超出了整数int的范围,需要在这个数后边添加l或者L,用长整型来表示,一般规范是大写L
  3. 对于常量来说小数的默认值类型是doble,如果定义成float类型,需要在末尾加上f
  4. 字符型只能含有一个字符
  5. 字符串不是基本类型,是引用类型

2、引用数据类型

字符串,数组,类,接口...

算术运算符

+

  1. 正号 +3 结果:3
  2. 加法 1+2 结果:3
  3. 字符串拼接 “中”+”央” 结果:中央

-

只做负号和减号,与以上加法类似

*

做乘法运算 2*3 结果:6

/

与除法类似

注意:

5/2 = ?    等于2   /两边的值为int整型时,取整数部分,舍弃余数。

当其中任意一边为浮点型时,按正常的运算规则相除。(涉及数据类型转换)

五、数据类型的转换

 

基本数据类型与包装类之间的转换

 

 基本数据类型转包装类

public class Test{
public static void main(String args[]){
                Integer x =Integer.valueOf(9);
                Double c = Double.valueOf(5);
                Float a = Float.valueOf("80");              

                Integer b = Integer.valueOf("444",16);   // 使用 16 进制

                System.out.println(x);
                System.out.println(c);
                System.out.println(a);
                System.out.println(b);
        }
}

 包装类转基本数据类型

public class Test{ 
 
   public static void main(String args[]){
      Integer x = 5;
      // 返回 byte 原生数据类型
      System.out.println( x.byteValue() );
 
      // 返回 double 原生数据类型
      System.out.println(x.doubleValue());
 
      // 返回 long 原生数据类型
      System.out.println( x.longValue() );      
   }
}

自动装箱与自动拆箱

1 //自动装箱
2 Integer total = 99;
3 
4 //自动拆箱
5 int totalprim = total;

Integer total = 99; 
执行上面那句代码的时候,系统为我们执行了: 
Integer total = Integer.valueOf(99);

int totalprim = total; 
执行上面那句代码的时候,系统为我们执行了: 
int totalprim = total.intValue();

包装类的作用:便于基本数据类型和String的转换

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值