1、变量&运算符

88 阅读2分钟

变量&运算符

变量

什么是变量?

在程序运行过程中,可以在某个范围内发生改变的值

什么是标识符?

作为标识包、类、方法、变量的一串字符

表示符的组成规则:

  • 由字符、下划线_、美元符$组成
  • 这里的字符包含英文大小写字母,中文字符,数字字符。
  • 符号只有两个 _ 和 $

常见命名的规则:

  • 变量或者方法
    • 第一个单词的首字母小写,其他单词的首字母大写 age name userAddress maxAge
    • 每个单词的首字母都大写 HelloWorld TestDemo
  • 包(其实就是文件夹,用于对类进行管理)
    • 全部小写,多级包用.隔开
    • 公司域名的反写
  • 常量命名:全部大写,单词之间用_隔开 MAX_AGE

数据类型

包含基础数据类型和引用数据类型

基础数据类型的分类:

四类八种字节数数据表示范围
整形byte1-128~127
整形short2-32768~32767
整形int(默认)42^31~2 ^ 31 - 1
整形long8-2 ^63 ~~ 2 ^ 63 - 1
浮点型float4-3.403E38 ~~ 3.403E38
浮点型double(默认)8-1.798E308 ~~ 1.798E308
字符型char2表示一个字符 'a' '中' 0 ~~ 65535
布尔型Boolean1只有两个值 true和false

定义long类型在数值后加L 1000000L

定义float类型在数值后加f或者F

声明和使用

// 变量的定义
        // 数据类型 变量名 = 字面量;
        // byte
        byte num1 = 10;
        System.out.println(num1);
        // short
        short num2 = 10000;
        num2 = 20000;
        System.out.println(num2);
        // int
        int num3 = 1400000000;
        System.out.println(num3);
        // long
        long num4 = 8000000000L;
        System.out.println(num4);
        // float
        float num5 = 3.1415F;
        System.out.println(num5);
        // double
        double num6 = 654.5656;
        System.out.println(num6);
        // char
        char c = 'a';
        System.out.println(c);
        // boolean
        boolean b1 = false;
        System.out.println(b1);

变量没有赋值是不能使用的

类型转换

自动(隐式)类型转换

由范围小的数据类型转换成范围大的数据类型

整形赋值给浮点型也会出现精度损失

byte、short、char在进行运算时,类型会提升为int进行运算。

强制(显示)类型转换

由范围大的数据类型转换成范围小的数据类型(会出现精度损失)

boolean具有特殊含义,不能进行强制类型转换

对于char/byte/short来说,如果右侧没有超出范围,那么编译器就会自动补一个强制类型转换

运算符

赋值运算符

=、+=、-=、*=、/=、%=

自增自减运算符 ++、--

int a = 4;
int b = a++ + ++a;
a,b分别是几?
    
int a = 4;
int b = ++a + a++;
a,b分别是几?
//        int a = 4;
//        // int b = x + y;
//        // x = a++;  x = 4  a = 5
//        // y = ++a;  y = 6  a = 6
//        // int b = 4 + 6;
//        int b = a++ + ++a;
//        System.out.println(a);
//        System.out.println(b);

        int a = 4;
        // int b = x + y;
        // x = ++a; x = 5   a = 5
        // y = a++; y = 5   a = 6
        // int b = 5 + 5
        int b = ++a + a++;
        System.out.println(a);
        System.out.println(b);

算术运算符

+、-、*、/、%

关系运算符

<、>、==、>=、<=

逻辑运算符

&、|、!、^

短路效果

&& 、||

三元运算符

a>b?a:b