Java教程笔记05

常用数据类型的兼容性

数值类型的兼容性

整数数据类型:byte short int long

浮点数数据类型:float double

自动数据类型转换规则:

由小范围的数据类型可以自动转换为大范围数据类型。因为大范围的数据范围包含小范围的数据范围。

注意:byte类型+short类型 最终也会默认得到int类型

不兼容:

布尔类型与数值类型(可以用三目运算符和类 Boolean.compare)

布尔类型与字符类型

通过实验现象理解数据兼容性

  1. 计算不同数值类型的加法,默认向高一级的数据类型转换。

  2. 计算布尔类型和整型的加法,

    错误: 二元运算符 '+' 的操作数类型错误

    理由:布尔类型无法自动转为数值类型。

  3. 计算字符类型与整型加法

    会将字符类型转为ASCII码对应的整数值与整型相加

    例如 ‘a’+1=98 因为 ‘a’ 对应的ASCII码的值是 97

    关于强制类型转换规则和实验

    大原则:为确保数据值最终正确,那么我们将大范围的数据类型转为小范围数据类型这个方向转换的时候,要注意这个数据应该是在小范围的数据类型的范围内的,否则就会出现不理想的结果。(取模后的结果)(时钟理论)

    注意:浮点型向整型转换的时候,最终只截取整数部分作为结果。

    强制类型转换格式:

    (目标类型)变量 这样就能得到目标数据类型。(Java18)

    Java运算符的分类以及含义简介

    分类具体运算符
    算数运算符+ - * / %(取余) ++ --
    关系运算符< > <= >= == !=
    位运算符>> << >>>(右移补零) ~ & | ^
    逻辑运算符! && ||
    条件(三目)运算符? :
    分量运算符.
    下标运算符[]
    实例运算符lnstanceof
    内存运算符new
    强制运算符(类型)
    方法调用运算符()

    精通使用算数运算符

    基本运算符

    符号主要有+(加),-(减),*(乘),/(除)

    我们特别要注意除法/

    1. 整数除法 System.out.print(10/4);

      输出结果 2 ,注意这个除法只保留了整数位,说明最终数据转为了int类型

    2. 小数除法 System.out.print(10.0/4);

      输出结果 2.5 ,这样结果是正确的,说明如果想要得到准确的小数,那么我们就要让数值使用默认的小数(double类型)

    3. 除以0 System.out.print(2/0);

      输出结果 Exception in thread "main" java.lang.ArithmeticException: / by zero

    取余运算符

    符号为:% 也可以理解为取模

    1. 通过实验观察%结果

      System.out.print(10%3);//取余数部分,得到1

2.除以0 System.out.print(10%0);

输出结果 Exception in thread "main" java.lang.ArithmeticException: / by zero

3. 负数取余的情况

A%B 这样的类型,其实在系统内运行的时候,会运行A%|B|(绝对值)

递增递减运算符以及实验理解

符号:++(递增) --(递减)

使用:A++ 相当于A=A+1 A--相当于A=A-1

理解:递增发生在变量使用之前还是之后?

be=8888

System.out.print(be++) 输出结果 8888 递增发生在变量使用之后 先使用后递增

System.out.print(++be) 输出结果 8889 递增发生在变量使用之前 先递增后使用

关系运算符

什么是关系运算符?

A 与 B 的关系 得到一个布尔值

有哪些关系运算符?

==(等于) !=(不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)

如何使用关系运算符?

注意:只有数值才能使用关系运算符比较

格式:数值A 关系运算符 数值B

最后将返回的布尔值运用到实际业务中

比较数字实验

boolean be=5>6 结果是false

可以直接根据我们的常识来判断最终布尔类型的结果。

运算符在的优先级,在赋值运算的右侧先进行运算,然后得到结果

比较字符实验

boolean be2='a'>'b'; System.out.print(be2);

输出结果 false 比较的时候,字符会被转为ASCII码值(数值),然后进行比较

如何比较字符串?

需要特别的判断才能比较。

我们举例字符串是否相等的例子。

如果说直接只有==或!=不会报错,jdk可以比较

(不推荐这种方法进行字符串的比较,推荐使用equals方法

使用举例:String bestr="ccc"; Boolean be5=bestr.equals("ccc");System.out.print(be5);输出结果 true)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值