在警报声中学习

4-变量及使用

常量

程序运行过程中,值一定不会发生改变的量

字面值常量

在Java代码中,所有直接写值的量都是字面值常量

整数常量:

直接写在代码中的整数都是。例如1、2、3等。

小数常量

直接写在代码中的小数都是。例如1.1、1.2、1.3等。

字符常量:

直接写在代码中的,使用单引号引起来的字符都是。例如'A'、'a'等。

布尔常量:直接写在代码中的布尔值,只有true和false两个。

字符串常量:直接写在代码中的,使用双引号引起来的字符串都是。

例如"HelloWorld"、"hello"等

空常量:空常量是引用数据类型独有的一种取值,只有null一个。

自定义常量

通过语法自由地定义一个常量在代码中使用

整数常量的特殊性

  // 等价于 byte b = 3;

        byte b = 1 + 2;


	 int a = 1;
        /*
            a是一个变量
            当表达式中存在任何一个变量参与运算时
            表达式的结果要遵循表达式的类型提升
            结果一定是取值范围最大的数据类型
         */
        // byte b2 = a + 2;
        int num = a + 2;
  • 通过这个现象,我们其实可以发现编译器是很"聪明"的:

  • 对于整数字面值常量(包括常量的运算)而言,因为它的值一定不会发生变化,而且整型数据值的位数十分容易判断,所以编译器能够自动判断整型常量是否在接收数据类型的范围内。

  • 体现在语法上就是:将一个整型字面值(包括常量的运算)赋值给整型时,如果该常量在整型数据类型的取值范围内,是可以赋值成功的。

变量

程序运行过程中,值可能会发生改变的量(注重变化的可能性而不是确定性)

声明

声明变量的目的是告诉编译器,变量的数据类型和变量的名字

变量声明的语法: 数据类型 变量名;

注:

  • 这个变量指的是写在方法内部,被一个大括号限制了作用域的一个变量
  • 这种变量称之为"局部变量"
  • 局部变量仅在定义该变量的作用域内部生效,一般就是那个"{}"
  • 相对应的定义局部变量的代码位置,就被称之为"局部位置"
  • 仅仅声明的局部变量没有任何意义,相当于代码中根本没这个东西,编译器在编译代码时,会自动忽略掉代码中的未初始化局部变量

初始化

声明后的变量还没有值无法使用,给变量赋初始值的过程就是初始化

初始化变量的语法:

  • 变量名 = 变量值;

一般情况下声明和初始化都合起来使用

  • 数据类型 变量名 = 变量名;

注意事项

  1. Java当中的整数字面值常量,默认当作int处理。

  2. 假如你想使用字面值整数定义一个long类型变量,那么该字面值常量的后面应该加上一个"L"区分(禁止使用小写"l")。

  3. Java当中的小数字面值常量,默认当作double处理。假如你想使用字面值小数定义一个float类型变量,那么该字面值常量的后面应该加上一个"F"或"f"区分。

  4. 定义一个变量是有它的作用范围的,这个范围通常用{}来界定,同样一个{}不能有同名变量。

  5. 虽然Java语法允许一行定义多个相同数据类型的变量,但规范的Java代码禁止这样做!

posted @ 2023-02-27 20:48  颠三倒四不积极  阅读(53)  评论(0)    收藏  举报