Java数据类型

一、基本数据类型
1、数值型:
(1)、整型
1、byte:一个字节
2、short:2个字节
3、int:4个字节
4、long:8个字节
(2)、浮点型
1、float:4个字节
2、double:8个字节
2、字符型
char:2个字节
3、布尔型
boolean:1个字节
二、引用数据类型
1、string
2、数组
3、类(Scanner)
4、接口
5、对象

变量和常量
1、变量:一个变化的量,它是在内存中存储
定义(三要素):数据类型 变量名=变量值;
注意:
1、没有赋值的变量不能直接使用
2、在同一作用域中变量不能重复定义(后续:成员变量,局部变量)
3、变量在使用前必须声明数据类型
4、变量的值在声明之后是可以改变的
变量内存图
在这里插入图片描述
理解变量:内存中变量好比旅馆的房间,内存中的常量好比住旅馆房间的人
在这里插入图片描述
2、常量
1、 字面常量
2、整形常量:10、11…默认类型为int类型
3、浮点常量:3.15,315e2,默认类型是double类型
4、‘a’:字符常量
5、true,false:布尔常量

数据类型转换
1、自动类型转换
大类型转小类型
2、强制类型转换
小类型转大类型(小类型 变量=(小类型)大类型值)

Java运算符
1、算术运算符
+:求和,正数,连接
-:求差,负数
:求积
/:求商(数学)如:13.0/2=6.5,13/2=6
%:求余数(整数)符号和被除数要一致
++:后加:代表先运算后自加,先加:代表先自加后运算
– :后减代表先运算后自减,先减:代表先自减后运算
2、赋值运算符
=:赋值
扩展赋值运算符(其实是算数运算符和赋值运算符的结合)
+=,-=,
=,/=,%=
好处:
1、自动强制类型转换
2、简单
3、编译速度快

3、关系运算符
           1、>,<,>=,<=主要用于数值型运算:整形。浮点型,字符型
           2、==,!=;主要用于基本数据类型和引用数据类型
           结果的布尔值
           优先级
           (>,<,>=,<=)大于(==,!=)

4、逻辑运算符
     1、&,|,^,!
     2、&&,||
     操作数:布尔值;
     结果布尔值
     优先级:!>&>^>|
     逻辑与(或):&,|;
     短路与(或):&&,||;
     相同点:两者运算规则一致
     不同点:
             &&:如果左边为false,则右边不计算了结果为false
             ||:如果左边是true,右边就不计算了,结果是true
            &,|还可以做位运算
            5&6
       优先级:关系>逻辑
     
5、位运算符(位移)
      1、&,|,^,~
      2、<<:左移动
            >>:右移动
            >>>:无符号位右移

public class TestOperator5{
public static void main(String[] args){

System.out.println(5&6);//4;
System.out.println(5|6);//7;
System.out.println(5^6);//3;

System.out.println(~6);//-7
System.out.println(~(-7));

//如果一个数和另外一个数异或两次,还是原来的数;可以用作加密解密;
System.out.println(5^6^6);
System.out.println(5^3^3);

System.out.println("=================================");

/*
<<:左移,左移n位,相当于乘以2的n次方,右边空位补0;
>>:右移,右移n位,相当于除以2的n次方,左边空位补符号位;
16:000…0001 0000;
16<<1: 000…0010 0000;右边空位补0;
16>>1: 000…0000 1000; 左边空位补符号位;
*/
System.out.println(16<<1);//32;
System.out.println(16<<2);//64;
System.out.println(16<<3);//128;
System.out.println(16>>3);//2

/*

:无符号右移,右移n位,相当于除以2的n次方,左边空位补0;
-7: 111…1111 1001;
-7>>>1: 011…1111 1100;
*/
System.out.println(-7>>>1);//2147483644;

}
}

6、条件运算符
       x?y:z,三个操作数
       x表示布尔表达式,如果是true,表达式的值就是y,如果是false,表达式的值是z

运算符的结合性
表达式的运算符优先级相同,从右往左算
例:
5>6?‘a’:‘b’>‘c’?‘c’:‘d’:从右往左
int x=y=z=10;从右往左
运算符的优先级
赋值<条件<关系<算数<单目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值