Java基础三

Posted xuweiweiwoaini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础三相关的知识,希望对你有一定的参考价值。

1 运算符

1.1 运算符的常用概念

  • 运算:对常量和变量进行操作的过程。
  • 运算符:对常量和变量进行操作的符号。
  • 操作数:参与运算的数据称为操作数。
  • 表达式:用运算符把常量和变量连接起来的符合java语法的式子称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
    • 例如:int a = 3 + 4;
    • 就是做了一个加法运算。
    • +就是运算符,是算术运算符。
    • 3、4就是参与运算的操作数据。
    • 3+4整体其实就是一个算术表达式。  

1.2 算术运算符

  • +,加法
  • -,减法
  • *,乘法
  • /,除法
  • %,取余
  • ++,自增
  • ---,自减

 

  • 示例:
package com.xuweiwei;

/**
 * 运算符
 */
public class Operator {
    public static void main(String[] args) {
        //定义变量
        int x = 3;
        int y = 4;

        System.out.println(x+y);
        System.out.println(x-y);
        System.out.println(x*y);
        System.out.println(x/y);//整数相除只能得到整数
        System.out.println(x%y);//取余

        /**
         * 如果我想要整数相除不是得到整数,只需要把操作数其中一个操作数变为浮点数即可
         */
        System.out.println(x*1.0/y);

    }
}

 

  • 示例:
package com.xuweiwei;

/**
 * ++、--运算符的应用
 */
public class Operator2 {
    public static void main(String[] args) {
        //定义两个变量
        int x = 3;
        int y = 4;

        System.out.println("x:"+x);
        System.out.println("y:"+y);

        //单独使用
        x++; //相当于x=x+1;
        y++;
        System.out.println("x:"+x);
        System.out.println("y:"+y);



        x =3;
        y=4;
        //参与运算
        int a = x++; //++在后面,先赋值,再自增
        int b = ++y; //++在前面,先自增,再赋值
        System.out.println("x:"+x);
        System.out.println("y:"+y);
        System.out.println("a:"+a);
        System.out.println("b:"+b);


    }
}

1.3 赋值运算符

  • =
  • +=
  • -=
  • *=
  • /=
  • %=

 

  • 示例:
package com.xuweiwei;

/**
 * 赋值运算符
 */
public class Operator3 {
    public static void main(String[] args) {
        int x = 10;

        System.out.println("x:" + x);

        int y = 10;
        y += 20; //相当于y = y + 20;
        System.out.println("y:" + y);
    }
}

1.4 关系(比较)运算符

  • ==,等于
  • !=,不等于
  • <,小于
  • >,大于
  • <=,小于等于
  • >=,大于等于
  • instanceof,检查是否是类的对象,例,"Hello" instanceof String

 

  • 注意事项:
    • ①比较运算符的结果都是boolean类型,要么是true,要么是false。
    • ②比较运算符“==”不要误写为“=”。  

 

  • 示例:
package com.xuweiwei;

/**
 * 关系运算符
 */
public class Operator4 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a > b);
        System.out.println(a >= b);
        System.out.println(a < b);
        System.out.println(a <= b);

    }
}

1.5 逻辑运算符

  • &,与
  • |,或
  • !,非
  • &&,短路与
  • ||,短路或
  • ^,异或

 

  • 示例:
package com.xuweiwei;

/**
 * 逻辑运算符
 * 特点:
 * 逻辑运算符一般用于连接boollean类型的表达式或值
 */
public class Operator5 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        int c = 5;

        //&:一假全假
        System.out.println((a > b) & (a > c)); //false & false = false
        System.out.println((a > b) & (a < c)); //false & true = false
        System.out.println((a < b) & (a > c)); //true & false = false
        System.out.println((a < b) & (a < c)); //true & true = true

        //|:一真全真
        System.out.println((a > b) | (a > c)); //false & false = false
        System.out.println((a > b) | (a < c)); //false & true = true
        System.out.println((a < b) | (a > c)); //true & false = true
        System.out.println((a < b) | (a < c)); //true & true = true

        //^:相同为false,不同为true
        System.out.println((a > b) ^ (a > c)); //false ^ false = false
        System.out.println((a > b) ^ (a < c)); //false ^ true = true
        System.out.println((a < b) ^ (a > c)); //true ^ false = true
        System.out.println((a < b) ^ (a < c)); //true ^ true = false
    }
}

1.6 位运算符

  •  &,位与
  • |,位或
  • ^,位异或
  • ~,反码
  • <<,左移
  • >>,右移
  • >>>,无符号右移

 

  • 示例:
package com.xuweiwei;

/**
 * 位运算符:
 */
public class Operator6 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

        System.out.println(a & b);
        System.out.println(a | b);
        System.out.println(a ^ b);
        System.out.println(~a);
    }
}
package com.xuweiwei;

/**
 * ^
 * 一个数据对另一个数据异或两次,该数本身不变
 */
public class Operator7 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

        System.out.println(a ^ b ^ b);
        System.out.println(a ^ b ^ a);
    }
}
package com.xuweiwei;

/**
 * << :左边最高为丢弃,右边补0
 * >> :最高位为0的时候,左边补齐0;最高位为1的时候,左边补齐1
 * >>> :无论最高位是0还是1,左边补齐0
 */
public class Operator8 {
    public static void main(String[] args) {
        System.out.println(3 << 2);
        System.out.println(24 >> 2);
        System.out.println(-24 >>> 2);
    }
}

1.7 三目运算符

1.7.1 格式

  • (关系表达式)?表达式1:表达式2;
  • 如果关系表达式为true,运算后的结果就是表达式1。
  • 如果关系表达式为false,运算后的结果就是表达式2。

1.7.2 三目运算符的应用

  •  示例:
package com.xuweiwei;

/**
 * 使用三目运算符求两个数的最大值
 */
public class Operator9 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        System.out.println(a >= b ? a : b);
    }
}

 

2 流程控制语句

  • 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来四线我们要完成的功能。
  • 流程控制语句的分类:
    • 顺序结构
    • 选择结构
    • 循环结构  

 

3 顺序结构

  • 是程序中最简单最基本的流程控制,没有特点的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
  • 总的来说,写在前面的先执行,写在后面的后执行。

 

  • 示例:
package com.xuweiwei;

/**
 * 顺序结构
 */
public class orderDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");

        System.out.println("I love java");

        System.out.println("程序结束了");
    }

}

 

4 选择结构

  • 选择结构也称为分支结构。
  • 选择结构有特定的语法规则,代码要执行具体的逻辑运行进行判断,逻辑运算的结果有2个,所以产生选择,按照不同的选择执行不同的代码。
  • Java语言提供了两种选择结构语句
    • if语句
    • switch语句  

 

5 分支结构之if语句

5.1 if语句的格式一

5.1.1 格式

if(关系表达式){
  语句体;  
}

5.1.2 执行流程

  • 首先判断关系表达式,看其结果是true还是false。
  • 如果是true就执行语句体。
  • 如果是false就不执行语句体。

5.1.3 if语句格式一的应用

  • 示例:
package com.xuweiwei;

public class IfDemo1 {
    public static void main(String[] args) {
        int x = 10;
        if (x >= 10) {
            System.out.println("x>=10");
        }
        System.out.println("程序执行结束了");
    }
}

5.2 

 

以上是关于Java基础三的主要内容,如果未能解决你的问题,请参考以下文章

Java基础:封装

Android 逆向加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )

日常Geetest滑动验证码(三代canvas版)处理小结(以B站登录验证为例)

java基础

德国罗森伯格正式发布Pyxis第三代智能基础设施管理系统

java基础