前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小闫陪你入门 Java (三)

小闫陪你入门 Java (三)

作者头像
小闫同学啊
发布2019-09-24 14:46:54
5030
发布2019-09-24 14:46:54
举报
文章被收录于专栏:小闫笔记

"

First say to yourself what you would be; and then do what you have to do.

—— Epictetus

首先,对自己说想要成为什么样的人;然后做一切必须做的。

"

7.Java 运算符

7.1算术运算符

加减乘除与 Python 中一致,分别为 +-*/。取余为 %。不同的有以下两种,分别为自增和自减。

自增为 ++,自减为 --。即一个数字加1或者减1。

代码语言:javascript
复制
public class HelloDemo {
    public static void main(String[] args) {
        // 运算符
        int i1 = 10;
        int i2 = 22;
        int i3 = 25;
        int i4 = 66;
        System.out.println("i1 + i2 = " + (i1 + i2));
        System.out.println("i3 - i2 = " + (i3 - i2));
        System.out.println("i4 * i1 = " + (i4 - i1));
        System.out.println("i2 / i1 = " + (i2 / i1));

        // 自增自减
        ++i1;
        System.out.println(i1);
        --i1;
        System.out.println(i1);
    }
}

详解自增/自减:

代码语言:javascript
复制
int b = ++a;

上述过程其实为两步,第一步为加 1 后重新赋值,第二步为将新值 a 赋值给 b。

代码语言:javascript
复制
int b = a++

此过程与之前不同,它是先将 a 赋值给 b,然后 a 自增操作。

自减同理

7.2 关系运算符

关系运算符即比较两个数值之间的关系,如大小等。与 Python 中相同的为 == 表示相等; != 表示不相等; > 表示大于; < 表示小于; >= 表示大于等于; <= 表示小于等于。

代码语言:javascript
复制
public class HelloDemo {
    public static void main(String[] args) {
        int s = 10;
        int n = 20;
        System.out.println("s == n = " + (s == n) );
        System.out.println("s != n = " + (s != n) );
        System.out.println("s > n = " + (s > n) );
        System.out.println("s < n = " + (s < n) );
        System.out.println("n >= s = " + (n >= s) );
        System.out.println("n <= s = " + (n <= s) );
    }
}

7.3 位运算符

位运算符即将十进制等数字转换为二进制数字后,对每一个位置上字符进行操作。如下示例,大家可以理解一下:

代码语言:javascript
复制
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011

操作符

描述

如果相对应位都是1,则结果为1,否则为0

|

如果相对应位都是 0,则结果为 0,否则为 1

^

如果相对应位值相同,则结果为0,否则为1

按位取反运算符翻转操作数的每一位,即0变成1,1变成0。

<<

按位左移运算符。左操作数按位左移右操作数指定的位数。

>>

按位右移运算符。左操作数按位右移右操作数指定的位数。

>>>

按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

7.4 逻辑运算符

逻辑运算符即与或非关系。与 Python 不同, && 表示与关系; || 表示或关系; ! 表示非关系。

7.5 赋值运算符

下面列出 Java 中的赋值运算符:

操作符

描述

=

简单的赋值运算符,将右操作数的值赋给左侧操作数

+ =

加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数

- =

减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数

* =

乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数

/ =

除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数

(%)=

取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数

<< =

左移位赋值运算符

>> =

右移位赋值运算符

&=

按位与赋值运算符

^ =

按位异或赋值操作符

| =

按位或赋值操作符

7.6 三元运算符

Java 中三元运算符与 Python 中大不一样,其表示为:

代码语言:javascript
复制
类型 变量 = 表达式 ? 如果条件为真时的操作 : 条件为假时的操作

关键在于符号 ?:

7.7 instanceof 运算符

它是用来判断某个变量是否为某类型或者某个对象是否为某类或者接口的一个对象。如果是为真。例如:

代码语言:javascript
复制
String name = "Ethan";
boolean result = name instanceof String;

class Vehicle {}
public class Car extends Vehicle {
   public static void main(String[] args){
      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result);
   }
}

7.8 运算符优先级

运算符优先级是如果代码中包含多种运算符,那么优先执行谁的问题。其如数学,有括号先括号(小括号优先于中括号),乘除优先于加减等等。

下面附网上一个表格,具有最高优先级的运算符在表的最上面,最低优先级的在表的底部,以供大家忘记时进行查看:

类别

操作符

关联性

后缀

() [] . (点操作符)

左到右

一元

+ + - !〜

从右到左

乘性

* /%

左到右

加性

+ -

左到右

移位

>> >>> <<

左到右

关系

>> = << =

左到右

相等

== !=

左到右

按位与

左到右

按位异或

^

左到右

按位或

|

左到右

逻辑与

&&

左到右

逻辑或

| |

