我的博客地址www.taomaipin.com
就像前几章说的什么事变量呢? 变量是Java 程序的一个基本存储单元。变量由一个标识符,类型及一个可选初始值的组合定义。此外,所有的变量都有一个作用域,定义变量的可见性,生存期。是不是很概念化 抽象化,初学者我想一定有很多疑问,那么接下来讨论变量的这些元素。
1.0 如何声明一个变量
比如int c,b,d; int a=6; int b=10; 那么 声明一个变量的格式 就是type 变量名 就是 前面的 c,b,d,就是变量名 而后面 的int a=6 int b=10 是因为 给a 和b 这两个变量初始化了,那么 这些声明的变量 存储到哪里呢,首先 声明的变量 存储到 stack(栈)内存中 如果没有初始化 那么 他就一直在栈中存在直到垃圾收集
器 回收掉。a=6,b=10 一单变量 初始化 那么 首先 在栈内存中 有两块存储a和b的内存,然后 a 指向堆内存中的6,b指向对内存中的10.。
声明一个变量 你可以不给它赋值 也可以 直接声明并初始化 像上面所说的 int a=6;int b=10;如果变量的类型一样 你也可以这样写 int a=6,b=10;
中间用逗号隔开
1.1 动态初始化变量
首先 看一下 下面的代码
class Sum{
public static void mian(String[] args){
int a=1; int b=4;
int sum = a+b;
System.out.println(sum);
}
}
在这里 声明了三个 局部变量 a b sum。前两个变量 初始化为常量,变量sum 被动态的初始化,a和b的和就是sum的动态初始化值。
当然 你也可以这样初始化变量 把计算a和b的和的值 定义一个方法 如下代码
class Sum{
public int Csum(){
int a=1; int b=4;
return a+b;
}
public static void mian(String[] args){
Sum s = new Sum();//创建一个对象 并把这个对象赋值给对象的引用s
system.out.println("和为"+s.Csum());
}
}
1.3 全局变量 和局部变量
从网上 拿来的代码
public class Test001 {
static int a = 27;//全局变量
static void test() {
boolean flag = false;// flag是局部变量,他的有效范围市整个方法体
if (!flag) {
. int a = 20;// 局部变量a,是必须进行初始化的且只在if块中有效
System.out.println("a1=" + a);
}
// a = 10;// 注意,这一行是会报编译错误:未声明变量a
}
/**
* @param args
. */
public static void main(String[] args) {
. System.out.println("a2=" + a);
int a = 23;//局部变量a
. test();
. System.out.println("a3=" + a);
}
结果为:
a2=27
a1=20
a3=23
注意:
1,对于局部变量要先赋值后使用
2,局部变量局部有效,在定义这个变量的代码块也就是在“{}”中有效
3,在重合的有效范围内,不允许两个局部变量发生命名冲突。
当然 你也可以这样理解 全局变量就是类的变量;所有类的实例都共有一个
在这里呢 实际上static int a=27 ; 如果 去掉static 关键字, 你会惊奇的发现,main 方法中第一行打印的a 包报错,这就是staic关键字的神奇之处。稍后章节 会介绍static 等其它关键字。
请大家关注我的博客网站www.taomaipin.com
相关推荐
Educoder题目:Java入门 - 变量与数据类型答案解析
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
完整版 Java基础教程 Java入门教程 Java语言程序设计 第2章 变量和运算符(共41页).ppt 完整版 Java基础教程 Java入门教程 Java语言程序设计 第3章 流程控制语句(共37页).ppt 完整版 Java基础教程 Java入门教程 ...
一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...
一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
JAVA入门基础篇,适合于初学者.第一章 Java语言入门 授课内容: Java 的诞生 Java 的特点 安装SUN公司的SDK 一个Java程序的开发过程 一个简单的Java应用程序的开发过程 什么是JSP 授课目的: ...
java 入门视频, 主要讲解 注释 变量 运算符
这对入门者是个不错的东西~ 希望热爱java的人都来交流和讨论~~
java入门包括了常量、变量、接口、多态等的解释,以及IDEA的入门使用教程
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
变量.数据类型 -运算符.流程控制 -.流程控制 -类.对象 -成员属性.成员方法 -成员方法.构造方法 -this.类变量 -类方法、封装 -访问修饰符.重载.覆盖 -约瑟夫问题 -多态 -抽象类、接口 -final.作业评讲 -作业、测试题 ...
第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...