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 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数 ...
随机推荐
- STL之set、multiset、functor&pair使用方法
set是一个集合容器,其中包含的元素是唯一的,集合中的元素是按照一定的顺序排列的.元素插入过程是按照排序规则插入,所以不能使用指定位置插入. set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树. ...
- Welcome to OWASP CHINA — OWASP-CHINA
Welcome to OWASP CHINA - OWASP-CHINA undefined
- iPhone之Quartz 2D系列--编程指南(1)概览
以下几遍关于Quartz 2D博文都是转载自:http://www.cocoachina.com/bbs/u.php?action=topic&uid=38018 iPhone之Quartz ...
- Ural 1519. Formula 1 优美的插头DP
今天早上学了插头DP的思想和最基础的应用,中午就开始敲了,岐哥说第一次写不要看别人代码,利用自己的理解一点点得写出来,这样才锻炼代码能力!于是下午慢慢地构思轮廓,一点点地敲出主体代码,其实是很磨蹭的, ...
- android-----JNI学习 helloworld
(1)新建android工程 (2)添加NDK路径 (3)添加本地支持 给本地库起名 此时工程目录下会自动生成jni文件夹 此时Makefile也自动生成 LOCAL_PATH := $(call m ...
- zedboard--交叉编译Opencv库的生成 分类: shell ubuntu fool_tree的笔记本 ZedBoard OpenCV 2014-11-08 18:57 171人阅读 评论(0) 收藏
Opencv的移植,xzyfeixiang和rainysky的博客. 第一步肯定是下载opencv的源码包 第二步已经做好的交叉编译环境. 第三步下载安装cmake apt-get install ...
- malloc函数具体解释
一.原型:extern void *malloc(unsigned int num_bytes); 头文件:#include <malloc.h> 或 #include <alloc ...
- Lucene IndexReader,IndexWriter,IndexSearcher 缓存应用
1.IndexManager类,用于提供IndexReader,IndexWriter,IndexSearcher获取接口 import java.io.File; import java.io.IO ...
- MySQL 一致性读 深入研究 digdeep博客学习
http://www.cnblogs.com/digdeep/p/4947694.html 一致性读,又称为快照读.使用的是MVCC机制读取undo中的已经提交的数据.所以它的读取是非阻塞的. 相关文 ...
- Qt 学习之路 2(80):定位器
QML 提供了很多用于定位的元素.这些元素叫做定位器,都包含在 QtQuick 模块.这些定位器主要有 Row.Column.Grid和Flow等. 为了介绍定位器,我们先添加三个简单的组件用于演示: ...