• java 运算


    参数传递

    Java 的参数是以值传递的形式传入方法中,而不是引用传递。

    以下代码中 Cat cat的 cat是一个指针,存储的是对象的地址。在将一个参数传入一个方法时,本质上是将对象的地址以值的方式传递到形参中。因此在方法中使指针引用其它对象,那么这两个指针此时指向的是完全不同的对象,在一方改变其所指向对象的内容时对另一方没有影响。

    如果在方法中改变对象的字段值会改变原对象该字段值,因为改变的是同一个地址指向的内容。

    float 与 double

    Java 不能隐式执行向下转型,因为这会使得精度降低。

    1.5 字面量属于 double 类型,不能直接将 1.5 直接赋值给 float 变量,因为这是向下转型。

    1.5f 字面量才是 float 类型。

    隐式类型转换

    因为字面量 1 是 int 类型,它比 short 类型精度要高,因此不能隐式地将 int 类型下转型为 short 类型。

    但是使用 += 或者 ++ 运算符可以执行隐式类型转换。

     上面的语句相当于将 s1 + 1 的计算结果进行了向下转型:

    switch

    • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
    • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
    • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
    • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
    • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
    • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

    switch 不支持 long,是因为 switch 的设计初衷是对那些只有少数的几个值进行等值判断,如果值过于复杂,那么还是用 if 比较合适。

     

  • 相关阅读:
    时间复杂度 空间复杂度
    qt 打开串口 UI卡死
    python 网络编程
    Java 理解泛型的基本含义
    Java LinkedList 和 ArrayList
    Java renameTo()重新命名此抽象路径名表示的文件
    Java separatorChar 如何在Java里面添加
    Java 遍历文件夹里面的全部文件、指定文件
    Java File文件操作 创建文件目录,删除文件目录
    Java toString()方法的神奇之处
  • 原文地址:https://www.cnblogs.com/woxbwo/p/11477248.html
Copyright © 2020-2023  润新知