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++语言几乎完全相同。