java 入门学习(六) java变量

我的博客地址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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值