chapter02_Java语言的语法基础1.pptVIP

  • 0
  • 0
  • 约7.53千字
  • 约 48页
  • 2017-05-21 发布于河南
  • 举报
chapter02_Java语言的语法基础1

2.3 变量和常量 2.3.1 变量 变量 在程序执行过程中,值可以变化的 它的定义包括变量名、变量类型、变量值和变量作用域 变量是最基本的程序存储单元,使用变量名来访问 变量类型 整型变量 浮点型变量 布尔型变量 字符型变量 引用类型变量 例子 int a,b,c; //这是整形变量声明 a=45; //这是整形变量赋值 char c; //这是字符变量声明 c=‘y’; //这是字符变量赋值 可用的程序存储器 硬件基础 速度 一般用途 寄存器 (register) 快 在CPU内部,一般程序不能通过代码控制寄存器的分配,由编译器来管理 内存 (memory) 较快 程序运行空间,一般包括:代码区域、数据区域、堆、栈 外存储器(storage) 最慢 持久化存储 复习:C/C++程序内存模型 Java的存储区域 寄存器(register):在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理 内存(memory) 栈(stack):变量的值 堆(heap):引用类型指向的内容(存放用new产生的数据) 代码区(code):代码 数据区(data):常量和类属性 外存储器 如流对象,是要发送到另外一台机器上的 持久化的对象,存放在磁盘上 Java程序的执行原理 举例: java TestClass param1 param2 整个程序的入口:主类(HelloWorld)的main方法 执行过程 顺序执行 调用类或者对象的方法 JVM的内部结构 Java变量值:内存中栈内内容 基本数据类型的值:实际值 引用数据类型的值:指向堆的地址 值理解相关问题 变量的默认值 变量赋值 参数传递 (1)变量值 例子:引用类型变量值的含义 public class ObjectValue { public static void main(String args[]){ Integer i1,i2; i1=new Integer(1); i2=new Integer(1); System.out.println(i1==i2); System.out.println(i1!=i2); } } false true Java变量的默认值 基本类型 默认值 boolean false char ‘\u0000’ byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d reference null 举例: boolean a;等价boolean a=false; int b; 等价int b=0; char c; 等价char c=‘u0000’; A d; 等价 A d=null; Java变量赋值 基本类型的赋值 int a=22384; int b=a; 引用类型的赋值 A a=new A() A b=a; 变量的初始化 变量的初始化(初始赋值) int a; int a=1; B b; B b=new B(); 什么时候允许使用变量的默认值 只有基本数据类型作为一个类的成员使用时 数组创建时如果没有立即初始化,系统将分配默认值 除此之外,其它变量都需要初始化。 例子 public class DefaultValue { static int a; //成员变量 public static void main(String args[]) { int b; //局部变量 System.out.println(a= + a); System.out.println(b= + b); } } //error //correct (2)变量作用域(scope) 局部变量:属于某个方法,调用这个方法就创建这个变量 对于局部变量,必须先初始化(赋值)后使用 方法的参数可以认为是局部变量 成员变量:类体内定义变量 实例变量:属于一个类的每一个对象,每次初始化一个对象就创建 类变量 :属于一个类的全体对象的共享变量 注意点 变量名的问题 可以并行定义同名变量 不能嵌套定义同名变量 技巧:变量作用域以离变量最近的大括号为限 例子: public class Scope { public static void main(String args[]) { int x =

文档评论(0)

1亿VIP精品文档

相关文档