• 【JAVASE系列】02_运算符与控制语句


    一、运算符

    1、算术运算符

    运算符含义
    +求和
    -相减
    *乘积
    /
    %求余数(求模)
    ++自加一
    - -自减一

    2、关系运算符

    • 关系运算符的结果一定是布尔类型:TRUE/FALSE
    • 关系运算符比较的是数值是否相等
    • = 是赋值运算符
    • ==是关系运算符
    运算符含义
    >大于
    >=大于等于
    <小于
    <=小于等于
    ==等于
    !=不等于
        public static void main(String[] args) {
            int a=10;
            int b=10;
            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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3、逻辑运算符

    • 逻辑运算符要求两边的算子都是布尔类型的,并且逻辑运算符最终的运算结果也是一个布尔类型
    • 短路与和逻辑与的最终运算结果是相同的,只不过短路与存在短路现象
    • 短路或和逻辑或的最终运算结果是相同的,只不过短路或存在短路现象
    • 右边表达式不执行,这种现象叫做短路现象
    运算符含义结果
    &逻辑与(可以翻译成并且)两边都是true,结果才是true
    逻辑或(可以翻译成或者)有一边是true,结果就是true
    !逻辑非(取反)!true = false、!false = true
    &&短路与两边都是true,结果才是true
    ││短路或有一边是true,结果就是true

    4、赋值类运算符

    • 赋值类运算符的优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量
    运算符含义
    =等于
    +=加等于
    -=减等于
    *=乘等于
    /=除等于
    %=取模等于

    5、字符串连接运算符

    关于java中的 “ + ” 运算符:

    1、+运算符在java当中有两个作用:

    • 加法运算,求和
    • 字符串的连接运算

    2、当 “ + ” 运算符两边的数据都是数字的话,一定是进行加法运算

    3、当 “ + ” 运算符两边的数据只要有一个数据是字符串,则一定会进行字符串的连接运算。并且连接运算之后的结果还是一个字符串类型。

    数字+数字–> 数字【求和】

    数字+“字符串”–> “字符串”【字符串连接】

    4、在一个表达式当中可以出现多个 “ + ” 运算符,在没有添加小括号的前提下,遵循自左向右的原则

        public static void main(String[] args) {
            System.out.println(10+20);//结果:30
            System.out.println(10+20+"30");//结果:3030
            System.out.println(10+(20+"30"));//结果:102030
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    要求在控制台上动态输出两数字之和:

        public static void main(String[] args) {
            int a=10;
            int b=20;
            System.out.println(a+" + "+ b + " = " + (a+b));
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    引用类型string,是javase当中提供的字符串类型

            //string是引用数据类型,s是变量名,“abc”是string类型的字面值
            string s="abc";
            
            //定义一个string类型的变量,起名为username,赋值“zhangsan”
            string username="zhangsan";
            
            //编译错误,类型不兼容
            string ss=10;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6、三目运算符

    语法规则:布尔表达式?表达式1:表达式2

            //定义布尔类型的变量
            boolean sex=false;
            char c=sex ? '男':'女';
            
            //编译报错,因为结果为’女‘,这不是一个完整的java语句
            sex ? '男':'女';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二、控制语句

    • 选择语句
      • if,if…else
      • switch
    • 循环语句
      • for
      • while
      • do…while( )
    • 控制循环语句
      • break
      • continue

    1、if语句的嵌套

    需求:判断当前的天气:

    • 当外边下雨的时候,带雨伞:

      • 判断性别:
        • 男,则带一把大雨伞
        • 女,则带一把小花伞
    • 当外边是晴天的时候:

      • 判断温度:
      • 男,带墨镜
      • 女,涂防晒霜
    • 注:
      1、会使用嵌套
      2、天气状况,温度,性别都需要从键盘输入
      3、使用0或者1表示

            System.out.println("请输入当前天气(0:晴天,1:下雨):");
            java.util.Scanner s=new java.util.Scanner(System.in);
            int weather = s.nextInt();
            if(weather==0 ){
                System.out.println("当前的天气是晴天");
                System.out.print("请输入当前气温:");
                int temp=s.nextInt();
                if(temp>=30){
                    System.out.print("请输入性别(0:女,1:男):");
                    int sex=s.nextInt();
                    if(sex==0){
                        System.out.println("搽防晒霜");
                    }else{
                        System.out.println("带墨镜");
                    }
                }
    
            }else{
                System.out.println("当前的天气是雨天");
                System.out.println("请输入性别(0:女,1:男):");
                int sex=s.nextInt();
                if(sex==0){
                    System.out.println("带小花伞");
                }else{
                    System.out.println("带大黑伞");
                }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    2、Switch语句

    	switch(int或者String类型的字面值或者变量){
            *           case int或者String类型的字面值或者变量:
            *                  java语句;
            *                  java语句;
            *                  java语句;
            *                  java语句;        
            *          case int或者String类型的字面值或者变量:
            *                  java语句;
            *                  java语句;
            *                  java语句;
            *                  java语句;
            *                  。。。
            * }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    switch语句的执行原理:

    • switch后面的小括号当中的数据和case后面的数据进行一一匹配,匹配成功则执行分支,按照自上而下的顺序依次匹配
    • 匹配成功的分支执行,当分支中有break语句的话,整个switch语句终止
    • 匹配成功的分支执行,当分支中没有break语句的话,直接进入下一个分支继续执行(无需进行匹配)。这种现象叫做case穿透现象
    • 所有分支都没有匹配成功,当有default语句的话,会执行default语句
    • switch和case后面只能是int或者string类型的数据,不能是其他类型。当然,byte,short,char也可以直接写到switch和case的后面,因为它们可以进行自动类型转换。
    java.util.Scanner s1=new java.util.Scanner(System.in);
            System.out.print("请输入星期几:");
            String day=s1.next();
            switch (day){
                case "星期一":
                    System.out.println("星期一");
                    break;
                case "星期二":
                    System.out.println("星期二");
                    break;
                case "星期三":
                    System.out.println("星期三");
                    break;
                case "星期四":
                    System.out.println("星期四");
                    break;
                case "星期五":
                    System.out.println("星期五");
                    break;
                case "星期六":
                    System.out.println("星期六");
                    break;
                case "星期天":
                    System.out.println("星期天");
                    break;
                default:
                    System.out.println("输入参数非法");
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    3、break语句

    • 1、break语句是java语言当中的关键字,被翻译为中断/折断
    • 2、break+“ ;”可以成为一个单独的完整的java语句
    • 3、break语句使用在switch语句当中,用来终止switch的语句执行
    • 4、break语句同样可以使用在for循环当中,用来终止循环的执行

    4、coutinue语句

    • 1、continue表示:继续/go on/下一个
    • 2、continue也是一个continue关键字加一个分号构成一个完整的单独的java语句,主要出现在循环语句当中来控制循环的执行
    • 3、break和continue的区别?
      • break表示循环不执行了
      • continue表示直接进入下一个循环继续执行

    三、接受用户键盘的输入

    第一步:java.util.Scanner s=new java.util.Scanner(System.in);

    第二步:String str=s.next( ); 或者 int num =s.nextInt();

    public static void main(String[] args) {
            //创建键盘扫描器对象
            //第一步
            java.util.Scanner s=new java.util.Scanner(System.in);
    
            //第二步:调用Scanner对象的next()方法开始接受用户键盘输入
            //程序执行到这里会停下来,等待用户输入
            //当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent
            String userInputContent =s.next();
    
            //接受数字【以整数型int的形式来接收】
            int num =s.nextInt();
            
            //将内存中的数据输出到控制台
            System.out.println("您输入了:"+userInputContent);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    100G以太网光模块解决方案
    LaTex 控制图片表格位置[h][t][b][htb]等
    基于复杂环境下的雷达目标检测技术(Matlab代码实现)
    第14章 操作重载与类型转换【C++】
    55.【Java 线程】
    SICP:赋值和局部状态(Python实现)
    XSS 漏洞详解
    数据库管理-第四十三期 水一期(20221113)
    数据上云(单机或内网C/S升级INTERNET版)
    Java反序列化:CC1链 详解
  • 原文地址:https://blog.csdn.net/wxfighting/article/details/125470414