栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java运算符

Java运算符
  • 几乎所有运算符都只能操作基本类型,唯一例外是=、==和!=,它们能操作所有对象。
  • String类支持+和+=。
检查对象是否相等
//: Equivalence.java

public class Equivalence {
  public static void main(String[] args) {
    Integer n1 = new Integer(47);
    Integer n2 = new Integer(47);
    System.out.println(n1 == n2);
    System.out.println(n1 != n2);
  }
} ///:~

以上程序输出:

false
true

因为==、!=比较的是是对象的引用,若想比较两个对象的实际内容是否相同,需要使用特殊方法equals(),此方法不适用与基本类型。

当构建了自己的类Value,并用Value类构建了两个对象时,系统默认的equals()方法是比较引用是否相同。

  • 大多数Java类库都实现了equals(),所以它实际比较的是对象的内容,而非它们的引用。
逻辑运算符

AND(&&),OR(||),NOT(!)只能用于布尔值。

按位运算符

&(按位与),|(按位或),^(按位异或),~(非,一元运算符)

按位运算符可与等号(=)联合使用,以便合并运算及赋值:&=,|=和^=都是合法的(由于~是一元运算符,所以不可与=联合使用)。

  • boolean不能进行按位NOT运算。
三元if-else运算符
布尔表达式 ? 值0:值1
逗号运算符

Java中唯一用到逗号的地方就是for循环

字符串+运算符

若表达式以一个String起头,那么后续所有运算对象都必须是字符串。

int x = 0, y = 1, z = 2;
String sString = "x, y, z ";
System.out.println(sString + x + y + z);

在这里,Java编译程序会将x,y和z转换成它们的字符串形式,而不是先把它们加到一起

类型转换

Java允许我们将任何基本类型“转换”为其他任何一种基本类型,但布尔值(bollean)要除外,后者根本不允许进行任何转换处理。“类”不允许进行转换。

  • 十六进制:用一个前置0x或0X表示。

通常,表达式中最大的数据类型是决定了表达式最终结果大小的那个类型。若将一个float值与一个double值相乘,结果就是double;如将一个int和一个long值相加,则结果为long。

  • java没有sizeof(),因为它与平台无关,所有数据类型在所有机器的大小都是相同的。

  • 将一个float或double值转换成整数值后,总是将小数部分“砍掉”,不作任何进位处理。

  • 在Math.random()的输出中输出值范围是[0,1)。

练习

(1) 写一个程序,打印出1到100间的整数。

class test{
    public static void main(String[] args){
        for(int i = 1; i < 101; i++){
            System.out.println(i);
        }
    }
    
}

(2) 修改练习(1),在值为47时用一个break退出程序。亦可换成return试试。

class test{
    public static void main(String[] args){
        for(int i = 1; i < 101; i++){
            if(i == 47)
                break;//return ;
            System.out.println(i);
        }
    }
    
}

(3) 创建一个switch语句,为每一种case都显示一条消息。并将switch置入一个for循环里,令其尝试每一种case。在每个case后面都放置一个break,并对其进行测试。然后,删除break,看看会有什么情况出现。

class test{
    public static void main(String[] args){
        for(int i = 0; i < 3; i++){
            switch(i){
                case 0:
                    System.out.println("num 0");
                    break;
                case 1:
                    System.out.println("num 1");
                    break;
                case 2:
                    System.out.println("num 2");
                    break;
            }
        }
    }
    
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号