java中的变量和运算符

认识变量

1.整型变量
语法格式:int 变量名 = 初始值

eg: int a = 1;  //将1赋值给整形变量a。

一个int 变量占4个字节(表示的数据范围是-2^31 —> (2^31)-1,和操作系统没有直接关系.
2.长整型变量
语法格式:long 变量名 = 初始值

eg: long a = 10L;  //定义一个长整型变量

long 类型占8个字节,表示的数据范围 -2^63 —> (2^63) - 1
3.短整型变量
语法格式:short 变量名 = 初始值;

eg: short a=0;

short类型占用2个字节,表示范围为(-32768–>32767)
4.双精度浮点型变量
语法格式:double 变量名 = 初始值

eg: double a=1.0;

double类型占8个字节,浮点数优先考虑。
5.单精度浮点型变量
语法格式: float 变量名 = 初始值;

eg:float a = 1.0f;

float类型占4个字节。
6.字符型变量
语法格式: char 变量名 = 初始值;

eg:char ch = 'a';

char类型占2个字节。默认值为’\u0000’
7.字节类型变量
语法格式: byte 变量名 = 初始值;

eg : byte value = 0;

byte类型占一个字节,范围是(-128–>127),当超出范围,就会报错。

8.布尔类型变量
语法格式:boolen 变量名 = 初始值;

eg: boolen a = true;

boolen类型的大小没有明确规定,java中不存在1表示true,0表示false的用法。默认值为false.
9.字符串类型变量
语法格式:String 变量名 = “初始值”;

eg: String name = "zhangsan";

String类型和以上其他类型不同。String是引用类型而不是基本类型。

整形提升

byte a = 10; 
byte b = 20; 
byte c = a + b; 
System.out.println(c); 
// 编译报错
Test.java:5: 错误: 不兼容的类型:int转换到byte可能会有损失
 byte c = a + b; 
 ^

原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都
提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误.

由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short 这种低于4
个字节的类型, 会先提升成 int, 再参与计算.

  1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
  2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.

运算符

算术运算符

  1. 基本四则运算符:+ , - , * , / , %

*其中对于除法:int / int 结果还是Int,需要用double来计算。
0不能作为除数,
%表示取余,不仅可以对int 求模,也能对double求模

2.增量赋值运算符:+= , -= , *= , /= , %=
3.自增/自减运算符:++ , –

关系运算符

关系运算符一共有六个:== , != , < , > , <=, >=。

!!!注意:关系运算符表达式的返回值都是boolen类型。

逻辑运算符

一共有三个:&&(与) , ||(或) , !(非)

!!!注意:逻辑运算符的操作数和返回值都是boolen。

对于&&,如果表达式左侧为假,则表达式整体都为假,不需要判断右侧表达式。
对于||,如果表达式左侧为真,则表达式整体为真,无需计算右侧表达式。

&和| ,如果操作数为boolean时,也表示逻辑运算,但是不支持短路求值。

位运算符

&(按位与) , |(a按位或) , ~(按位取反) , ^(按位异或)

注意:当&和|的操作数为整数(byte ,int ,long,short)时,表示按位运算,当操作数为boolean时表示逻辑运算。

移位运算符

<<(左移) , >>(右移) , >>>(无符号右移)

左移:最左侧位不要,最右侧补0;左移一位,相当于原数字扩大2倍
右移:最右侧不要,最左侧补符号位(正数补0,负数补1),右移一位 相当于原数字缩小2倍。
无符号右移:最左侧不要,最右侧补0。

条件运算符

即三目运算符:表达式1 ?表达式2 :表达式3

当表达式1为true时,整个表达式的值为表达式2的值;
当表达式1的值为false 时,整个表达式的值为表达式3的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值