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 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数 ...
随机推荐
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
- Django中的Ajax
Ajax 很多时候,我们在网页上请求操作时,不需要刷新页面.实现这种功能的技术就要Ajax!(本人定义,不可迷信) jQuery中的ajax就可以实现不刷新页面就能向后台请求或提交数据的功能,我们仍然 ...
- Django的请求流程(url)
一.Django是怎么处理请求的? 当你通过在浏览器里敲http://127.0.0.1:8000/hello/来访问Hello world消息得时候,Django在后台有些什么动作呢? 所有均开始于 ...
- C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
操作数据库,需要判断返回的字段值是否为空,收集了3种方法供参考 1 通过System.DBNull判断,网上大部分都使用这个方法. DataTable dt; ...
- android tips—启动Emergency call拨号盘
Intent intent = new Intent(); intent.setAction("com.android.phone.EmergencyDialer.DIAL"); ...
- JS浮点类型计算
/* ---------------- JS浮点数运算重置 ---------------- */ //加法函数 //调用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精确结 ...
- Linux堆内存管理深入分析--阿里聚安全
http://www.freebuf.com/author/%E9%98%BF%E9%87%8C%E8%81%9A%E5%AE%89%E5%85%A8
- Qt 学习之路 2(80):定位器
QML 提供了很多用于定位的元素.这些元素叫做定位器,都包含在 QtQuick 模块.这些定位器主要有 Row.Column.Grid和Flow等. 为了介绍定位器,我们先添加三个简单的组件用于演示: ...
- 亲测安装php
亲测安装php1.tar zvxf php-5.3.8.tar.gz 2.cd php-5.3.83../configure \ --prefix=/usr/local/php \--with-mys ...
- tcmalloc源码剖析的资料
1. https://seanhn.wordpress.com/2011/04/14/exploit-necromancy-in-tcmalloc-reviving-the-4-to-n-byte-o ...