• Java运算符及流程控制


    运算符及流程控制

    活动地址:CSDN21天学习挑战赛

    运算符
    1. 算数运算符

      + - * / %
      
      • 1

      整数相除 --> 整除

    2. “+” 用作连接符

      • “+”符号与字符串运算的时候是用作连接符的
      • 操作数的一方是字符串
      • 运算顺序,从左到右
    3. 自增自减运算符

      x++ ;   ++x;
      x-- ;   --x;
      
      • 1
      • 2
    4. 赋值运算符

      = 
      += -= *= /= %= 
      
      • 1
      • 2

      a+=b 等价于 a = (a的数据类型)(a+b);

      复合赋值运算符隐含了强制类型转换。

    5. 关系运算符

      返回结果是一个boolean类型

      ==  != 
      >   < 
      >=  <=
      instanceof  检查是否是类的实例    "wkk" instanceof String  --> true
      
      • 1
      • 2
      • 3
      • 4

      注意== 与 =

    6. 逻辑运算符

      连接多个关系表达式

      &   逻辑与
      |   逻辑或
      !   逻辑非
      ^   逻辑异或   相异为真
      -------------
      && 短路与    
      || 短路或
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 短路x 与 非短路x 的计算结果是一致的
      • 常用 && , ||, !
    7. 三元运算符

      条件表达式?1 :2
      • 1
    运算符优先级

    在这里插入图片描述

    • 与的优先级大于或的优先级
    类型转换
    自动类型转换

    类型范围小的变量,会自动转换成类型范围大的变量。

    在这里插入图片描述

    • byte 和 char , short 和 char 之间不存在自动类型转换
    • byte, short, char在参与算术运算时,会自动转换成 int型

    说明

    1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再 进行计算
    2. boolean 不参与转换
    强制类型转换

    以强行将类型范围大的变量、数据赋值给类型范围小的变量

    数据类型 变量1 = (数据类型)变量1 ;
    
    • 1
    • 强制类型转换可能造成数据(丢失)溢出
    • 浮点型强转成整型,直接丢掉小数部分
    • char类型可以保存int的常量值,但是不能保存int的变量值,需要强转
    键盘输入
    1. 引包

      import java.util.Scanner;
      
      • 1
    2. 创建扫描器实例

      Scanner sc = new Scanner(System.in);
      
      • 1
    3. 接收数据

      int age = sc.nextInt();
      String name = sc.next();
      
      • 1
      • 2

      java.lang包不需要显式导入

    import java.util.Scanner;
    public class Input {
    	public static void main (String[] args){
    		Scanner sc = new Scanner(System.in);
    		int age = sc.nextInt();
    		String name = sc.next();
    
    		System.out.println(age);
    		System.out.println(name);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    流程控制
    分支结构
    1. if

      if (条件表达式) {
      }
      
      • 1
      • 2
      if(条件表达式){
      }else{
          
      }
      
      • 1
      • 2
      • 3
      • 4
      if(条件表达式){
      }else if (条件表达式){
      }else {
      }
      
      • 1
      • 2
      • 3
      • 4

      如果大括号控制的只有一行代码,则大括号可以省略不写

    2. switch

      适合做值匹配得分支选择

      switch(表达式){
      case1...
          break;
      case2:
          ...
          break;
      ...
      default:
          ...
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String

        不支持double、float、long

      • case给出的值不允许重复,且只能是字面量,不能是变量

    循环结构
    1. for

      for (初始化语句;循环条件;迭代语句){
          
      }
      
      • 1
      • 2
      • 3
    2. while

      while(循环条件){
      	循环体;
          迭代语句;
      }
      
      • 1
      • 2
      • 3
      • 4
    3. do-while

      do{
          循环体;
          迭代语句;
      }while(循环条件);
      
      • 1
      • 2
      • 3
      • 4
    break和continue
    • break: 跳出并结束当前所在循环的执行

    • continue: 用于跳出当前循环的当次执行,进入下一次循环

    • break 只能用于结束所在循环, 或者结束所在switch分支的执行 continue只能在循环中进行使用。

    • break 和 continue 都可以和标签结合使用

      loop: for(....){
          for(....){
              ...
               break loop;
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      loop: for(....){
          for(....){
              ...
               continue loop;
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    随机数Random类
    1. 引包

      import java.util.Random;
      
      • 1
    2. 创建随机数实例

      Random r = new Random();
      
      • 1
    3. 获取随机数

      int number = r.nextInt(n) ;  // [0,n)
      
      • 1
    import java.util.Random;
    public class Number{
    	public static void main(String[] args){
    		Random	r = new Random();
    		int n = r.nextInt(100);
    		System.out.println("随机数: "+n);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    如何防止服务器网站被黑
    WordPress怎么禁止用户使用HTML标签,自动过滤HTML代码?
    java计算机毕业设计考勤系统设计MyBatis+系统+LW文档+源码+调试部署
    解决el-form部分字段在输入的时候被带着走的问题
    docker0: iptables: No chain/target/match by that name
    浅谈Java学习以及学习路线图
    牛客多校十 - Shannon Switching Game (倒推,bfs)
    Linux系统 -目录结构与配网
    lc[二叉树]---101.对称二叉树
    三极管原理介绍
  • 原文地址:https://blog.csdn.net/first_bug/article/details/126223533