「Java」变量与运算符

标识符

  1. 标识符的命名规则
    1. 由 26 个英文字母大小写,0-9,_ 和 $ 组成
    2. 数字不可以开头
    3. 不可以使用关键字和保留字,但能包含关键字和保留字
    4. Java 中严格区分大小写,长度无限制
    5. 标识符不能包含空格
  2. 标识符的命名规范
    1. 包名:多单词组成时所有字母都小写
      1. 例如:java.lang、com.atguigu.bean
    2. 类名、接口名:多单词组成时,所有单词首字母大写
      1. 例如:HelloWorld、String、System
    3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
      1. 例如:age、name、bookName、getName
    4. 常量名:所有字母都大写,多单词时每个字母用下划线连接
      1. 例如:MAX_VALUE、PI

变量

  1. Java 中变量的声明格式:数据类型 变量名=变量值
  2. Java 变量按数据类型分类
    1. 基本数据类型
      1. 整型:byte、short、int、long
      2. 浮点型:float、double
      3. 字符型:char
      4. 布尔型:boolean
    2. 引用数据类型
      1. 类(class)
      2. 数组(array)
      3. 接口(interface)
      4. 枚举(enum)
      5. 注解(annotation)
      6. 记录(record)
  • 变量都有其作用域,变量只在作用域中有效
  • 同一个作用域内,不能声明两个同名的变量

整型数据类型

类型 占用存储空间
byte 1 字节=8bit
short 2 字节
int 4 字节
long 8 字节
  1. 声明 long 类型变量时,需要添加后缀‘l’或‘L’,如 long l1 = 123123123L;

浮点类型

类型 占用存储空间
单精度 float 4 字节
双精度 double 8 字节
  1. 声明 float 类型变量时,需要添加后缀‘f’或‘F’,如 float f1 = 12.3f;
  2. float 类型的表数范围要大于 long 类型的表数范围,但精度不高
  3. 二进制的浮点数不能精确的表示 0.1,0.01,0.001 这样 10 的负次幂
  4. 如果需要精确数字计算或保留指定位数的精度,需要使用 BigDecimal 类

字符类型

  1. 占 2 字节
  2. 字符型变量的三种表现形式
    1. 使用一对 ‘’ 表示,内部有且只有一个字符 char c1 = 'a';
    2. 直接使用 Unicode 值来表示字符常量 char c2 ='\u0043';
    3. 使用转义字符 ‘' 来将其后的字符转变为特殊字符型常量 char c3 = '\n';
    4. 使用具体字符对应的数值(比如 ASCII 码) char c4 = 97;

布尔类型

  1. 占 4 字节
  2. 不可以使用 0 或非 0 的整数代替 false 和 true

基本数据类型变量间的自动类型提升规则

  1. 规则:当容量小的变量与容量大的变量做运算时,结果自动转换为容量大的数据类型
    1. 此时的容量大小,并非指占用的内存空间大小,而是指表示数据的范围的大小
  2. $byte/short/char \to int \to long \to float \to double$

基本数据类型变量间的强制类型提升规则

  1. 规则:将取值范围大(或容量大)的类型强制转换成取值范围小(或容量小)的类型
  2. 强制类型转换需要使用强转符:()。在 () 内指明要转换为的数据类型
  3. 强制类型转换过程中,可能导致精度损失
  4. 转换格式
    1
    
    数据类型1 变量名 = (数据类型1)被强转数据值;  //()中的数据类型必须<=变量值的数据类型
    

String 类

  1. String 不是基本数据类型,属于引用数据类型
  2. 使用一对 "" 来表示一个字符串,内部可以包含 0 个、1 个或多个字符。
  3. 声明方式与基本数据类型类似。例如 String str = “pinhsin”;
  4. 任意八种基本数据类型的数据与 String 类型只能进行连接“+”运算,且结果一定也是 String 类型
  5. String 类型不能通过强制类型 () 转换,转为其他的类型

算数运算符

  1. 按照 功能 分为:算术运算符、赋值运算符、比较 (或关系) 运算符、逻辑运算符、位运算符、条件运算符、Lambda 运算符
分类 运算符
算术运算符(7 个) +、-、*、/、%、++、–
赋值运算符(12 个) =、+=、-=、*=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等
比较 (或关系) 运算符(6 个) >、>=、<、<=、== 、!=
逻辑运算符(6 个) &、|、^、!、&&、||
位运算符(7 个) &、|、^、~、<<、>>、>>>
条件运算符(1 个) (条件表达式)?结果 1: 结果 2
Lambda 运算符(1 个) ->
  1. 按照 操作数个数 分为:一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符 (三目运算符)
