zoukankan      html  css  js  c++  java
  • 04-基础语法3

    1. 进制


    2. 运算符

    2.1 算数运算符

    • 算术运算符中 +,-,*,/,% 属于二元运算符 // 二元运算符指的是需要 2 个操作数才能完成运算的运算符
      • 如果是整数相除,结果也只能得到整数;如果想得到小数,必须把数据先变化为浮点数类型再运算
      • 其中的 % 是取模运算符,就是我们常说的求余数操作,得到的结果是"余数"
        • 其操作数可以为浮点数,一般使用整数,结果是 "余数"
        • "余数"符号和左边操作数相同。如:7%3=1;-7%3=-1;7%-3=1
    • 算术运算符中 ++,-- 属于一元运算符,该类运算符只需要 1 个操作数

    2.2 赋值及其扩展赋值运算符

    • 基本的赋值运算符:=
      • = 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
      • 支持连续赋值;如:i = j = 1101
    • 扩展的赋值运算符
    • 测试

    2.3 关系运算符

    • = 是赋值运算符,而判断两个操作数是否相等的运算符是 ==
    • ==!= 是所有(基本和引用) 数据类型都可以使用
    • >>=<<= 仅针对数值类型 (byte/short/int/long,float/double,char)

    2.4 逻辑运算符

    • 逻辑运算符用于连接 {布尔型表达式},不可以写成 3 < x < 6,应该写成 x > 3 && x < 6
    • 短路与&&短路或|| 采用短路的方式:从左到右计算,如果只通过运算符左边的操作数就能够确定该逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率
    • 异或 ^或 | 不同!
      • ^左右都为true时,结果为false
      • 异或^,追求的是""
    • 一道小题

    2.5 位运算符

    • 详解
    • 练习 1
    • 练习 2:异或运算实现两个整数变量的交换 // 一个数据对另一个数据异或两次,数据本身不变
      • a = a ^ b;
      • b = a ^ b;
      • a = a ^ b;
    • 练习 3:求一个 0~255 范围内的整数的十六进制 // 无符号右移

    2.6 字符串连接符

    • + 除了用于算术加法运算外,还可用于对字符串进行连接操作
    • + 运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接

    2.7 三元运算符

    • 语法
    • 表达式 1 和 表达式 2 为同种数据类型(就算不是,也得能自动转型成同一种类型才行!)
    • 三元运算符 与 if-else 的联系与区别
      • 三元运算符可简化 简单的 if-else 语句
      • 但凡能用三目运算符的地方都可用 if-else 语句来替代
      • 三元运算符要求必须返回一个结果
      • if-else 代码块中可有多条语句
    • 练习
      • 求 2 个数最大值:m > n ? m : n
      • 求 3 个数最大值:x>y ? x>z?x:z : y>z?y:z

    3. 运算符优先级问题

    • 不需要去刻意的记这些优先级;表达式里面想优先运算的,加小括号
    • 逻辑非 > 逻辑与 > 逻辑或;如:a || b && c 的结果是 a || (b && c),而不是 (a || b) && c

    4. Scanner 键盘录入

    • 导包:import java.util.Scanner;
    • Scanner 实例化:Scanner sc = new Scanner(System.in);
    • 调用 Scanner 类相关方法 // 没有nextChar()哈!
      • boolean nextBoolean()
      • byte nextByte()
      • short nextShort()
      • int nextInt()
      • long nextLong()
      • float nextFloat()
      • double nextDouble()
      • String next()
      • String nextLine()
    • next()nextLine() 一前一后执行

    5. 获取[a,b]内的一个随机数

    • 公式:(int) (Math.random() * (b-a+1) + a)
    • 举例:获取 [10,99] 内的随机数
      • Math.random() → [0.0,1.0)
      • Math.random() * 90 → [0.0,90)
      • Math.random() * 90 + 10 → [10.0,100)
      • (int) (Math.random() * 90 + 10) → [10,99]
  • 相关阅读:
    EasyRTMP内置进入摄像机中实现网络推流直播摄像机的功能
    EasyPlayer安卓Android流媒体播放器实现直播过程中客户端快照功能
    EasyPlayer安卓Android流媒体播放器实现直播过程中客户端快照功能
    如何用传统摄像机实现直接对接平台,类似于海康萤石、大华乐橙的方案
    如何用传统摄像机实现直接对接平台,类似于海康萤石、大华乐橙的方案
    EasyIPCamera实现的桌面采集直播用于课堂、会议、展销同屏等应用
    EasyIPCamera实现的桌面采集直播用于课堂、会议、展销同屏等应用
    EasyPlayer实现视频播放局部缩放、广角平移功能(类似水滴直播,快手视频)
    EasyPlayer实现视频播放局部缩放、广角平移功能(类似水滴直播,快手视频)
    EasyPusher实现将asterisk直播流以RTSP转发实现通话直播与录像
  • 原文地址:https://www.cnblogs.com/liujiaqi1101/p/12793331.html
Copyright © 2011-2022 走看看