Java语言使用的是Unicode标准字符集
分隔符
;代表一句java语句的结束
{}的作用就是定义一个代码块,包含一段java代码是一个逻辑的整体
[]用于数组的定义
()方法后或者运算符或者循环范围的定义
.通常用作类和变量的分隔符
标识符
Java中凡是需要取名字的地方都叫做标识符
标识符可以由字母、数字、下划线、和美元符号组成
标识符的首字母不能是数字、且标识符是区分大小写的
标识符不能包含空格;不能包含@ #等特殊符号
Java中定义的关键字、保留字不能作为标识符但可以包含如:class private static public void
类名的每个单词的首字母大写;方法名、变量名第一个单词的首字母小写其他单词的首字母大写
关键字
abstract | const | false | long | short |
boolean | default | float | native | static |
break | else | while | new | super |
byte | extends | void | null | switch |
case | final | if | transient | synchronized |
cast | finally | implements | package | this |
catch | for | import | private | throw |
char | goto | instanceof | protected | throws |
class | do | interface | public | strictfp |
continue | double | true | return |
基本数据类型
整型(4类8种) byte: 8位,范围-128(-27)~127(27-1);short:16位 范围 -32768(-215)~32767(215-1); int:32 位 范围-2147483648(-231)~2147483647(231-1);long:64 位 范围 -263~263-1
字符型 表示单个字符字符常量必须使用单引’’括起来如:’A’
浮点型 java中的浮点型有float和double两种,采用两种表示方式一是:科学计数法来来表示如 5.12e2(5.12*102),二是十进制如 3.14
float型(单精度)占4个字节 32位 第一位符号位,接下来8位表示指数,再接下来的23位表示尾数
double型(双精度) 占8个字节64位 第一位符号位,接下来的11位表示指数,再下来的52位表示尾数
浮点型有一定的误差
布尔型 只有两个值 true 和false
java中常用的转义字符
基本类型的类型转换
整型(4类8种) byte: 8位,范围-128(-27)~127(27-1);short:16位 范围 -32768(-215)~32767(215-1); int:32 位 范围-2147483648(-231)~2147483647(231-1);long:64 位 范围 -263~263-1
字符型 表示单个字符字符常量必须使用单引’’括起来如:’A’
浮点型 java中的浮点型有float和double两种,采用两种表示方式一是:科学计数法来来表示如 5.12e2(5.12*102),二是十进制如 3.14
float型(单精度)占4个字节 32位 第一位符号位,接下来8位表示指数,再接下来的23位表示尾数
double型(双精度) 占8个字节64位 第一位符号位,接下来的11位表示指数,再下来的52位表示尾数
浮点型有一定的误差
布尔型 只有两个值 true 和false
java中常用的转义字符
自动类型转换:系统支持直接把某种数据类型的值直接赋给另外一种数据类型
数据类型排序
强制类型转换如果要把上图右边的数据类型转换为左边类型,则需要强制类型转换;强制类型转换格式为:(数据类型)值如:(int)size
强制类型转换应注意内存溢出,精度丢失(double转int,int转byte)
表达式类型的自动提升当一个表达式中包含多个多个数据类型的时候整个表达式的数据类型会自动提升;byte、short、char会自动转换成int,整个表达式的数据类型会转换成最高级的数据类型;数据类型等级排序见上图
数据类型转换补充:byte short char 之间不会相互转换,他们在计算的时候首先转换成int
直接量
int a=5中5就是一个字面量
运算符
算术运算符:+ - * / 另外+还是字符串的连接运算符,%求余运算符,++和--;需要注意的是++和—只能用于操作变量而不能用于操作直接量和常量(1++这个写法是错误的);其他复杂的运算如乘方、开方可以用Math类
赋值运算符:=是java中的赋值运算符,可以连续赋值如 a=b=c=8(会导致可读性降低不建议)
比较运算符
三目运算符:表达式?a:b 注:如果表达式成立则返回a 否则b
移位运算符
只可用来处理整数类型
<<左移:操作符左侧得数按照操作符右侧指定的位数向左移动
>>右移:将操作符左侧的数按照操作符右侧的尾数向右移动;若符号为正则高位插0,若符号为负则高位插1
>>>无符号右移无论正负都在高位插0