一 关键字
基本数据类型关键字:
整数类型(byte、short、int、long)
浮点型(float、double)
字符类型(char)
布尔型(boolean)真值(True)假值(False)
访问控制关键字:
private(私有的)protected(受保护的)public(公共的)
类、方法和变量修饰符关键字
Abstract(抽象的) calss(声明) extends(继承)final(最终的)synchronized(同步)
Implements(实现)interface(接口) native(本地) new(创建)static(静态的)
Strictfp(精准)依照浮点规范IEEE-754来执行。因此如果想让浮点运算更加精确
Transient用来表示一个域不是该对象串行化的一部分
volatile 用于表示可以被多个线程异步修改的成员变量。
程序控制语句关键字
判断:if else switch case default
循环:for while do
继续循环:continue
结束循环或选择结构:break
返回:return
异常处理关键字
捕获异常:Try catch
声明异常:throw throws
包相关关键字
导入包:import
创建包:package
变量引用关键字
父类:super
本类:this
无返回值:void
保留字
跳转:goto
静态:const使用const声明的对象不能更新
本地:native扩展Java程序的功能
二 标识符
标识符就是用户自定义的名称来标识类、变量或方法等。更简单的说,标识符就是一个名字。
标识符规则:
(1) 标识符只能由数字、字母、下划线“_”或“$”符号以及Unicode字符集组成
(2) 标识符必须以字母、下划线“_”或“$”符号以及Unicode字符集开头
(3) 标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null)
(4) 标识符区分大小写,是大小写敏感的
命名规则:
包名:单个单词或者多个单词,字母都是小写形式。
类名:以大写开头的名词,如果名字以多个单词组成,每个单词的第一个字母都应该大写,这种命名方式称为骆驼命名法。
变量和方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
常量名:所有字母都大写。多单词时每个单词用下划线连接。
注:一般而言,需要给变量起一个描述性的名字,以便体现其在程序中的意义。
三 常量
定义:常量就是Java程序中一些不会改变的数据,一般被final修饰符所修饰。
Java中常量的分类:
整数常量:所有整数;
(十进制:阿拉伯数字,八进制:以0开头十六进制:以0x开头)
小数常量:所有小数;
布尔型常量:较为特殊,只有两个数值,true和false;
字符常量:将一个数字,字母或者符号用单引号标识;
字符串常量:将一个或者多个字符用双引号标识;
null常量:只有一个值:null。
四 变量
概念:将不确定的数据进行存取,也就是需要在内存中开辟一个空间,存储对应的数据。
变量格式:类型名变量名=初始值;
java是强类型语言,对每一种数据类型都定义了明确的数据类型,在内存中分配了不同大小的的内存空间。
格式:数据类型:变量名;
基本数据类型:
类型转换:
注:整数默认为int类型,小数默认为double类型。
隐式转换(自动转换)
小的数据类型和大的数据类型运算时,小的数据类型会向大的数据类型转变(机器内部完成)。所以他俩运算的结果后的数据类型是大的数据类型。
强制类型转换(显示转换)
强制数据类型转换时,大的数据类型向小的数据类型转换时(如图红色部分为转换时可能会丢失精度),
注:double转int会只保留整数部分。
Double d=9.999
Int i=(int)d //i=9
如果想对浮点数进行四舍五入运算以便得到最接近的整数,可以使用Math.round方法。
Int i=(int) Math.round(d) //i=10
五 运算符
1. 算术运算符、赋值运算符、比较运算符、逻辑运算符
2. 位运算符
在处理整型数据时,可以直接对组成整型数值的各个位数进行操作,
3. 三元运算符
概念:Java中有唯一一个三目运算符,其操作元有三个,第一个是条件表达式,其余的是两个值,条件表达式成立时运算取第一个值,不成立时取第二个值
作用:三元运算符用于判断,等价的if-else语句
格式:(条件表达式)?表达式1:表达式2;
- public class OperatorDemo {
- public static void main(String[] args) {
- //三元运算符练习。
- int x=50;
- int y=40;
- int z=x>y?100:200;
- //如果x>y的话 z的值时100,否则为200.
- System.err.println("x>y?100:200的值是"+z);
- }
- }<pre name="code" class="html">
4.运算符优先级
优先级 | 描述 | 运算符优先级 | 结和性 |
1 | 最高优先级 | [] . ( ) (方法调用) | 从左向右 |
2 | 单目运算 | !~ ++ -- +(一元运算)-(一元运算)()(强类型转换) new | 从右向左 |
3 | 算术乘除及取于余算 | * / % | 从左向右 |
4 | 算术加减运算 | + - | 从左向右 |
5 | 移位运算 | << >> >>> | 从左向右 |
6 | 大小关系运算 | < <= > >= instanceof | 从左向右 |
7 | 相等关系运算 | == !=22 | 从左向右 |
8 | 移位与运算 | & | 从左向右 |
9 | 移位异或预算 | ^ | 从左向右 |
10 | 移位或非运算 | | | 从左向右 |
11 | 逻辑与 | && | 从左向右 |
12 | 逻辑或 | || | 从左向右 |
13 | 三目条件运算 | ?: | 从右向左 |
14 | 简单、复杂赋值 | = += -= *= /= %= &= |= ^= <<= >>= >>>= | 从右向左 |
六 转义字符
作用:有些字符在ASCII中有相对应的作用,加上转义字符后,就不是它本来的ASCII字符意思了。
\t水平制表符(\ )
\b空格(\)
\r换行(\ )
\f换页(\)
\'单引号(\')
\"双引号(\")
\\反斜杠(\\)