Java基础-变量的定义以及作用域详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.字面量
常量(字面量)表示不能改变的数值(程序中直接出现的值)。字面量有时也称为直接量,包括所有的整数,所有的小数,所有的字符,布尔值,null。Java中常量(字面量)的分类:
1>.整数常量:
直接出现的整数,如:1,2,3,4,.....等等。
2>.小数常量:
直接出现的小数,如:3.14,9.8等等。
3>.布尔(boolean)型常量:
只有两个值:true 和 false
4>.字符常量:
将一个数字,字母或者符号用单引号('')括起来。如:‘a’,'A','尹'等等。注意,必须是单引号引起来的单个字符,例如:‘’,‘yinzhengjie’都不是字符,‘ ’是空格字符。
5>.字符串常量:
将一个或者多个字符用双引号("")括起来,使用双引号引起来的任意字符,如:"","yinzhengjie","尹正杰"等等都是字符串
6>.null常量:
只有一个数值:null(即空值。)
二.变量的定义
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 8 public class VariableDemo{ 9 public static void main(String[] args){ 10 //1>.变量的声明 11 int age; 12 /** 13 int 是一种java数据类型,表示整数 14 age 是一个变量名 15 程序执行上面一行,就会在内存中分配一块存储空间(也可以叫内存地址),通过变量名age来访问这块存储空间。 16 */ 17 18 //2>.给变量赋值 19 age = 18; 20 /** 21 把18这个数存储到age变量名所标识的存储空间中。 22 */ 23 24 //3>.打印变量的值 25 System.out.println(age); 26 /** 27 把age变量名所标识的存储空间的内容打印到屏幕上。 28 */ 29 30 //4>.给变量进行重新赋值 31 age = 26; 32 /** 33 把26存储到age变量名所标识的存储空间中,age变量原来的值18就被覆盖啦! 34 */ 35 System.out.println(age); 36 37 //5>.变量可以参与运算,作为其它表达式的一部分 38 int myAge; 39 myAge = age +2; 40 /** 41 把age变量的值26取出来,和2相加,把结果28存储到myAge变量中。 42 */ 43 44 //6>.变量必须先赋值再使用 45 int year; 46 // System.out.println(year); //"错误: 可能尚未初始化变量year" 47 48 //7>.建议定义变量的同时就给定初始值 49 int month =3; 50 System.out.println(month); 51 52 //在同一个作用域中不能定义重复的变量 53 // int year = 2018; //"错误: 已在方法 main(String[])中定义了变量 year" 54 55 } 56 }
三.变量的分类
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 8 public class ClassVariables{ 9 10 int x = 100; //成员变量 11 12 { 13 int y = 200; //局部变量 14 } 15 16 public static void main(String[] args){ 17 18 int m = 300; //局部变量 19 { 20 int n = 400; //局部变量 21 } 22 23 if (true){ 24 int z = 500; //局部变量 25 } 26 } 27 }
四.变量的作用域
变量的作用域就是变量在哪个范围内有效,成员变量的作用域是整个类,局部变量的作用域是从变量定义的位置开始,直到包含它的大括号结束。