Java学习路线(3)——基础数据类型操作

一、自动类型转换
1、什么是自动类型转换?
自动类型转化是范围小的数据可赋值给范围大的数据且精度不损失,且可以跨越式转化。
基础数据类型之间的转换如下:
byte(1)—short(2)—char(2)—int(4)—long(8)—float(4)—double(8)

2、表达式的自动类型转换
表达式的小范围类型变量会自动转换为当前最大范围的类型再进行运算,最终结果类型由表达式中的最大范围类型决定。

        byte a = 97;
        short b = 97;
        char c = 'a';
        int d = a+b+c;
        System.out.println(d); 	//291

这里需要注意的是:当byte,short,char进行运算时,会同步转换为int类型进行运算,以避免数据越界。

3、强制类型转换
当我们需要将大范围类型变量赋值给小范围类型变量时,我们需要用到强制类型转换,若截取长度超过小范围类型变量长度,则精度损失。当浮点型转为整数时,向下取整返回。

  • 格式:【(类型)变量/数据】
  • 原理:以小范围类型变量长度截取大范围变量数据并赋值。
    在这里插入图片描述

二、运算符

  • 基本运算符(+,-,*,/,%)
	/*由于数与数计算是通过int进行计算
	所以需要与浮点数相乘才能以浮点数的形式进行输出
	*/
        int a = 10;
        int b = 3;
        System.out.println(a + b);//13
        System.out.println(a - b);//7
        System.out.println(a * 1.0 * b);//30.0
        System.out.println(a * 1.0 / b);//3.3333333333333335
        System.out.println(a % b);//1
  • +符号运算符
    **两种形式:**连接符(字符串连接)、计算符(数值计算)
    **原则:**能算就算,不能算则连接。
  • 自增自减
符号作用说明
++自增变量自身加1
自减变量自身减1

自增自减运算符在变量的位置不同,则效果不同。
(1)当运算符在变量之前,则表示本次变量先运算,下一次调用运算后的变量。
(2)当运算符在变量之后,则表示下次调用运算前的变量值,再运算,当下一次调用运算为运算后的变量。

  • 赋值运算符
    基本赋值 “=”,将右侧数值赋值给左侧变量。
    扩展赋值是隐含强制转换数据类型。
符号作用说明
+=加后赋值先加后赋,类似与前置++运算
-=加后赋值先减后赋,类似与前置–运算
/=加后赋值先除后赋
*=加后赋值先乘后赋
%=加后赋值先余后赋
  • 关系运算符
    作用: 对数据进行判断,并返回一个布尔结果
符号说明
==数值相等条件
!=左侧不等于右侧条件
<=左侧小于等于右侧条件
>=左侧大于等于右侧条件
>左侧大于右侧条件
<左侧小于右侧条件
  • 逻辑运算符
    作用: 可以把多个布尔结果整体运算,最终返回一个布尔结果。
符号介绍说明
&逻辑与比较值都为true则为true
|逻辑或比较值一个为true则为true
^逻辑异或比较值不同则为true
!逻辑非比较值取反
&&短路与效果与&相同,若前一个结果为false则后表达式不执行
||短路或效果与|相同,若前一个结果为true则后表达式不执行
  • 三元运算符
    作用: 简易判断语句
    格式: 【数据类型 变量 = 条件表达式?值1:值2】
    注意: 值1和值2不能是表达式。

上一篇:Java学习路线(2)——基础语法

下一篇:Java学习路线(4)——程序流程控制

JaveSE 目录

Java学习路线(1)——Java开端
Java学习路线(2)——基础语法
Java学习路线(3)——基础数据类型操作
Java学习路线(4)——程序流程控制
Java学习路线(5)——数组
Java学习路线(6)——方法
Java学习路线(7)——面向对象基础
Java学习路线(8)——面向对象基础(2)
Java学习路线(9)——包、权限、常量、枚举、抽象类、接口
Java学习路线(10)——多态与内部类
Java学习路线(11)——常用API
Java学习路线(12)——日期、包装类、正则表达式、数组、常见算法与Lambda表达式
Java学习路线(13)——Collection集合类:List集合与Set集合
Java学习路线(14)——Map集合类
Java学习路线(15)——不可变集合,Stream操作类
Java学习路线(16)——异常
Java学习路线(17)——日志框架
Java学习路线(18)——File、递归、字符集和IO流(上)
Java学习路线(19)——IO流(下)
Java学习路线(20)——多线程
Java学习路线(21)——网络通信
Java网络通讯案例——即时通讯(控制台版)
Java网络通信案例——B/S结构模拟
Java学习路线(22)——测试框架Junit
Java学习路线(23)——反射机制
Java学习路线(24)——注解
Java学习路线(25)——动态代理
Java学习路线(26)——XML与设计模式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zain_horse

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

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

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

打赏作者

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

抵扣说明:

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

余额充值