大家好,欢迎来到IT知识分享网。
一、变量
- 变量是什么: 就是可以变化的量! 我们可以通过变量来操作一些内存中的数据。
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
理解:变量 可能就指代的是一块空间;假设 我内存中有这样的一块空间;变量就是指的这个空间;这个空间要放什么 ,我是不确定的;相当于这个位置是确定的;空间里要存什么东西 我是不确定的;;所以这就是变量。
public class Demo { public static void main(String[] args) { //int a,b,c;//不建议这样去写 非常非常的麻烦;没有初始化值 // 应该这样去做: //int a=1,b=2,c=3; 这样写 不好,应该分成 3行;//程序的可读性 int a = 1; int b = 2; int c = 3; String name = "red_button";//必须以分号结尾 不写的话报错;必须是英文的分号; char x = 'X'; double pi = 3.14; // 以上是定义变量的格式; } }
二、作用域【非常 非常 重要 】
1、类变量:写在类里面的。 需要加个关键词 static ;静态的。
2、实例变量: 写在类中间。没有static 关键词;
3、局部变量:写在方法里面的。
- 这个代表一个类;就是在类里面写东西;
- 类里面有一个默认的main 方法【主程序方法】;
- 类里面除了方法外,还可以定义一些属性;(这个属性,现在可以理解为变量)
- 除了main方法外,还可以写其他方法;
局部变量注意点:
1、局部变量是在方法里面的;
2、比如在main 方法里 ;局部变量的声明周期是 从main 方法的{左边大括号开始;直到main方法的 右边大括号} 生命周期终止。
3、局部变量 必须声明和初始化值;
报错:Variable ‘i’ might not have been initialized;
发现这个i 输出不了;必须要初始化
给 i 一个具体的值 ,就可以输出 i 了;
public class Demo { //属性:变量 //main 方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); } //其他方法 public void add(){ } }
注意:这个main 方法中的 i 不能 在其他地方用;比如不能在add 方法中使用;只能在 main 方法中使用;
报错: Cannot resolve symbol ‘i’
代码块: 加了这static 关键词 作用域就非常的高了;
实例变量注意点:
1、 实例变量在方法的外面,类的里面
2、实例变量 的作用域更大了;它不在方法里面,它在类里,方法的外面,从属于对象的。
理解:
你写了String name; int age; 不用初始化赋值,你就可以用它了;怎么使用呢?
需要在main方法中把这个实例写出来;new Demo()相当于 把这个类拿到了。
直接生成Demo demo = new Demo();
public class Demo { //属性:变量 //实例变量:从属于对象; 如果不自行初始化,这个类型的默认值 //所有的数值类型的初始化值是 0 0.0 [0 是整数][0.0 是小数] //字符串默认初始化 值是 u0000 // 布尔值 默认是 false // 除了基本类型 ,其余的 默认值 都是 null 都是空的; String name; int age; //main 方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); // 10 //new Demo(); // 快捷键:鼠标放到;前面然后按alt + 回车 // Demo demo = new Demo(); Demo demo = new Demo(); System.out.println(demo.age); // 0 age没有赋任何值 也输出了个0// System.out.println(demo.name);// null; } //其他方法 public void add(){ System.out.println(i); } }
类变量 注意点:
1、 只要加了 static 的 关键字;就从属于类了;
2、类变量和实例变量基本是一样的 只不过是加了一个static 关键词;
报错:给个double 类型 int 会自动转换成 double类型的;
public class Demo { // 类变量 static static double salary = 2500; public static void main(String[] args) { // 类变量 static System.out.println(salary);//2500.0 } }
注意:如果把 static 去掉 ,就直接报错了;
报错:Non-static field ‘salary’ cannot be referenced from a static context
注意:
1、这个 static 是从属于这个Demo 这个类的;和这个 Demo 一起存在一起消失;到内存分析JVM 时 会重点分析 这个 static;
2、目前 先把方法、类变量 都先加 static ; 好去调用它 就不用去new 了;
三、常量
- 常量(Constant):初始化(initialize)后不能再改变值! 不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double PI =3.14;
- 常量名一般使用大写字符。
- 常量需要的关键词是final
- 在一些代码中可以使用常量 来提高 代码的可读性。
public class Demo { //修饰符,static、final 不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI);//3.14 } }
四、变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary(驼峰原则:除了第一个单词以外,后面的单词首字母大写)
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母 和下划线: MAX_VALUE
- 类名:首字母大写 和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151852.html