变量

Java是一种强类型语言,每个变量都必须声明其数据类型,变量本质上就是代表一个“可操作的存储的空间”,在定义之后空间位置是确定的,但是里面放置什么值是不确定的,我们操作的时候是通过变量名来操作对应的存储空间的,以此来操作对应的存储空间里面的值,变量的数据类型决定了变量占存储空间的大小。

变量是什么?

  • 变量作为程序中最基本的存储单元,要素有变量名,作用域,变量类型。
  • 变量在使用前必须声明,只有声明以后才能分配对应长度的存储空间。

变量的声明

    public static void main(String[] args) {
int a = 1;
double b = 2.2222;
long c = 1000;
//一行上面可以声明多个变量,但是最好不要这样
int e,f;
}

下面看一段错误的代码:

    public static void main(String[] args) {
int a;
System.out.println(a);
}

上面的这个代码是错误的,因为变量没有声明的时候,是不可以便用的。成员变量可以不赋值而直接使用。

不同的数据类型会在内存中分配不同的内存空间。比如:

int 4个字节

double 8个字节

long 8个字节

变量的注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量的分类

  • 局部变量
  • 成员变量
  • 静态变量

局部变量

在方法或者语句块之内声明的变量,没有初始值,生命周期是从声明开始到方法或者语句块结束。在使用的时候,我们必须赋上初始值才可以使用。如:

    public static void main(String[] args) {
{
// {} 内是语句块
int a;
}
// a = 1; 不在一个作用域 ,不能赋值
double b = 2.2222;
long l = 1000;
}

成员变量

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

    public class TestOne {
// 成员变量
int a; public static void main(String[] args) {
// 局部变量
double b = 2.222;
long l = 1000;
}
}
数据类型 初始值
int 0
double 0.0
char \u0000
boolean false

静态变量

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

    public static void main(String[] args) {
// 成员变量
int a;
// 静态变量
static int b; public static void main(String[] args) {
{
// c的作用域只有语句块这么大
int c;
}
// 局部变量
int d = 1;
}
}

变量的生命周期:

静态变量 > 成员变量 > 局部变量

常量

常量的分类

  • 字符串常量:凡是用双引号引起来的部分,都叫做字符串常量。例如:“abc"、"Frost Boy"、"9527".....
  • 整数常量:直接写上的数字,没有小数点。例如: 1、2、123、53、14...
  • 浮点数常量:直接写上的数字,有小数点。例如:1.2、1234.53、998.99..
  • 字符常量:凡是用单引号起来的单个字符,都叫做字符常量。例如:'a'、'中'、'3'....
  • 布尔常量:只有固定的两个值。true、false
  • 空常量:null

以上的常量定义也叫做字面常量,也就是不定义常量名,直接使用。

常量的使用

    public static void main(String[] args) {
// 字符串常量
System.out.println("Hello,World");
System.out.println("abc");
System.out.println("Frost boy");
System.out.println(""); // 可以直接输出空字符串 // 字符常量
System.out.println('a');
System.out.println('9');
System.out.println('中');
// System.out.println(''); 不能直接输出空字符
// System.out.println('ab'); 单引号中有且仅有一个字符 // 整数常量
System.out.println(9527);
System.out.println(2021); // 浮点数常量
System.out.println(2.33);
System.out.println(9.999); // 布尔常量
System.out.println(true);
System.out.println(false);
}

常量的定义

在java中,是用关键字final来定义一个常量的,常量一但被初始化之后就不能改变值了。

    public static void main(String[] args) {
// 定义一个常量
final int INT_A;
// 初始化这个常量
INT_A = 1; // 常量定义时也可以初始化
final int INT_B = 2;
// INT_ = 3;这样就会报错
}

常量的命名中我们一般是使用大写字母来进行命名的。


细节决定成败!

个人愚见,如有不对,恳请扶正!

