变量类型转换 变量 运算符

变量类型转换

​ 运算中,不同类型的数据先转化为同一类型,然后进行运算。 转换从低级到高级(根据容量来看)。

低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
  • 不能对boolean类型进行类型转换。

  • 不能把对象类型转换成不相关类的对象。

  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 转换过程中可能导致溢出或损失精度,例如:

    int i = 128;
    byte b = (byte)i;
    

自动类型转换

自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为 32,可以自动转换为64位的double类型。

强制类型转换

​ 强制类型转换的语法格式: (type)var ,运算符“()”中的type表示将值var想要转换成的目标数据类型。 条件是转换的数据类型必须是兼容的。

​ 当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,溢出。

变量(variable)

type varName [=value] [{,varName[=value]}] ;
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。
  • 实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
  • 局部变量(lacal variable):类的方法中的变量。

常量

​ 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

final 常量名=值;
final double PI=3.14; final String LOVE="hello";

命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则 : monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则: Man, GoodMan
  • 方法名:首字母小写和驼峰原则: run(), runRun()

运算符

image

1.二元运算符

整数运算

​ 如果两个操作数有一个为Long, 则结果也为long 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

浮点运算

​ 如果两个操作数有一个为double, 则结果为double。只有两个操作数都是float, 则结果才为float。

关系运算符

image

2.取模运算

就是我们小学的取余; 5%3 余 2

负数%负数=负数; 负数%正数=负数; 正数%负数=正数;

3.一元运算符

image

4.逻辑运算符

逻辑与:&&和&,逻辑或:||和|,逻辑非:!。
image

​ 逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。在两个操作数都为 true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断 第二个操作了。 逻辑与只要有一个为false, 则直接返回false. 逻辑或只要有一个为true, 则直接返回true;

5.位运算符

image

6.扩展运算符

image

7.字符串连接

8.三目运算符

9.运算符优先级

posted @ 2022-11-01 01:08  123灬321  阅读(81)  评论(0)    收藏  举报