Java常量和变量
1.Java运行原理
编译+解释型语言:
程序代码经编译后转换为一种称为java字节码(.class文件)的中间语言 file.java---》Class.class
java虚拟机JVM将字节码解释为机器码,然后在计算机上运行。
编译只进行一次,而解释在每次运行程序时都会进行。
2.定义常量
声明赋值常量 final type 标示符=值 final float PI=3.1415926F;
规范:大写表示 见其名知其意
3.变量
数据类型 变量名 int age=25;
内存空间的值就是变量值
规则:
@1.变量名必须为一个有效的标识符(字母 数字 下划线和美元$符号不允许以数字开头)
@2.不能声明多个相同的变量名
@3.区分大小写
@4.不能使用关键字
@5.选择有意义的变量名
数据区分为堆区和栈区
变量的生命周期——从声明一个变量并分配内存开始到释放该变量并清除所占用的内存空间结束
@成员变量
分为:静态变量和实例变量
静态变量——通过static修饰声明
作用域:整个类,在类中声明,整个类中有效。可以被类的所有实例共享存在于静态数据区
调用 : 类名.变量名
生命周期——加载类时为静态变量分配空间内存(之后无论创建多少实例都不会再为静态变量分配空间,所有实例公用同一静态变量),
卸载类时,释放静态变量空间,静态变量被销毁。
@实例变量
作用域:与类的实例对应 作用域为整个实例,每创建一个类的实例,就会为当前实例分配实例变量的内存空间,所以实例变量的生命周期取决于实例的生命周期,
声明周期——实例被创建时,实例变量被分配内存空间,当销毁时,释放内存空间。
@局部变量
在方法内或方法内某代码块中声明
(方法内指位于{}中的代码)代码块中声明的变量只在当前代码块中有效,在代码块外、方法内声明的变量在整个方法内有效。
生命周期——方法被调用时,java虚拟机为方法中的局部变量分配空间,方法调用结束后,方法中的局部变量内存空间释放并被销毁。
若成员变量与局部变量同名
若在方法中访问该变量 针对的是方法中的局部变量。
类变量可在类中任何地方使用(一级一级向下)
而局部变量只能在方法中使用(一级一级向下)
代码块中的变量只能在代码块中使用。
在php中全局变量必须通过GLOBALS[]数据或global 声明才能在方法中使用
注意:在声明时,不能使用public protected private static对局部变量进行修饰
访问局部变量时,不能通过类名或引用变量来访问局部变量
Java常量和变量的更多相关文章
- 乐字节Java变量与数据结构之二:Java常量与变量
大家好,小乐又来给大家讲述Java基础知识.上次说了乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符,这次将接着往下说,谈谈Java常量与变量. 1.常量 1).定义 在程序执行的过 ...
- 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结
020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
- 017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例
017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例 本文知识点:变量 相同类型的变量可以一次同时定义多个 例:可以一行代码同时定义2个变量x ...
- 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值
016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...
- 015 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 09 Unicode编码
015 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 09 Unicode编码 本文知识点:Unicode编码以及字符如何表示? ASCII码是美国提出的标准信息 ...
- 014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 “字符型”字面值
014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 "字符型"字面值 字符型 字面值如何表示? 两个关键:单引号(必须是英文单引号). ...
- 013 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 07 基本数据类型变量的存储
013 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 07 基本数据类型变量的存储 变量和它的值如何在内存中进行存储的? 前面学习过:Java中的数据类型分为基本 ...
- 012 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 06 浮点型“字面值”
012 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 06 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数 ...
随机推荐
- Java反射获取类和对象信息全解析
反射可以解决在编译时无法预知对象和类是属于那个类的,要根据程序运行时的信息才能知道该对象和类的信息的问题. 在两个人协作开发时,你只要知道对方的类名就可以进行初步的开发了. 获取类对象 Class.f ...
- poj 1564 Sum It Up【dfs+去重】
Sum It Up Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6682 Accepted: 3475 Descrip ...
- Win7 64位安装MySQL
1.Win7 64位 安装MySQL5.5版本 安装文件的执行:会提示“已经停止工作”: 2.我下载了mysql-installer-community-5.7.11.0.msi,可以安装成功,中途需 ...
- uva10622 Perfect P-th Powers
留坑(p.343) 完全不知道哪里有问题qwq 从31向下开始枚举p,二分找存在性,或者数学函数什么的也兹辞啊 #include<cstdio> #include<cstring&g ...
- google API的.NET库
Goolge发布了一个新的google API .NET库,是一个Portable Class Library,所以无论是.NET,WinTRy,Windows Phone或者Silverlight都 ...
- nodejs端口被占用。
I had the same issue. I ran: $ ps aux | grep node to get the process id, then: $ sudo kill -9 follow ...
- mysql 主从同步配置
1 环境 mac air 主机做 主库,使用的是XAMPP自带的mysql 版本为 5.6.21, for osx10.6 (x86_64) 虚拟机mysql 做从库 版本为 5.5.38, fo ...
- [JavaScript] Array.prototype.reduce in JavaScript by example
Let's take a closer look at using Javascript's built in Array reduce function. Reduce is deceptively ...
- 5 - SQL Server 2008 之 四则运算、比较运算、逻辑运算及字符连接运算
四则运算如下: --加减乘除(+.-.*.\.%)取余运算 SELECT --加法运算 AS 加法结果2, --减法运算 -2.5 AS 减法结果1, 15.5+5.5 AS 减法结果2, --乘法运 ...
- Eclipse下使用Fat Jar插件对源代码进行打包
这两天需要对一个项目进行打包,并在服务器上部署成后台服务模式进行执行,原来使用eclipse进行打包很难用,配置文件容易出错,生成的jar不能正常运行.后来发现Fat Jar Eclipse Plug ...