Java | 变量 & 常量的更多相关文章

  1. java变量常量

    1. java 变量遵循先声明,再赋值,后使用的原则. 一个变量可以只声明,不赋值,没有问题(只是这个变量没有实际意义,但完全没有问题).但如果想要使用它,那么就一定要给它赋值,而大多数时候我们又不知 ...

  2. Java变量常量声明和定义

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

  3. Java变量, 常量和作用域

    目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...

  4. Java - 变量常量数据类型

    标识符命名规范 可以有字母数字下划线和美元符组成, hello abc 不能以数字开头 123abc 严格区分大小写 void Void 不能是java的关键字和保留字 class 标识符必须是见名知 ...

  5. Java变量-常量-作用域

    public class Demo05 { /* 变量的命名规范:见名知意 1.类变量/实例变量/局部变量使用驼峰原则命名 2.类名使用Pascal命名法 3.常量名使用大写字母和下划线 4.驼峰原则 ...

  6. Java基础-常量,变量,成员变量,局部变量

    在java中,数据是以常量和变量两种方法形式进行存储和表示的(实际上,所有程序的数据都是这两种形式). 变量 变量代表程序的状态.程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现 ...

  7. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  8. [转]Java 变量和常量

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...

  9. Java复习3.变量.常量.String.

    Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...

随机推荐

  1. Linux 中的 守护进程

    什么是守护进程 脱离控制终端的,运行于后端的进程,由系统管理的,按计划自动启动/停止/重启,用以执行特定的任务. 为什么要有守护进程? 在某些需求场景下,我们希望某项系统任务能够按计划按预期,始终/自 ...

  2. String类对象相加时做了什么

    我们都知道java中的加号操作符除了加法.表示正数之外,还可以用作字符串的连接.初学java时,你很可能会碰到类似下面的题目: 以下这段代码产生了几个String对象: String str1 = & ...

  3. 我的N年软件测试感悟

    1.前言 大家好!我是Meng前段时间,很荣幸被一合作伙伴邀请发表一篇文章,主题为"这些年,我所从事软件测试的一些感悟",正好趁着这个机会,我也好好总结一下. 2.测试培训 对于软 ...

  4. HashMap底层实现原理及面试常见问题

    HashMap底层源码分析 1.HashMap底层采用的存储结构 1.在JDK1.7及之前采用的存储结构是数组+链表 2.到了JDK1.8之后采用的是数组+链表+红黑树 2.HashMap实现的原理 ...

  5. Java8 Lambda表达式、Optional类浅析

    1.概念 Lambda是一个匿名函数,可以将其理解为一段可以传递的代码(将代码像数据一样进行传递)可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格,使得java语言的表达能利得到了提升. 2. ...

  6. Task00:绪论 - 环境搭建

    本章重点: 在电脑上安装MySQL数据库系统 安装客户端并连接到本机上的MySQL数据库 使用提供的脚本创建本教程所使用的示例数据库 1. MySQL 8.0 的安装 考虑到大家所使用的操作系统的不同 ...

  7. Selective Kernel Networks

    摘要:在标准的卷积神经网络(CNNs)中,每一层的人工神经元的感受野被设计成具有相同的大小.众所周知,视觉皮层神经元的感受野大小受刺激的调节,但在构建cnn时却很少考虑到这一点.我们在神经网络中提出了 ...

  8. 从架构师角度谈谈mybatis-plus可能存在的问题

    存在这么一个情况:对于缺营养的人来说,医生更倾向于建议他选择纯牛奶,而不是有机奶(因其有添加剂).然而,大部分人却更加倾向于选择有机奶, 因其口感不错,因此,对于选择纯牛奶还是有机奶,这是个博弈问题. ...

  9. Python基础之:Python的数据结构

    目录 简介 列表 列表作为栈使用 列表作为队列使用 列表推导式 del 元组 集合 字典 循环 简介 不管是做科学计算还是编写应用程序,都需要使用到一些基本的数据结构,比如列表,元组,字典等. 本文将 ...

  10. Centos7安装配置jenkins(Tomcat)

    Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...