【学习笔记】变量、常量、运算符

变量

变量是可以变化的量

Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型、作用域。

每个变量都有类型,类型可以是基本类型,也可以是引用类型。

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每一个声明都必须以分号结束。


变量作用域

类变量:从属于该类,随着这个类一起出现一起消失,可以在这个类中任意位置使用。

用关键词static 修饰

public class Demo02 {
    //类变量
    static int age = 23;
    public static void main(String[] args) {
        System.out.println(age);
    }
}

 

实例变量:在类里面,在方法外面。从属于对象。

实例变量无需初始化,如果没有初始化,那么它的值是默认值:

整型默认值是0,浮点型是0.0 ,布尔值默认值是false,除了基本类型默认值其余都是null

char默认值是空值

public class Demo02 {
    //实例变量
    String name;
    int age;
    double money;
    char a;
    boolean flag;
    public static void main(String[] args) {
        Demo02 demo02 = new Demo02();    //实例化对象
        System.out.println(demo02.name);
        System.out.println(demo02.age);
        System.out.println(demo02.money);
        System.out.println(demo02.a);
        System.out.println(demo02.flag);
​
    }
}

image-20220714082023274

 

局部变量:在方法中定义,并且只能在该方法中调用,并且必须声明和初始化。

public class Demo02 {
​
    public static void main(String[] args) {
        //局部变量
        int i = 10;
        System.out.println(i);
    }
}
​

变量命名规范

1.所有变量、方法、类名要见名知意

2.类成员变量:首字母小写和驼峰原则:monthSalary

3.局部变量:首字母小写和驼峰原则

4.常量:大写字母和下划线 : MAX_VALUE

5.类名:首字母大写和驼峰原则 :Man 、 HelloWorld

6.方法名:首字母小写和驼峰原则 : getMonry()

 

 


常量

常量:初始化后不能再改变值,不会变动的值。

final 变量名 = 值;

如: final double PI = 3.14;

常量名一般使用大写字符


 

运算符

 

image-20220714083738683

 

注意:如果整数运算中有long类型,那么结果为long类型

如果没有那么结果都为int类型

public class Demo03 {
    public static void main(String[] args) {
        long a = 12356123L;
        int b = 100;
        short c = 200;
        byte d = 5;
​
        System.out.println(a+b+c+d);
        System.out.println(b+c+d);
        System.out.println(c+d);
    }
}

image-20220714084906407

 

自增、自减运算符:

a++ :先赋值,在自增

++a:先自增,在赋值

public class Demo04 {
    public static void main(String[] args) {
        int a = 3;
        int b = a++;   //执行完这行代码后,先给b赋值,在自增
        //a++  a=a+1
        System.out.println(a);
        //++a a=a+1
        int c = ++a;   //执行完这行代码前,先自增,在给c赋值
​
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}
​

image-20220714090308516

 

 

逻辑运算符

短路运算:在进行 与(&&) 运算时,如果前面的语句为false,那么就不会去执行后面的语句

public class Demo05 {
    public static void main(String[] args) {
        int a = 4;
        boolean b = (a>4) && (a++>4);
        System.out.println(b);
        System.out.println(a);
    }
​
}
​

image-20220714091920057

 

位运算符

A = 0011 1010

B = 1001 1100

 

A&B = 0001 1000

A|B = 1011 1110

A^B = 1010 0110      (异或,相同为0,不同为1)

~A = 1100 0101        (按位取反)

 

 

面试题:2*8怎样算是最快的?

使用位运算中的左移 <<

0000 0000 0

0000 0001 1

0000 0010 2

0000 0011 3

0000 0100 4

0000 1000 8

0001 0000 16

由此可以看出 2 左移 3 位变成 16

2<<3 = 16

 


字符串连接符 “+ ”

面试题

int c = 10;
int d = 20;
System.out.println(""+c+d);
System.out.println(c+d+"");

image-20220714094328960

当连接符的前面是String 类型的时候,后面的运算也都变成String类型

当连接符的后面是String类型的时候,前面的运算依旧保持原来的类型进行运算

posted @ 2022-07-14 10:31  GrowthRoad  阅读(24)  评论(0编辑  收藏  举报