Java基本数据类型

在这里插入图片描述
引用数据类型占四个字节,用来表示对象的地址
a*=b+3;//相当于a=a*(b+3)

JAVA语言整型变量的四种表达形式

二进制整数:以0b或0B开头
八进制整数:以0开头
十进制整数,如:999,-500
十六进制整数:以0x或0X开头
JAVA语言的整型常数默认为int型,声明long型常量数字后应加"L"或"l"

浮点数

float类型的数字后要加"F"或"f",没有后缀"F"或"f"默认为double类型。
浮点类型的数字不适合比较,计算不精确,可引用BigDecimal类

字符型变量

char字符
string字符串(字符序列)
转义字符:{"\b"退格,"\n"换行,"\r"回车,"\t"制表符(Tab),"\"反斜杠,"是双引号,'是单引号}

布尔类型变量

布尔类型在内存中只占一位(不是一个字节),不可以用0或非0的整数替代true和false。

运算符

在这里插入图片描述
##二元运算符运算规则

整数运算

  1. 有一个操作数为long,结果为long
  2. 没有long,结果默认int。即使操作数全为short,byte,结果还是int
    浮点运算
  3. 有一个为double,结果为double
  4. 全是float,结果为float

取模运算

  1. -7%3=-1(余数符号与左边操作符相同)
    一元运算符++与–

  2. ++a(先自增再赋值)

  3. a++(先赋值再自增)

扩展赋值运算符

在这里插入图片描述

关系运算符

运算结果为只有 true 或 false
一个等号是赋值,两个等号判断是否相等

逻辑运算符

&&短路与:只要有一个为false,则直接返回false
||短路或:只要有一个为true,则直接返回true

位运算符

<<左移运算符 如int a = 12<<2 //相当于12x2x2

右移运算符 如int b = 12>>2 //相当于12/2/2

字符串运算符“+”
在这里插入图片描述

三元运算符

x ? y : z // 其中x为boolean类型表达式,先计算x的值,若为true,则整个运算的结果为表达式y的值,否则整个运算结果为表达式z的值
运算符优先级的问题
在这里插入图片描述
**

**自动类型转化


容量小的数据类型可以自动转化为容量大的数据类型。
在这里插入图片描述
虚线表示转换时可能会有精度的损失

  • 可以将整型变量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,不超出其表数范围即可。
short b = 12;  //合法
short a = 12345;//非法,超出short的表数范围

强制类型转换

double x = 3.99;
int nx = (int)x;  //值为3,去除小数部分

常见错误: 溢出 和 L 问题
溢出:为避免溢出可先将一个因子强制转为long,整个表达式发生提升。全部用long来计算。

int money = 1000,000,000;//10亿
int years = 20;
int total1 = money*years;
System.out.println(total1);//返回的total是负数,默认为int,但超出了int的范围
long total2 = money*(long)years;
System.out.println(total2);//正确

L问题:不建议用小写l和大写L定义变量,long类型数的结尾最好用大写L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值