运算符

数据类型:基本数据类型+引用数据类型
基本数据类型:
数值型: byte , short ,int , long
浮点型: float ,double
字符型: char
布尔型: boolean
引用数据类型: 类,接口,数组
#基本数据类型
##数值型
###整数型
byte - 字节型 - 1个字节 - -27~27-1 -> -128~127
byte b = 25; byte b2 = 127; byte b3 = -128;
short - 短整型 - 2个字节 - -215~215-1 -> -32768~32767
short s = 800; short s2 = 1500;
int - 整型 - 4个字节 - -231~231-1 -> -2.1109~2.1109 - Java中,整数默认为int类型
int i = 5;
long - 长整型 - 8个字节 - -263~263-1 -> -1018~1018 需要以L/l作为结尾标记
long l = 54L;
###浮点型
float - 单精度 - 4个字节 -> -1038~1038 - 需要以f/F作为结尾
double - 双精度 - 8个字节 -> -10308~10308 Java中小数默认为double类型 - 小数结尾可以添加D/d作为标记
double d = 4.5; double d2 = 2.58; double d3 = 9.54D;
char - 字符型 - 2个字节 -> 0~65535 - 存储用的就是utf-16
char c = ‘a’; char c2 = ‘\ua4f3’; char c3 = ‘中’;
##转义字符
\t-制表符 table \r-回车 return \n-换行 next
\-反斜杠 \ \’-单引号 \”-双引号
扩展:将字符转换数字的过程称之为编码 — 编码表
ISO-8859-1 - 西欧码表 - 1个字节表示1个字符 a
gb2312 - 国标码 - gbk - 2个字节表示1个字符 - 收录了常见的简体汉字以及一部分常见的繁体汉字
Unicode编码体系 - 收录了世界上常见语言的基本字符 - 规定了一系列的编码规则 - utf-8-> 3个字节表示一个字符 utf-16 -> 2个字节表示1个字符
注意:规定无论哪张码表兼容西欧码表
k 1 1 1 1
区 X 2 3 2
boolean - 布尔型 - true/false,用于表示逻辑值
boolean b = true; boolean b2 = false;
##引用数据类型
数组 [] 类 class 接口 interface
##数据类型的转换
###自动类型转换/隐式转换
byte b = 125;
int i = b;
规律一:小的类型自动转化为大的类型
short s = 7;
long l = s;

long l = 500; // 500是一个整数,整数默认为int,int的范围比long小,所以可以自动转换

float f = 56.71F;
double d = f;

int i = 300;
double d = i;
规律二:整数类型可以自动转化为浮点类型,可能会产生舍入误差
int i = 500;
float f = i; // i是int类型,int的取值范围比float小,所以int可以自动转化为float

long l = 259L;
float f = l;

float f = -25; // -25是整数

char c = ‘a’;
int i = c;
规律三:字符可以自动提升为整数

##强制类型转换/显式转换
int i = 35;
byte b = (byte)i;
规律一:当把大的类型转化为小的类型的时候,因为补码的换算问题,所以可能会产生一些想不到数据
double d = 6.4;
int i = (int)d;
规律二:小数在转化为整数的时候是舍弃小数位
扩展:数据的原反补三码
数据类型的最高位是符号位 — 如果最高位是0,则表示一个正数;如果最高位是1,则表示一个负数。
计算机中存储的是数据的补码,计算的也是数据的补码
直接计算出来的二进制数字是数据的原码
如果是正数,那么原反补三码一致
int i = 7;
00000000 00000000 00000000 00000111 原码
00000000 00000000 00000000 00000111 反码
00000000 00000000 00000000 00000111 补码
如果是负数,那么反码是在原码的基础上,最高位不变,其余位0<->1;补码是在反码的基础上+1
int j = -9;
10000000 00000000 00000000 00001001 原码
11111111 11111111 11111111 11110110 反码
11111111 11111111 11111111 11110111 补码
注意:规定用-0表示当前类型的最小值
##运算符
###算术运算符

      • / % ++ –
        注意:
  1. byte/short/char在运算的时候自动提升为int
  2. 整型在运算的时候保持类型不变
  3. 小类型和大类型运算,结果一定是大类型
  4. 任意整数/0 - ArithmeticException - 算术异常
    任意非零数字/0.0 任意非零小数/0 - Infinity - 无穷大
    0/0.0 0.0/0.0 0.0/0 - NaN - Not a Number - 非数字
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值