一、常量
1、声明常量
语法:final 数据类型(如int) 常量名 = 值
规范:常量名通常全部大写,常量初始化后不可再次赋值
意义:用有意义的变量名来避免魔术数字,
package Demo;
/**
* @className:TestFinal;
* @time:2022-03-06-17:28;
* @author:Lee Ye;
* @description:这是一个java示例;
*/
public class TestFinal {
static final int YEAR = 2022;
//定义常量在main函数内外都可以
//在main函数外定义要加个static,在main函数里定义常量就不用加static
public static void main(String[] args){
System.out.println("今年是"+YEAR+"年!");
}
}
二、变量
1、声明变量
定义:第一次定义变量时,要指定变量类型(int等)
2、变量作用范围
分类:成员(全局)变量和局部变量
2.1、成员变量
在类中定义的变量,作用范围为整个类,相当于python的全局变量
2.2、局部变量
在方法或者代码块中定义的变量
特点:局部变量在方法或代码块被执行的时候创建,在结束的时候被销毁
package Demo;
/**
* @className:TestVar;
* @time:2022-03-06-18:09;
* @author:Lee Ye;
* @description:这是一个java示例;
*/
public class TestVar {
static int k = 1; //这里的k就是成员变量-在类中定义的
public static void main(String[] args){
int a = 1; //在方法中定义变量
//在块中定义变量
{
int b = 2;
System.out.println("a is :" + a);
System.out.println("b is :" + b);
}
int b = 3; //因为b在代码块执行完就销毁了,所以可以重新定义
System.out.println("a is :" + a);
System.out.println("b is :" + b);
}
}
2.3、成员变量与局部变量的关系
他们两个的调用服从就近原则
package Demo;
/**
* @className:TestVar;
* @time:2022-03-06-18:09;
* @author:Lee Ye;
* @description:这是一个java示例;
*/
public class TestVar {
static int var = 1;
public static void main(String[] args){
int var = 2; //局部变量,调用完就销毁了,所以test找到的是成员变量var
System.out.println("var is :" + var);
test();
}
public static void test(){
System.out.println("var is :" +var);
}
}
拓展:
java中作用范围禁止嵌套
//##错误示例
public static void main(String[] args){
int a = 1;
{
int a = 2;
System.out.println("a = " + a);
}
}
三、练习
实现打印九九乘法表
package Demo;
/**
* @className:TestVar;
* @time:2022-03-06-18:09;
* @author:Lee Ye;
* @description:这是一个java示例;
*/
public class TestVar {
public static void main(String[] args){
for(int i = 1; i <= 9; i++){
for (int j = 1; j <= i; j++)//正向打印
//for (int j = i; j <= 9; j++) //反向打印
{
System.out.printf("%d x %d = %2d ", i, j, i * j);
}
System.out.println();
}
}
}