类型转换与运算符

一,类型转换

 

1:隐式转换

将数据类型中,取值范围小的数据,给取值范围大的类型复值,可直接复值

int a = 10;
double b = a;

数据类型范围从小到大

2:强制转换

将一个表示数据范围大的数值变量,赋值给一个范围小的变量。

格式: 目标数据类型  变量名 = (目标数据类型)值或者变量。

注意:强制转换有可能发生精度损失。

3:类型转换案例

 Java存在常量优化机制:

        byte d = 3+4;

        这里的3和4是两个常量,Java存在常量优化机制,全在编译的时候就会让3和4进行相加,然后回自动判断7是否在byte的取值范围呢

                不在范围内; 编译出错

                在范围内:通过编译

小的转大的可以直接转,大的转小的不可以直接装,如果非要转,需要强制转换。

二,运算符

算数运算符

(+,-,*,/,%)整数与整数相除只会的到整数,小数相除才会是小数;% 是取余数。

++a与a++

++a是a先加一再进行运算

a++是a先运算再加一

如果一个int类型的数字加一个char类型的数字,char类型的数字会根据ASCLL将数字转化程int类型的字节数,再进行相加。

赋值运算符

赋值运算符:=,

扩展赋值运算符:+=,-=,*=,/=

        扩展赋值运算符,底层会自带强转。

short a = 1;
a+=1;        // a+=1,相当于  a = (short)(a+1);
System.out.pirntln(a);


//结果
2

两个变量进行交换数值的时候,需要定义一个中间变量

int a = 4 ;
int b = 5 ;
int c ;
c = a;
a = b;
b = c;
System.out.println(a);
System.out.println(b);

结果:
5
4

关系运算符(比较运算符)

>,<,==,>=,<=,!=;

        关系运算符返回的结果都是true和false。

字符的’+‘操作

int a = 1;
char b = 'a';
System.out.println(a+b);

/结果:98

char类型转换为int类型的时候直接转换为ASCLL中的对应的字节数字,再与int类型的数值进行加减。

字符串的+操作

字符串可以使用 + ,跟【任意数据类型】拼接。

转义字符表

逻辑运算符

&  ,  |   ,  &&   ,   ||   , !   ,  ^

        & (与) :并且 ,遇false则false ,只有两边都为true,结果才为true。

        |   (或):或者,遇true则true, 只有两边都为false,结果才为false。

        !(非):取反,

        ^ (异或):两边相同为false,不同为true。

        && :&&具有短路效果,如果左边为false,那么右边的语句就不执行了。

                如果左边为true,右边还会执行:

        & : 无论左边为true或者false,右边都会执行。

        ||:||具有短路效果,如果左边为true,那么右边不执行了。

                如果左边为false,右边还会执行。

        |: 无论两边为true或者false,右边都会执行。

运算符两边链接的都是布尔型的操作数,结果也是布尔型,要么是true要么是false。

三元运算符(条件运算符)

格式: 关系表达式? 表达式1:表达式2。

        首先计算关系表达式的值,如果为true,取表达式1的值,如果为false取表达式2的值。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值