标识符
定义:用于给程序中常量、变量、方法、类、接口和包等命名的符号
规则:
由字母、数字、下划线_或美元符号$组成
由字母、下划线_或美元符号$开头,不能以数字开头
不能与关键字、布尔值(turn、false)、null同名
区分大小写,没有长度限制,坚持见名知义原则
关键字
定义:程序中特殊用途的符号,由系统定义,有固定含义
程序员不能将其定义为标识符
注意:turn、false、null不是关键字(他们是常量值)
Class、String、main不是关键字(关键字全部都是小写)
数据类型分类:
基本数据类型取值范围
注意:char类型占两个字节,采用Unicode码
byte类型占一个字节,是整数类型的一种
所有数据类型长度固定,不随硬件软件系统不同而不同
String类型不是基本数据类型,而是引用数据类型
常量
定义:在程序运行中,其值不能改变的量
常量类型
整型常量
浮点型常量---float(32bit)/double(64bit)
布尔常量--turn表示真,false表示假
字符常量(16bit)--‘a’
字符串常量--“hello”
null常量--表示引用变量保存的地址为空,还没有指向任何对象
符号常量:使用final定义符号常量
1 public classhello {2
3 public static voidmain(String[] args) {4 final double PI = 3.14;5
6 int r = 4;7
8 double length = 2 * PI *r;9 double area =PI * r *r;10 System.out.println("周长="+length);11 System.out.println("面积="+area);12 }13
14 }15 //周长=25.1216 //面积=50.24
变量
定义:在程序运行中,其值可以改变的量
语法:【修饰符】 变量类型 变量名 【=初始值】
示例:char ch;
int age = 16;
注意:各种数据类型都可以定义变量
基本数据类型均可定义常量
引用数据类型只有String类可定义常量
null常量可以赋给所有引用类型变量
类型转换
转换方式:自动类型转换
强制类型转换
转换规则:低级别自动转换成高级别
类型转换图:
转义字符
定义:通过\n来转变后面字母或者符号的含义。
\n:换行
\b:退格。相当于backspace
\r:按下回车键。window系统中,回车符是由两个字符来表示\r.\n
\t:制表符,。相当于tab键
赋值运算符
示例:
int a,b,c; a=b=c=3;
int a=3; a+=5; 等同于a=a+5;
思考:
short s=3;
s=s+2;
s+=2;
有什么区别?
s=s+2 //编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型
s+=2 //编译通过,因为+=运算符在给s赋值时,自动完成了强转操作
比较运算符
比较运算符的结果都是boolean型,也就是要么是true,要么是false
比较运算符“==”不能误写成“=”
逻辑运算符
定义:用于连接boolean类型的表达式(x>3 & x<6)
&(与) :只要两边的boolean表达式结果,有一个为false,那么结果就是false。
只要两边都为true,结果为true
&和&&的区别:
&:无论左边是true是false,右边都运算
&&:当左边为false时,右边不运算
|(或):两边只要有一个为true,结果为true。
只要两边都有false,结果为false
|和||的区别:
|:两边都参与运算
||:当左边为turn,右边不运算
^(异或):两边相同结果为false
两边不同结果时true
位运算符
定义:位运算是直接对二进制进行运算
左移:向左移多少位,就乘以2的多少幂次方
右移:像右移多少位,就除以2的多少幂次方
最高位补什么由原有数据最高位值而定
如果最高位0,右移后,用0补空位
如果最高位1,右移后,用1补空位
>>>:无论最高位是什么,右移后,都用0补