左到右

条件

?:

从右到左

赋值

= + = - = * = / =%= >> = << =&= ^ = | =

从右到左

逗号

左到右

8.循环

循环即将相同的逻辑多次执行。与 Python 相同,它也有 while 循环和 for 循环,但是其比 Python 多了一种 do...while 循环。下面即详细看看。

8.1 while 循环

先来看其基本语法,即布尔表达式为 True 时循环一直执行。

代码语言:javascript
复制
while( 布尔表达式 ) {
    // 循环执行逻辑
}

示例如下:

代码语言:javascript
复制
public class Test {
    public static void main(String args[]) {
        // while 循环
        int int1 = 10;
        while (int1 > 0) {
            System.out.println(int1);
            int1--;
        }
    }
}

8.2 for 循环

for 循环如同 Python 中的 for 循环一样,生来就是简化代码操作的。

代码语言:javascript
复制
for(初始化; 布尔表达式; 更新) {
    // 代码语句
}

大家看到上述语法也许有些懵逼,我们类比 Python 中的 for 循环进行解读。Python 中:

代码语言:javascript
复制
for i in range(3):
    print(i)

要想达到同样的效果,Java 中代码如下:

代码语言:javascript
复制
public class Test{
    public static void main(String args[]) {
        // for 循环
        for (int x = 0; x < 3; x = x + 1){
            System.out.println(x);
        }
    }
}

即在 for 后的括号中,先填写一个控制循环的变量,再填写一个判断条件,最后更新变量值已达到控制循环的目的。

从上述代码可以看出 Java 确实代码量比 Python 多一点。

增强 for 循环:

大家想起 Python 中有如下操作:

代码语言:javascript
复制
namelist = ['Ethan', 'yan', 'liang']
for name in list:
    print(name, end=",")

可以循环遍历姓名列表并且打印输出,那么 Java 中呢?Java 从 Java5 的时候引入了一种方式,称为增强操作,写为如下:

代码语言:javascript
复制
public class Test {
    public static void main(String args[]){
        // 增强for循环
        String [] namelist = {"Ethan", "yan", "liang"};
        for (String name: namelist) {
            System.out.print(name);
            System.out.print(",");
        }
    }
}

注意:其中列表并不是中括号,而是大括号。 print() 函数打印输出后不会执行换行操作。

8.3 do... while 循环

此循环与 while 循环类似,不同点在于 do...while 循环至少执行一次。(如判断条件不满足,while 循环不会执行,但是 do...while 循环会执行一次)先来看起语法:

代码语言:javascript
复制
do {
    // 代码语句
}while( 布尔表达式 )

其实从代码中即可分析出原因,因为代码块先执行,条件表达式后执行。

代码语言:javascript
复制
public class Test {
    public static void main(String args[]) {
        int a = 10;
        do {
            System.out.println(a);
            a--;
        }while (a<0);
    }
}

上例中 while 的判断条件不满足,如果是 while 循环的话则不会执行;而上述例子大家可以进行验证,会返回 10。

8.4 终止循环

与 Python 中相同,Java 中也有两个关键字用来终止循环,一个为 break,一个为 continue。

break:终止当前循环。

continue:终止本次循环。(比如循环输出1到10,在7的时候遇到了语句 continue,那么7不会输出,而8、9等正常输出)

9.条件语句

9.1 if

我们来看一下最简单的 if 语句如何书写:

代码语言:javascript
复制
if( 布尔表达式 ) {
    // 布尔表达式为true时执行的语句
}

示例如下:

代码语言:javascript
复制
public class Test{
    public static void main(String args[]){
        // if
        int i = 1;
        if(i==1){
            System.out.println("值为1");
        }
    }
}

Java 中字符串用双引号包裹。

9.2 if...else

语法为:

代码语言:javascript
复制
if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

过于简单,不再示例。

9.3 if...else if...else

此为多条件判断情况,语法如下:

代码语言:javascript
复制
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

类比于 Python 中的语法:

代码语言:javascript
复制
if 条件1:
    条件为真时执行
elif 条件2:
    条件为真时执行
else:
    条件都不满足时执行

其实 elif 就是 elseif 的缩写。

当然,Java 中的条件语句也支持嵌套操作

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7.Java 运算符
    • 7.1算术运算符
      • 7.2 关系运算符
        • 7.3 位运算符
          • 7.4 逻辑运算符
            • 7.5 赋值运算符
              • 7.6 三元运算符
                • 7.7 instanceof 运算符
                  • 7.8 运算符优先级
                    • 8.1 while 循环
                      • 8.2 for 循环
                        • 8.3 do... while 循环
                          • 8.4 终止循环
                            • 9.条件语句
                              • 9.1 if
                              • 9.2 if...else
                              • 9.3 if...else if...else
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档