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 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数 ...
随机推荐
- ubuntu14.04 wps字体缺失问题
字体 下载安装字体即可
- 基础排序算法之快速排序(Quick Sort)
快速排序(Quick Sort)同样是使用了分治法的思想,相比于其他的排序方法,它所用到的空间更少,因为其可以实现原地排序.同时如果随机选取中心枢(pivot),它也是一个随机算法.最重要的是,快速排 ...
- 【Android - MD】之TextInputLayout的使用
TextInputLayout是Android 5.0新特性--Material Design中的一个布局控件,主要用来嵌套EditText,实现数据输入时的一些效果,如: 当输入框获取焦点时,输入提 ...
- python小程序——购物
流程图 代码程序 saving = int(input('请输入你的工资:'))shopping = [['iphone',5800],['mx6',2000],['pythonbook',80], ...
- PHP问题Parse error: syntax error, unexpected end of file in
检查一下你的php文件中是否存在这样的语法错误:<<php{>或者<?{?>以上两种写法都是有错误的,修改为下面的就可以了: <?php}?>
- 基于XMPP实现的Openfire的配置安装+Android客户端的实现[转]
最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) http://blog.csdn.net/sk719887916/article/details/40541163 https://git ...
- 利用systemtap学习Linux路由代码
http://bbs.chinaunix.net/thread-4090162-1-1.html 一.为什么要这样做读kernel route子系统代码,当我弄懂了数据结构之间的关系以及控制流程后,心 ...
- Python CMDB开发
Python CMDB开发 运维自动化路线: cmdb的开发需要包含三部分功能: 采集硬件数据 API 页面管理 执行流程:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取 ...
- C# 内存管理优化畅想(三)---- 其他方法&结语
前两篇文章提出的优化方法,都是不需要修改源代码的,而是在CLR或JIT层面进行自动优化的.但本文中提出的优化方法则需要引入新的语法,开发者只有在源代码中使用了这些新语法,才会获得优化. 1. 允许对象 ...
- Oracle --1536错误解决(超出表空间)
--导入数据库时提示 超出表空间限额,1536错误,解决方法:去除限额. 执行:--alter user username quota unlimited on users; 例: alter use ...