Java(三) -- 变量&基本数据类型

目录

变量

使用变量

Java 的数据类型

数据类型转换

运算符

条件运算符

位运算符

运算符的优先级


变量

  • 数据类型

  • 变量名

  • 变量值

使用变量

        1、声明变量的数据类型和变量名(包含数字、字母、下划线、$,不能包含空格、运算符,不能用关键字命名,不能以数字开头),大小写可以混用,首单词应该小写,后续单词的首字母大写。

                userId、studentName (驼峰式命名法)

        2、给内存空间赋值,该值就是变量值。

Java 的数据类型

  • 基本数据类型

        byte、int、short、long、float、double、char、boolean

        数值类型(整数、小数)

                byte 1 个字节 (8位)

                int 4 个字节(32位)

                short 2 个字节(16位)

                long 8 个字节(64位)

                float 4 个字节(32位) 单精度浮点型

                double 8 个字节(64位)双精度浮点型

        非数值类型(文本)

                char 字符 2 个字节(16位)

                boolean 1/8 个字节、判断逻辑是否成立 true 1/false 0

  • 引用数据类型

数据类型转换

  • 自动转换

        Java 可以自动对某些数据类型进行自动转换。

        规则:只能由低字节向高字节进行转换,反之则不行。

        byte->short->int->long->float->double

  • 强制类型转换

        Java 无法自动转换的数据类型,开发者可以通过强制手段进行转换。

        一般来讲强制类型转换可能会造成精度损失。

double num = 10.0;
int num2 = (int)num;

运算符

  • 赋值运算符

        数据类型 变量名 = 数值/变量;

//1、创建变量用来记录张三的体重
double weight1 = 70.5;
//2、创建变量表示李四的体重
double weight2 = 60.5;
System.out.println("交换之前:张三的体重是"+weight1+",李四的体重是"+weight2);
System.out.println("进行交换");
double temp = weight1;
weight1 = weight2;
weight2 = temp;
System.out.println("交换之后:张三的体重是"+weight1+",李四的体重是"+weight2);
  • 算术运算符

    • 基本算术运算符

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

      变量1 + 变量2

      变量1 - 变量2

      变量1 * 变量2

      变量1 / 变量2

      变量1 % 变量2

      变量++、++变量

      变量--、--变量

      变量++:先操作,再运算。

      ++变量:先运算,再操作。

    • 复合算术运算符

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

      变量1 += 变量2:先求出变量1和变量2之和,再把计算结果赋值给变量1,变量1 = 变量1 + 变量2

  • 关系运算符

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

  • 逻辑运算符

        逻辑运算符只能用于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、非。

        &(与)、|(或)、!(非)、&&(短路与)、||(短路或)

        参与逻辑运算符的变量都是 boolean 的

        变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。

        变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。

        !变量1:若变量 1 为 true,结果为 false,若变量 1 为 false,结果为 true。

        变量1 && 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。

        变量1 || 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。

int num1 = 10;
int num2 = 11;
System.out.println((++num1==num2)||(num1++==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((++num1==num2)|(num1++==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((num1++==num2)&(++num1==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((num1++==num2)&&(++num1==num2));
System.out.println(num1);

条件运算符

        三元运算符、三目运算符、三元表达式

        根据不同的条件给同一个变量赋不同的值,变量 = 条件?值1:值2.

位运算符

  • 十进制和二进制的转换

        十进制转二进制:目标数除以2,若能除尽,该位记做0,若除不尽,该位记做1,再对商继续除以2,以此类推,直到商为0,然后把每一位的结果反序组合就是对应的二进制。

                10:1010

                17:10001

        二进制转十进制:从目标数的最后侧起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,将每一位的值进行相加,得到的结果就是对应的十进制。

        位运算符:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)

        变量1 & 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,若都为 1,则该位记做 1,否则记做 0。

        变量1 | 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,只要有一个为 1,则该位记做 1,否则记做 0。

        变量1 ^ 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,相同记做 0,不同记做 1。

        变量1 << 变量2:变量1乘以2的变量2次方

                2 << 3 : 2 * 8 = 16

        变量1 >> 变量2:变量1除以2的变量2次方

                2 >> 3:2/8 = 0

运算符的优先级

        ! > 算术运算符 > 关系运算符 > 逻辑运算符( && > || )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug 消灭师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值