分类 运算符
一元运算符(单目运算符) 正号(+)、负号(-)、++、–、!、~
二元运算符(双目运算符) 除了一元和三元运算符剩下的都是二元运算符
三元运算符 (三目运算符) (条件表达式)?结果 1: 结果 2

赋值运算符

  1. 符号:=
    1. 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
    2. 支持 连续赋值
  • 扩展赋值运算符: +=、 -=、*=、 /=、%=
赋值运算符 符号解释
+= 将符号 左边的值 和 右边的值 进行 相加 操作,最后将结果 赋值给左边的变量
-= 将符号 左边的值 和 右边的值 进行 相减 操作,最后将结果 赋值给左边的变量
*= 将符号 左边的值 和 右边的值 进行 相乘 操作,最后将结果 赋值给左边的变量
/= 将符号 左边的值 和 右边的值 进行 相除 操作,最后将结果 赋值给左边的变量
%= 将符号 左边的值 和 右边的值 进行 取余 操作,最后将结果 赋值给左边的变量

比较运算符

  1. 比较运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
  2. > < >= <= :只适用于基本数据类型(除 boolean 类型之外)
  3. == != :适用于基本数据类型和引用数据类型
  4. 比较运算符 “==” 不能误写成 “=”

「Java」变量与运算符_第1张图片

逻辑运算符

  1. 逻辑运算符,操作的都是 boolean 类型的变量或常量,而且运算得结果也是 boolean 类型的值
  2. 运算符说明
    1. & 和 &&:表示“且”关系,当符号左右两边布尔值都是 true 时,结果才能为 true。否则,为 false
    2. | 和 || :表示“或”关系,当符号两边布尔值有一边为 true 时,结果为 true。当两边都为 false 时,结果为 false
    3. ! :表示“非”关系,当变量布尔值为 true 时,结果为 false。当变量布尔值为 false 时,结果为 true
    4. ^ :当符号左右两边布尔值不同时,结果为 true。当两边布尔值相同时,结果为 false
  3. 逻辑运算符用于连接布尔型表达式,在 Java 中不可以写成 3 < x < 6,应该写成 x > 3 & x < 6
  4. 区分“&”和“&&”
    1. 相同点:如果符号左边是 true,则二者都执行符号右边的操作
    2. 不同点
      1. & : 如果符号左边是 false,则继续执行符号右边的操作
      2. && :如果符号左边是 false,则不再继续执行符号右边的操作
    3. 建议:开发中,推荐使用 &&
  5. 区分“|”和“||”
    1. 相同点:如果符号左边是 false,则二者都执行符号右边的操作
    2. 不同点
      1. | : 如果符号左边是 true,则继续执行符号右边的操作
      2. || :如果符号左边是 true,则不再继续执行符号右边的操作
      3. 建议:开发中,推荐使用 ||

位运算符

位运算符的运算过程都是基于二进制的补码运算

「Java」变量与运算符_第2张图片

「Java」变量与运算符_第3张图片

  1. 左移:<<
    1. 运算规则:在一定范围内,数据每向左移动一位,相当于原数据 *2。(正数、负数都适用)
    2. 当左移的位数 n 超过该数据类型的总位数时,相当于左移(n- 总位数)位
  2. 右移:>>
    1. 运算规则:在一定范围内,数据每向右移动一位,相当于原数据 /2。(正数、负数都适用)
    2. 如果不能整除,向下取整
  3. 无符号右移:>>>
    1. 运算规则:往右移动后,左边空出来的位直接补 0。(正数、负数都适用)
  4. 按位与:&
    1. 运算规则:对应位都是 1 才为 1,否则为 0
  5. 按位或:|
    1. 运算规则:对应位只要有 1 即为 1,否则为 0
  6. 按位异或:^
    1. 运算规则:对应位一个为 1 一个为 0,才为 1,否则为 0
  7. 按位取反:~
    1. 运算规则:对应位为 1,则结果为 0;对应位为 0,则结果为 1

条件运算符

  1. 条件运算符格式:

    1
    
    (条件表达式)? 表达式1:表达式2
    
  2. 说明:条件表达式是 boolean 类型的结果,根据 boolean 的值选择表达式 1 或表达式 2

  3. 如果运算后的结果赋给新的变量,要求表达式 1 和表达式 2 为同种或兼容的类型

你可能感兴趣的:(java,python,大数据)