• 【Java基础】类型转换与常用运算符


    ​个人简介

    > 📦个人主页:轻狂客_零度的主页
    > 🏆学习方向:JAVA后端开发 
    > 📣种一棵树最好的时间是十年前,其次是现在!
    > ⏰往期文章:VUE [入门篇(三)]
    > 🧡喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。

    前言:

    关于Java语言基础知识我们需要学会什么?

    类型转换知识

    如何实现程序中不同类型的变量或者数据互相传输,不同类型的数据运算的结果数据的类型如何确定?

    运算符的使用

    程序中怎么进行数据的基本算术运算,以及一些逻辑运算,Java提供了具体的哪些运算方式

    怎么调用Java提供的程序

    程序员需要调用Java写好的一些程序,这些程序如何去调用

    活动地址:CSDN21天学习挑战赛

    目录

    前言:

    1. 类型转换

    1.1 自动类型转换

    1.2 表达式的自动类型转换

    1.3 强制类型转换

    2. 运算符

    2.1 普通四则运算符

    2.2 取余 %

    2.3 自增自减运算符

    2.4 比较运算符

    2.5 练习题: ==比较的练习

    2.6 逻辑运算符

    2.7 三目运算符

    2.8 复合赋值运算符

    2.9 赋值运算符

    2.10 拼接功能

    2.11 位运算符

    2.12 优先级控制

    2.13 拓展

    3. 案例知识: 键盘录入技术


    1. 类型转换

    1.1 自动类型转换

     1. 为什么要进行类型转换?

       存在不同类型的变量赋值给其它类型的变量.

     2. 自动类型转换是什么样的?

       类型范围小的变量,可以直接赋值给类型范围大的变量. 

    1.2 表达式的自动类型转换

      1. 表达式的自动类型转换是什么样的?

        小范围的类型会自动转换成大范围的类型运算.

      2. 表达式的最终结果类型是由谁决定的?

         最终类型由表达式中的最高类型决定.

      3. 表达式有哪些类型转换是需要注意的?

         byte, short, char 是直接转换成int 类型参与运算的/ 

    1.3 强制类型转换

      1. 什么是强制类型转换?

        可以强行将类型范围大的变量, 数据赋值给类型范围小的变量.

         数据类型    变量  =  (数据类型)变量, 数据

      2. 强制类型转换有哪些需要注意的?

        1).可能会出现数据丢失.

        2).小数强制转换成整数时直接截断小数保留整数.

    口诀:小转大,直接转 大转小,强制转 浮变整,小数没

    注意:布尔类型不参与类型转换
    注意:基本类型之间能否转换,不取决于字节数,字节数只能做参考,取决于类型的取值范围
    注意:我们这里所说的是基本类型之间的转换,引用类型之间的转换取决于是否有继承关系
    比如:你可以说小猫是小动物,但是不能说小猫是小汽车,不然后面的这种错误的情况会报:类型转换异常

    2. 运算符

    2.1 普通四则运算符

    + - * / ,普通的四则运算,并不能直接改变变量本身的值,除非 i = i*10+8

    2.2 取余 %

      6%4=2 6%3=0(余数为0表示整除)

    2.3 自增自减运算符

    1)可以改变变量本身的值
    2)前缀式: 符号在前,先改变变量本身的值(+1/-1),再使用(打印/参与运算…)
    3)后缀式: 符号在后,先使用(打印/参与运算…),再改变变量本身的值(+1/-1)
    4)注意:不管是前缀式还是后缀式,一定是会改变变量本身的值,区别在于执行的时机不同

    2.4 比较运算符

    1. 比较运算符最终的结果是布尔类型的
    2. == 比较的是左右两边的值是否相等 !=比较的是左右两边的值是否不相等

    2.5 练习题: ==比较的练习

    1. package cn.tedu.basic;
    2. /*本类用于测试运算符*/
    3. public class TestOperator {
    4. public static void main(String[] args) {
    5. //创建小猫类的对象
    6. Cat c1 = new Cat();
    7. Cat c2 = new Cat();
    8. int[] a1 = {1,2,3};
    9. int[] a2 = {1,2,3};
    10. int b1 = 4;
    11. int b2 = 4;
    12. boolean f1 = true;
    13. boolean f2 = true;
    14. /*==如果比较的是引用类型,比较的值是引用类型变量保存的地址值*/
    15. System.out.println(c1 == c2);//false
    16. System.out.println(a1 == a2);//false
    17. /*==如果比较的是基本类型,比较的值就是字面值,也就是这个变量具体存的那个数*/
    18. System.out.println(b1 == b2);//true
    19. System.out.println(f1 == f2);//true
    20. }
    21. }
    22. class Cat{
    23. String name;
    24. int age;
    25. public void bark(){
    26. System.out.println("喵喵叫");
    27. }
    28. }

    2.6 逻辑运算符

    双与/短路与/&& :
    判断逻辑与&一致,增加了短路的功能全真才真,有假则假
    双或/短路或/|| :
    判断逻辑与|一致,增加了短路的功能全假才假,有真则真
    注意:我们这里所说的短路,是指在某些情况下,表达式后半部分就不用计算了,因为我们已经知道了结果,也就是被短路了,短路可以提高程序的性能,但是短路不一定会用到

    2.7 三目运算符

    1 ? 2 : 3; 1是表达式,1真取2,1假取3

    2.8 复合赋值运算符

    += -= *= /=是一种简写的形式,比较方便,运算时会自动进行类型转换

    2.9 赋值运算符

    = ,右边给左边

    2.10 拼接功能

    +

    2.11 位运算符

    主要参与的是二进制的运算

    &与:全真才真
    | 或:全假才假
    ^异或:相同为0 不同为1
    ~ 非: 非0为1,非1为0

    2.12 优先级控制

    如果表达式的运算比较复杂,需要控制优先级,可以使用小括号

    2.13 拓展

    instanceof

    3. 案例知识: 键盘录入技术

    需求: 

    请完成Java程序与用户交互,比如录入用户输入的名称, 年龄, 怎么办?

    API(Application Programming Interface,应用程序编程接口)

     Java写好的程序(功能代码),咱们可以直接调用.

    Oracle 也为Java 写好的程序提供了相应的 API文档(技术使用说明书)

    下载API文档:

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

    键盘录入功能实现的三个步骤:

     1. API是什么?

    Application Programming Interface,应用程序编程接口。
    Java写好的程序,咱们可以直接调用。
    2. 键盘录入的开发步骤
    导包:import java.util.Scanner;
    抄写代码得到扫描器对象: Scanner sc = new Scanner(System.in)
    抄写代码等待接收用户输入的数据: sc.nextInt() 、sc.next()
  • 相关阅读:
    Linux简单命令之用户组操作
    Jmeter进行HTTPS接口压测及SSL证书验证
    Flink入门系列02-编程基础
    django学习之路(1)-初识 Django
    【镜像转存】利用交互式学习平台killercoda转存K8S镜像至Docker私人仓库
    5、ByteBuffer(基础使用)
    使用pydumpck反编译pyintaller生成的exe文件 python3.10
    刷题记录(NC16664 [NOIP2004]合唱队形,NC235954 滑雪,NC235948 最大子串和,NC235624 牛可乐和最长公共子序列)
    Linux设备驱动之gpio-keys
    数学统计:均值、标准差、方差、协方差
  • 原文地址:https://blog.csdn.net/LKS_010620/article/details/126165543