首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
大数据必学Java基础(一):Java体系结构、特性和优势
2
大数据必学Java基础(二):Java核心机制
3
大数据必学Java基础(三):JAVA环境准备-->JDK
4
大数据必学Java基础(四):安装notepad++,配置path环境变量
5
大数据必学Java基础(五):第一段程序
6
大数据必学Java基础(六):程序中常见问题和编译方式
7
大数据必学Java基础(七):扩展环境变量
8
大数据必学Java基础(八):简单介绍API和注释
9
大数据必学Java基础(九):JDK,JRE,JVM的区别
10
大数据必学Java基础(十):标识符和关键字
11
大数据必学Java基础(十一):变量和常量
12
大数据必学Java基础(十二):基本数据类型
13
大数据必学Java基础(十三):基本数据类型的转换
14
大数据必学Java基础(十四):Java中的运算符
15
大数据必学Java基础(十五):算术运算符
16
大数据必学Java基础(十六):赋值运算符
17
大数据必学Java基础(十七):关系运算符和逻辑运算符
18
大数据必学Java基础(十八):条件运算符和位运算符
19
大数据必学Java基础(十九):运算符总结
20
大数据必学Java基础(二十):流程控制的引入和if语句介绍
21
大数据必学Java基础(二十一):Switch多分支结构介绍
22
大数据必学Java基础(二十二):循环结构
23
大数据必学Java基础(二十三):方法的定义/调用/重载
24
大数据必学Java基础(二十四):数组的引入和学习
25
大数据必学Java基础(二十五):数组的三种初始化方式
26
大数据必学Java基础(二十六):数组的应用题
27
大数据必学Java基础(二十七):详述main方法和了解可变参数
28
大数据必学Java基础(二十八):Arrays工具类和数组的复制操作
29
大数据必学Java基础(二十九):二维数组
30
大数据必学Java基础(三十):IDEA的使用介绍
31
大数据必学Java基础(三十一):IDEA模板的使用
32
大数据必学Java基础(三十二):IDEA中的断点调试
33
大数据必学Java基础(三十三):面向对象介绍
34
大数据必学Java基础(三十四):面向对象内存分析
35
大数据必学Java基础(三十五):深入了解关键词this
36
大数据必学Java基础(三十六):深入了解关键词static
37
大数据必学Java基础(三十七):代码块讲解
38
大数据必学Java基础(三十八):包和import讲解
39
大数据必学Java基础(三十九):面向对象三大特性之一封装(Encapsulation)
40
大数据必学Java基础(四十):面向对象三大特性之一继承(Inheritance)
41
大数据必学Java基础(四十一):面向对象三大特性之一多态(Polymorphism)
42
大数据必学Java基础(四十二):Final关键词讲解
43
大数据必学Java基础(四十三):抽象类和抽象方法讲解
44
大数据必学Java基础(四十四):接口讲解
45
大数据必学Java基础(四十五):JDK1.8以后的接口新增内容
46
大数据必学Java基础(四十六):内部类和面向对象项目实战
47
大数据必学Java基础(四十七):异常的讲解
48
大数据必学Java基础(四十八):包装类和日期类的讲解
49
大数据必学Java基础(四十九):Math类和Random类的讲解
50
大数据必学Java基础(五十):String类和StringBuilder类的讲解

大数据必学Java基础(十一):变量和常量

​变量和常量

举例:

丽丽的年龄:去年17岁,今年18岁,明年19岁

年龄:17--》18---》19 --》值不断变化

年龄---》变量

常量: 17 , 18 , 19 ----》 常量中的字面常量

一、字面常量

1、常量分为两种

常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量(字符常量)。

2、字面常量的类型

注意:逻辑常量就两个值,一个是true,一个是false

二、变量

变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

1、变量声明格式

type varName [=value][,varName[=value]...]; //[ ]中的内容为可选项,即可有可无

数据类型 变量名 [=初始值] [,变量名 [=初始值]…];

案例:

代码语言:javascript
复制
int     age   = 19 , age2 = 90  ;

int  age,age2;

2、变量的声明

(1)如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义:

(2)变量如果没有进行赋值的话,那么使用的时候会出错,告诉你:尚未初始化变量:

3、变量的赋值

我们自己定义的时候直接就可以用一句话定义:

int age = 10;

变量的值可以更改:

代码语言:javascript
复制
public class TestVar01{
        public static void main(String[] args){
                //变量的声明(定义变量)(以年龄为案例讲解)
                //java是一个强类型的语言,只要声明变量就必须定义类型:定义整数类型
                int age ; //定义一个整数类型的变量,变量名字为age 
                //对变量进行赋值操作:
                age = 10; //变量名字为age,具体的值为10 
                age = 12;
                age = 20;
                age = age + 4;
                age = 9;
                age = 9;
                System.out.println(age);
                
        }
}

变量不可以重复定义:

4、变量的使用

代码语言:javascript
复制
public class TestVar01{
        public static void main(String[] args){
                //变量的声明(定义变量)(以年龄为案例讲解)
                //java是一个强类型的语言,只要声明变量就必须定义类型:定义整数类型
                int age ; //定义一个整数类型的变量,变量名字为age 
                //对变量进行赋值操作:
                age = 10; //变量名字为age,具体的值为10 
                age = 12;
                age = 20;
                age = age + 4;
                age = 9;
                age = 9;
                System.out.println(age);
                System.out.println(age-2);
                System.out.println(age+10);
                int num = age + 66;
                System.out.println(num);
                
        }
}

扩展

代码语言:javascript
复制
public class TestVar02{
        public static void main(String[] args){
                int a = 10;
                int b = 20;
                int c = a + b ;
        }
}

现在对上述代码进行“反编译过程”“反汇编过程”

5、变量的内存

6、习题

代码语言:javascript
复制
public class TestVar03{
        public static void main(String[] args){
                int num1 = 10;
                int num2 = 20;
                num1 = num2;
                num2 = num2 + 10;
                num1 = num2 - 10;
                num2 = num1;
                System.out.println("num1="+num1);
                System.out.println("num2="+num2);
        }
}

内存分析

结果:

7、变量的作用域

作用域指的就是作用范围,变量在什么范围中有效

作用范围就是离它最近的{}

备注:一会我们写的代码,不要去运行,会出错

代码语言:javascript
复制
/*
局部变量:定义在方法中
成员变量:定义在类中,方法外
*/
public class TestVar04{
        int b = 20;
        public static void main(String[] args){
                System.out.println(a);//no
                int a = 10;
                System.out.println(a);//yes
                System.out.println(b);//yes
                {
                        int c = 40;
                        System.out.println(c);//yes
                        int a = 50;//属于变量的重复定义
                }
                System.out.println(c);//no
        }
        
        public void eat(){
                System.out.println(b);//yes
                System.out.println(a);//no
                int a = 30;//不是变量的重复定义
                System.out.println(a);//yes
        }
}
下一篇
举报
领券