Java基本语法(上)-变量与运算符

本文深入探讨Java中的数据类型转换,包括自动和强制类型转换的规则,特别关注float和long之间的转换及其潜在的精度问题。此外,文章还介绍了算数运算符的使用,包括加减乘除和取模运算的特点,以及自增自减运算符的行为。同时,对位运算符进行了详细的解释,如左移、右移和按位与或异或运算。

1.类型之间的转换

自动转化

    byte short char int long

    byte short char 可以直接转换为int

    byte short char 类型之间不能相互转换

    int 也可以直接转换为long 需要在数据的结尾添加L

float double

    float 也可以直接转换为double

强制类型转换

    语法: 接受类型 变量名 = (将要转换的类型)待转换变量

特殊情况:

long --> float

可以转换

    float 32位 使用最高位1位表示符号位 8位表示E 23位表示小数

    long转换为float 可以自动转换 但是这种转换之后E后的数据具有不确定性 尽量不用

    long到double时同样的

浮点数转换为整数

    进行转换的时候会舍弃小数位

    boolean 类型占一个字节的空间

    boolean true/false --> 1 / 0

    理论上一位(bit)就可以保存boolean 但是最小的存储单元时byte (字节) 所以在分配空间时 依然分配一个字节

String类型:不属于8中基本类型 属于引用类型

2.进制转化:

二进制的表示形式:原码 反码 补码

    正数 的原码 反码 补码都是一样

    负数 原码 将一个负数表示程二进制

    反码 按位取反 0变1 1 变0

    补码 反码+1

3.变量:用于在内存中保存数据,该区域的数据可以在同一类型范围内不断变化

使用变量注意:

  • Java中每个变量必须先声明,后使用

  • 使用变量名来访问这块区域的数据

  • 变量的作用域:其定义所在的一对{ }内

  • 变量只有在其作用域内才有效

  • 同一个作用域内,不能定义重名的变量

  • 对于声明在方法内的变量,必须被初始化才能使用(局部变量),成员变量便没有这个

 

在方法体外,类体内声明的变量称为成员变量。

在方法体内部声明的变量称为局部变量。

局部变量在使用前必须赋予初始值,成员变量有默认的初始值,在使用前不必初始化。

 

3.运算符

  • 算数运算符

  • 逻辑运算符

  • 赋值运算符

  • 关系运算符

  • 位运算

  • 三元运算符

 

算数运算符

算数运算中 byte short char int 运算的结果都是int类型

运算中如果有long类型存在 则结果long类型

在整数类型及char类型做运算的时候 如果操作数如果时byte short char 那么运算的结果是int

如果期中有int类型的操作书 结果肯定是int

如果操作书中有long类型 结果肯定是long

如果在运算中操作数中有float类型 则结果为float

如果在运算中操作数中有double类型 则结果为double

boolean不能参与算数运算 boolean也不能和其他类型之间进行相互转换

对于/ *法运算 其中如果有负数 则结果为负

在除法运算中 取得是相除的商

%取模运算 结果为余数 结果的正负与第一个操作数保持一致

++ 自增

--自减

++ 作用都是给当前操作数+ 1

++写在操作数之后 是先取操作数的值 然后在给该数加1

++写在操作数之前 是先加1 在取值

&运算中只要有false 结果就为false

| 运算中 只要有true 结果就为true

! true 为false false 为true

^ 当两个不同时 则为true 相同时为false

&& 当在运算中 如果符号左边为false 则右边不在执行运算 只有左边为true 右边才会进行运算

|| 短路或 如果符号左边为true 右边就不执行运算 只有左边为false 右边才会执行运算

 

位运算是针对二进制的每一位进行运算的符号。

<<:被移除的高位丢弃,空缺位补0。

>>:被移位的二进制最高位是0,右移后,空位补0,最高位补1,空位补1。

>>:

&:

|:

^:

~:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值