【Java学习笔记之三】java中的变量和常量

变量和常量

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

在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表。

变量

变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。
    为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。
    由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:
    数据类型 变量名称;
    例如:int x;
   
在该语法格式中,数据类型可以是Java语言中任意的类型,包括基本数据类型和复合数据类型。变量名称是该变量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量的用途对应,这样便于程序的阅读。数据类型和变量名称之间使用空格进行间隔,空格的个数不限,但是至少需要1个。语句使用“;”作为结束。
    也可以在声明变量的同时,设定该变量的值,语法格式如下:
    数据类型 变量名称 = 值;
    例如:int x = 10;
    在该语法格式中,前面的语法和上面介绍的内容一致,后续的“=”代表赋值,其中的“值”代表具体的数据,注意区别“==”代表为判断是否相等。在该语法格式中,要求值的类型需要和声明变量的数据类型一致。
       在程序中,变量的值代表程序的状态,在程序中可以通过变量名称来引用变量中存储的值,也可以为变量重新赋值。例如:
    int n = 5;
    n = 10;
    在实际开发过程中,需要声明什么类型的变量,需要声明多少个变量,需要为变量赋什么数值,都根据程序逻辑决定,这里列举的只是表达的格式而已。

    常量

常量代表程序运行过程中不能改变的值。
    常量在程序运行过程中主要有2个作用:
         1. 代表常数,便于程序的修改(例如:圆周率的值)
         2. 增强程序的可读性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4)
    常量的语法格式和变量类型:只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
    则常量的语法格式如下:
    final 数据类型 常量名称 = 值;
    final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
    例如:
    final double PI = 3.14;
    final char MALE=‘M’,FEMALE=‘F’;
    在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:
 final int UP;
    UP = 1;

变量类型

局部变量

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

成员变量(实例变量)

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

类变量(静态变量)

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

时间: 2024-10-23 17:58:03

【Java学习笔记之三】java中的变量和常量的相关文章

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

Java学习笔记(Java语言规范,API,JDK,IDE)

Java语言规范:java.sun.com/docs/books/jls 三个版本的API:J2SE J2EE J2ME 1. J2SE 客户端独立应用程序或者applet 2. J2EE 服务端应用程序 [Java Servlets&JavaServer Page] 3. J2ME 移动设备变成 JDK为Java开发提供一个开发环境(IDE) Java学习笔记(Java语言规范,API,JDK,IDE)

【Java学习笔记之三十一】详解Java8 lambda表达式

Java 8 发布日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码.而定义行为最重要的那行代码,却混在中间不够突出.Lambda表达式取代了匿名类,取消了模板,允许用函数式风格编写代码.这样有时可读性更好,表达更清晰.在Java生态系统中,函数式表达与对面向对象的全面支持是个激动人心的进步.将进一步促进并行

java学习笔记1——java环境的搭建

1.java的安装路径最好没有中文和空格,因为如果有中文或者空格,在以后的编译过程中很容易出现莫名其妙的错误 2.安装java的过程中,安装好jdk后弹出安装JRE的界面,此时不用继续安装直接退出即可,因为JDK包含JRE,就算再装JRE,也是与JDK中的JRE是一样的 3.java环境搭建的原因,是为了方便程序编译的时候可以直接在DOS命令中输入java相关的命令就可以直接调用,而不需要每次都要尽到java命令所在的目录,因为当你输入此命令时,windows会找两次,第一次在你输入的目录中寻找

java学习笔记之java如何快速入门

什么是java? java是一种高级计算机语言,由SUN公司(现已经被Oracle公司收购)在1995年5月推出的一种可以编写跨平台的应用软件. SUN公司将java划分为三个技术平台 JavaSE--标准版,主要以开发普通桌面和商务应用程序.JavaSE是三个平台中的核心,它包括了java的核心类库,例如集合.IO.数据库连接以及网络编程等. JavaEE--企业版,为开发企业级应用程序提供解决方案.该平台用于开发.装配以及部署企业级应用程序,主要包括Servlet.Jsp.JavaBean.

Java学习笔记-7.Java IO流

一.输入/输出流 1.流:不同类型的输入.输出源    数据流:输入或输出的数据 Java数据流的所有接口和类都是在java.io包中定义的,因此应在程序开头加入 import java.io.* 2.流的分类: (1)从流的流动方向来看,可以将IO流分为输入流和输出流 输入流:数据信息从某个地方流向程序中 输出流:数据信息从程序中发送到某个目的地 (2)从流的数据处理单位来看,可以将IO流分为字节流和字符流 字节流:以字节方式处理的二进制数据 字符流:以字符方式处理的数据流(Java使用Uni

【Java学习笔记之三十三】详解Java中try,catch,finally的用法及分析

这一篇我们将会介绍java中try,catch,finally的用法 以下先给出try,catch用法: try { //需要被检测的异常代码 } catch(Exception e) { //异常处理,即处理异常代码 } 代码区如果有错误,就会返回所写异常的处理. 首先要清楚,如果没有try的话,出现异常会导致程序崩溃.而try则可以保证程序的正常运行下去,比如说: try { int i = 1/0; } catch(Exception e) { ........ } 一个计算的话,如果除数

【JAVA学习笔记】Java中的static关键字解析

Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnb

Java学习笔记-2.Java语言基础

一.命名规则 1.Java标识符 Java所有的组成部分都需要名字.类名.变量名以及方法名都被称为标识符. 关于Java标识符,有以下几点需要注意: 所有的标识符都应该以字母(A-Z或者a-z),美元符($).或者下划线(_)开始 首字符之后可以是任何字符的组合 关键字不能用作标识符 标识符是大小写敏感的 合法标识符举例:age.$salary._value.__1_value 非法标识符举例:123abc.-salary 2.注意: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hell