Day02-数据类型转换-各类运算

今日主要内容是昨天提到的数据类型转换的详解和各类数据运算

数据类型转换

当数据类型不一样的时候,会发生数据类型转换:

1.自动类型转换(隐式)

a.代码不需要进行特殊处理,自动完成
b.规则:数据范围从小到大
容量小的数据类型自动转换为容量大的数据类型:
byte/short/char --> int --> long --> float --> double

2.强制类型转换(显性)

1.特点:代码需要进行特殊格式处理,不能自动完成
2.格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
注意事项:
1.强制类型转换一般不推荐使用,因为可能会发生精度损失,数据溢出
2.byte,short,char这三种类型都可以发生数学运算,在运算的时候,首先会被提升为int类型,然后再计算
3.boolean类型不能发生数据类型转换

ASCII码表

需要记住三个常见的数字与符号的对应关系:
‘0‘ 对应 48
’A‘ 对应 65
’a‘ 对应 97

数据运算

四则运算:加 +、减 -、乘 *、除 /、取模运算 % (两个整数相除取余数)
注意事项:一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。

+ 加

+号常见的三种用法:
1.对于数值来说,那就是加法
2.对于字符char来说,char会被提升为int,然后再计算,上面有提到。
char类型字符与int类型数字之间的对照关系:ASCII\Unicode
3.对于字符串String来说,加号代表的字符串的连接操作
注意事项:任何数据类型和字符串进行连接的时候,结果都会变成字符串。

自增运算符和自减运算符—重点学习

自增运算符:++,让一个变量涨一个数字1
自减运算符:–,让一个变量降一个数字1
格式:写在变量名之前或之后。例如 num++或者++num,注意这两种格式是有区别的,区别下面会提到,认真学习。
使用方式:
1.单独使用:不和其他任何操作混合,自己独立成为一个步骤,如: num++;
2.混合使用:和其它操作混合,例如与赋值混合,或者与打印操作混合,等
使用区别:
1.在单独使用的时候,前++和后++没有任何区别,也就是 ++num; 和 num++;完全一样。
2.在混合使用时候有【重大区别】:
A.如果是【前++】,如 ++num,那么变量立刻马上+1,然后再拿着结进行使用。【先加后用】
B.如果是【后++】,如 num++,那么首先使用变量本身的数值,然后再让变量+1。【先用后加】
注意事项:只有变量才能使用自增、自减运算符,常量不可发生改变,所以不能使用。

public class DemoOperator {
public static void main(String[] args) {
int num1 = 10;
System.out.println(num1);
++num1;//单独使用,前++
System.out.println(num1);//11
num1++;//单独使用,后++
System.out.println(num1);//12
System.out.println("=========================");

//与打印操作混合的时候
int num2 = 20;
//混合使用,先++,变量立刻马上变成21,然后打印结果21
System.out.println(++num2);//21
System.out.println(num2);//21
System.out.println("=========================");

int num3 = 30;
//混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31
System.out.println(num3++);//30
System.out.println(num3);//31
System.out.println("=========================");

int num4 = 40;
//和赋值操作混合
int result1 = --num4;//混合使用,前--,变量立刻马上变成39,然后将结果39交给result1变量
System.out.println(result1);//39
System.out.println(num4);//39
System.out.println("=========================");

int num5 = 50;
int result2 = num5--;//混合使用,后--,首先把本来的数字50交给result2,然后num5自己-1变成49
System.out.println(result2);//50
System.out.println(num5);//49
System.out.println("=========================");

int x = 10;
int y = 20;
//11 + 20 = 31
int result3 = ++x + y--;//31
System.out.println(result3);//31
System.out.println(x);//11
System.out.println(y);//19
System.out.println("=========================");

//30 ++;//这是一种错误写法,常量不能自增自减。
}
}

赋值运算符

1.基本赋值运算符:=,代表将右侧的数据交给左侧的变量,如 int a = 10;
2.复合赋值运算符:

+=a 		+= 3	相当于 	 a = a + 3
-=b 		-= 4	相当于	 b = b - 4
*=c		    *= 5	相当于	 c = c * 5
/=d		    /= 6	相当于	 d = d / 6
%=e 	    %= 7	相当于	 e = e % 7

注意事项:
1.只有变量才能使用赋值运算符,常量不能进行赋值
2.复合赋值运算符当中隐含了一个强制类型转换。

比较运算符

大于: >
小于: <
大于等于:>=
小于等于:<=
相等:== 【两个等号连在一起才是相等,一个等号代表赋值】
不相等:!=

注意事项:
1.比较运算符的结果一定是boolean值,成立是true,不成立是false
2.如果进行多次判断,不能连着写。如果要多次判断,用下面的逻辑运算符

逻辑运算符

与(并且) && 全部都是true,才是true,否则就是false
或(或者) || 只要有一个是true,就是true,全是false,才是false
非(取反) !本来是true,变成false,本来是false,变成true

短路:
与“&&”,或“||”,具有短路效果:如果根据左边就已经可以判断结果,那么右边的代码将**【不再执行】**。

注意事项:
1.逻辑运算符只能用于boolean值。
2.与、或 需要左右各有一个boolean值,但是取反只要有唯一的一个boolean值即可。
3.与、或两种运算符,如果有多个条件,可以连续写。
两个条件:条件A && 条件B
三个条件:条件A && 条件B && 条件C

三元运算符

1.一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
2.二元运算符:需要两个数据才可以操作的运算符。例如:加法+、赋值=
3.三元运算符:需要三个数据才可以进行操作的运算符

三元运算符格式:
数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;

三元运算符流程(含义):
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量
如果不成立为false,那么将表达式B的值赋值给左侧的变量
二者选其一

注意事项:
1.对于三元运算符,必须同时保证表达式A和表达式B都符合左侧数据类型的要求
2.三元运算符的结果必须被使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ATZYDEVIL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值