Java学习笔记(三):常量变量、数据类型、运算符

常量

常量的值是固定的、不可改变的。在Java中,利用关键字final声明变量。

比如: final double PI = 3.1415926; //一般常量在定义时就被赋值

在Java中,希望某个常量可以在一个类的多个方法中使用,可以使用关键字 final static 来设置一个类常量

如果一个常量被声明为 public ,那么在其他类中也可以使用该常量。

变量

变量的声明包括两部分:变量类型和变量名。

变量名以Unicode(国际字符集标准,包括_和$)开头,接下来是任意数量的Unicode字母和数字;不能与Java的关键字相同,
或命名成布尔值(true或false);在同一个作用范围,不能有相同名字的两个变量,因此在不同作用范围(static,public)
可以有相同的变量名。

数据类型

整数类型的表现形式
八进制类型,在数值面前加0,如0645,0623等;
十进制类型,数值不变,如24,374等;
十六进制类型,在数值面前加0x,如0x34,0x17等。

字符类型
特殊字符的输出需要用到转义字符:

System.out.println("""); //输出字符双引号;
System.out.println("\"); //输出字符反斜杠;

数据类型的相互转换

自动类型转换
低级数据向高级数据转换时,进行自动类型转换:
byte → short → int → long → float → double,以及char → int

强制类型转换
高级数据向低级数据转换时,需要进行显式的强制类型转换

int a = 2;
byte b;
b=(byte)a;

上述代码中,如果整数的值超出了byte型的取值范围,那么它的值会对byte的值域取模。
如果浮点类型的值赋给转换成整数类型的值,它的小数部分将会被舍去。

位运算符和移位运算符

运算符:~
功能:按位取反
表达式:~op

运算符:&
功能:按位与
表达式:op1&op2

运算符:|
功能:按位或
表达式:op1|op2

运算符:^
功能:按位异或
表达式:op1^op2

运算符:>>
功能:op1按位右移op2位
表达式:op1>>op2

运算符:<<
功能:op1按位左移op2位
表达式:op1<<op2

运算符:>>>
功能:op1填零右移op2位
表达式:op1>>>op2
(由于无符号右移运算符>>>只是对32位和64位的值有意义,所以在表达式中过小的值总是被自动扩大为int型。)

Java中没有<<<运算符!

运算符优先级

Java中运算符优先级与C++语言几乎完全相同。
Java学习笔记(三):常量变量、数据类型、运算符