zoukankan      html  css  js  c++  java
  • Java初学者:条件判断及其语句

    今天我们要说的是条件判断语句,条件判断是编程里最最常用最最基本的技巧。那么什么叫条件判断呢? 翻译成白话文就是“如果。。。。那么。。。。”的意思。比如,如果今天下雨,我就在家呆着; 如果下雪,我就出去打雪仗; 等等等等。在java里,我们这么表示这样的东西:if.....来表示这样的逻辑。下面我们来介绍一下java里条件表达式,然后再介绍常见的几种条件判断语句。

        首先,条件表达式,最常用的有>, >=, <, <=, ==, String类的equals函数,其他各类库中返回值为布尔值的内建函数,用户自定义的返回值为布尔值的函数。我们在这里暂时不讨论后面几种情况,我们只说一下前面几种:

    1. >, >=, <, <=,这些没什么可说的对吧,就是数学里面的不等号,7>=5,会返回一个true的布尔值,9>10,会返回一个false的布尔值。

    2. ==,这就是等于的意思,之所以要单拿出来说,是因为双等号表示的是条件判断,而作为人类,我们经常会写成单等号,比如,8==8,会返回一个true的布尔值,但是8=8呢?这将是一个错误,因为你实际上是试图把右边的整型数据8赋值给左边的8,而左边的8并不是一个变量名。如果你这样做:int n; n = 8; 这将是一个赋值操作,只是一个行为,并不会返回任何值。

    3. String类的equals函数,在java中,最好不要用==来比较两个字符串是否相同。因为如果你使用==来比较两个字符串,那么实际上你是在比较两个字符串的内存引用地址,一般来说,是不同的,但是java编译器不会报错,因为java认为你在比较两个字符串的内存引用地址。如果要比较两个字符串内容是否相同,需要使用equals函数。我们来做个简单的例子,如下:

    从上面可以看出,==对于s1和s3的比较没有发生作用,或者说,给了我们一个false的值(因为里面的操作没有执行),而==对于s1和s2的比较,竟然起了作用,你也许会问,你刚才不是说不要使用==吗?对啊,可是我还是说了,如果你使用==来比较两个字符串,实际上是比较两个字符串的内存引用地址。我们来看看我们的程序,String s1 = "Canada"; String s2 = "Canada"; String s3 = new String("Canada"); s1和s2的这种定义方式,会使得他们指向同一个内存地址,而s3的定义方式,实际上是为s3开辟了一个新的内存地址。所以当使用==比较s1和s3的时候,由于比较的是内存地址,所以不相同,返回false,if里面的操作没有执行。 而使用==来比较s1和s2的时候,由于两者指向了同一个内存地址,所以返回了true,执行了if内部的操作。

        string1.equals(string2)是比较字符串string1和括号里的string2内容上是否完全相同,如果相同则返回true,否则返回false。

        string1.equalsIgnoreCase(string2)是比较字符串string1和括号里的string2内容上是否相同,忽略大小写。如果在不考虑大小写的情况下相同,则返回true,否则返回false。

        另外,也可以使用String的compareTo和compareToIgnoreCase方法,这两个并不常用,我们会在以后的String操作里详细介绍。

        接下来我们说一下条件判断语句的格式,一般有以下常见的几种格式:

    1. if(条件){执行的操作},这是最基本的条件判断语句,表示当某条件为真的时候,执行某种操作。

    2. if(条件){执行的操作1}else{执行的操作2},这表示,当某条件为真的时候,执行操作1,否则,执行操作2。

    3. if(条件1){执行的操纵1}else if(条件2){执行的操作2}else if(条件3){执行的操作3}...else if(条件n){执行的操作n}else{执行的操作},这表示,当条件i成立时,执行操作i,如果都不成立,则执行最后的操作。

        以上就是常见的条件判断语句,下面我们来看个简单的例子,在这里例子中,我们让用户输入两个浮点型数据,然后计算第一个浮点型数据的ln值,如果大于第二个数据,输出一条信息,如果小于第二个数据,输出另外的信息,如果等于,再输出别的信息。代码如下:

    好了,今天我们简单说了一下java的条件判断,条件判断在所有编程里都是很重要的,几乎所有的程序,从几十行的简单程序到上万行的大项目,都会频繁用到条件判断,所以请读者多多练习。

  • 相关阅读:
    ClickOnce發布經驗
    reporting Server組件不全引起的致命錯誤
    異步調用
    Usercontrol Hosted in IE
    MATLAB命令大全(转载)
    一种保护眼睛的好方法
    关于oracle自动编号
    An Algorithm Summary of Programming Collective Intelligence (1)
    An Algorithm Summary of Programming Collective Intelligence (3)
    An Algorithm Summary of Programming Collective Intelligence (4)
  • 原文地址:https://www.cnblogs.com/entry-android/p/5513927.html
Copyright © 2011-2022 走看看