Java基础语法--变量

变量


变量:就是可以变化的量;通过变量可以操纵内存中的数据;
怎么理解?
比如数学方程中1+x=3中的x为未知数,但占用了计算式中的一个项。先假设不知道x为多少。
换到java语言中,变量就是先占用一个内存空间,这个空间不确定存储什么数据,但是先把这个空间留出来;然后指定数据类型 变量名 值后就完成了变量的定义。

例子
image

int years = 20; //完整的一个变量
  • java是一种强类型的语言,每个变量都必须声明其类型 如int,long;
  • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域;

注意

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每个声明都必须以分号结束;

变量作用域

  • 类变量

  • 实例变量
    实例变量是从属于对象,在方法外面,类中使用。

  • 局部变量
    局部变量必须声明和初始化值,只在方法的括号内使用。

案例

public class Demo05 {
    //类变量 static
    static double salary = 2500;

    String name;//实例变量
    int age;//实例变量



    public static void main(String[] args) {//main方法
        int i = 10;//局部变量
        System.out.println(i);
        Demo05 demo05 = new Demo05();
        System.out.println(demo05.age);
        System.out.println(demo05.name);

        //类变量使用
        System.out.println(salary);

    }

    //--------------------------------
    public void add(){

    }

}

解释1
局部变量只能在方法的括号中使用

public class Demo05 {
//类变量 static




    String name;//实例变量
    int age;//实例变量


//main方法
    public static void main(String[] args) {//局部变量开始使用
        int i = 10;//局部变量
        System.out.println(i);
		//变量类型 变量名字 = new Demo05();
        Demo05 demo05 = new Demo05();//实例变量的使用方法new Demo05();会自动返回=号前面的对象。
        System.out.println(demo05.age);
		System.out.println(demo05.name);

    }//局部变量结束使用

    //--------------------------------
    public void add(){
        System.out.println(i);
    }

}

image

  • 此时类add 报错

实例变量的使用方法见注释

输出结果
image
解释

  • 实例变量如果不自行初始化,这个类型的默认值为0,0.0;
  • 布尔值:默认是false;
  • 除了基本类型,其余的默认值都是null;

常量

  • 常量(Constant);初始化(initialize)后不能再改变的值!不会变动的值。

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,再程序运行过程中不容许被改变。
    image

  • 常量名一般使用大写字符

案例

public class Demo06 {

//static,final,println为修饰符,不存在先后顺序
    static final double PI = 3.13; //常量的值用大写字母标识
    public static void main(String[] args) {
        System.out.println(PI);

    }
}

-现实中使用案例,我的世界游戏开发中一个物理的长宽高是固定的。这个固定的量就是常量;


变量的命名规范

  • 所有变量、方法、类名;见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符

java语言支持如下运算符
image

(模)%:取余,21/10余1,结果就为1
==:等于
!=:不等于
instanceof:
&&:and,和;
||:or,或者;
!:非;

package oper;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//结果为小数,所以如果不转换为浮点字符,结果不准确

        System.out.println("===================================================");

        long e = 123123123123123L;
        int f = 123;
        short g = 10;
        byte h = 9;
        double j = 22;

        System.out.println(e+f+g+h);//结果为long,原因:一个变量定义为了long,结果就是long
        System.out.println(f+g+h);//结果int,只要没有long,结果都为int
        System.out.println(g+h);//结果int,只要没有long,结果都为int
        System.out.println((double) g+h);//结果为double,,除非强制转换
        System.out.println(g+j);//结果为double,只要有一个变量定义为了double,结果就是double
        System.out.println(j+e);//遵循浮点数优先级最高

        System.out.println("-------------------------------------------------");

        //关系运算

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);


        System.out.println("--------------------------------------------------");
        //取模,模运算
        System.out.println(c%a);

        System.out.println("--------------------------------------------------");

    }
}

++ --:自增,自减

这里可以参考博客园乘风起大哥的解释https://www.cnblogs.com/fwnboke/p/8525369.html
说的很详细

幂运算

2^3 = 222

package oper;

public class Demo02 {
    public static void main(String[] args) {
        double pow = Math.pow(2,3);/Math 数学运算
        System.out.println(pow);

    }
}

posted @ 2021-03-18 00:40  lmk007  阅读(105)  评论(0)    收藏  举报