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 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数 ...
随机推荐
- lightoj1057 - Collecting Gold (tsp问题)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1057 题目大意:在二维矩阵中,给你一个起点和至多15个的目标点.要你求出从起点出发经过 ...
- Google财经
本博文的主要内容有 .Google财经的介绍 .市场 .新闻 .投资组合新闻 .投资组合 1.Google财经的介绍 https://zh.wikipedia.org/wiki/Goog ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- Wall - POJ 1113(求凸包)
题目大意:给N个点,然后要修建一个围墙把所有的点都包裹起来,但是要求围墙距离所有的点的最小距离是L,求出来围墙的长度. 分析:如果没有最小距离这个条件那么很容易看出来是一个凸包,然后在加上一个最小距离 ...
- mysql 源码编绎修改 FLAGS,调试MYSQL
http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#option_cmake_cmake_c_flags ...
- 理解 Linux 网络栈(1):Linux 网络协议栈简单总结 图
http://www.cnblogs.com/sammyliu/p/5225623.html
- 使用AVCaptureSession捕捉静态图片
#import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> #import <AssetsLibrary/ ...
- Vector/Arraylist与Linklist的区别
SDK提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector.ArrayList和 LinkedList.有关这些List类的性能差别是一个经常被 ...
- Java 单文件下载及重命名
代码(仅供参考): /* * 另存为 */ @RequestMapping("/saveAs.do") public @ResponseBody void saveAs(Strin ...
- codevs 2822爱在心中
不想吐槽题目.... /* K bulabula 算法(好像用哪个T bulabula更简单 然而我并不会 - -) 丑陋的处理cnt: Printf时 cnt中 ans[i][0]==1 的删掉 然 ...