第一章 数据类型与表达式
1.1 符号
Java有5中符号 ① 标识符 ② 关键字 ③ 分隔符 是④ 运算符 ⑤ 注释
- 标识符:
开头可以是:字母、汉字、下划线、美元$
后面 :字母、汉字、下划线、美元、数字 - 关键字:
关键字 | 用途 |
booleanbyte short int long | 基本类型 |
supernullinstanceof new this | 对象创建、引用 |
finallythrows try catch throw assert | 异常处理 |
synchronization | 线程同步 |
adstractfinal private protected public static | 修饰说明 |
class extendsinterfaceimplementsimporpackage | 类、继承、接口、包 |
nativetransientvolatile | 其他方法 |
falsetrue | 布尔常量 |
① 所有关键字都是小写;NULL
不是关键字。
② goto
const
保留关键字,虽然没用。
- 分隔符:
.
{ }
;
三种 - 运算符:
- 注释:
① 单行://
② 多行:/* */
③ 文档注释:/** */
作用:① 注释 ② 被javadoc识别和处理后生成API文档
1.2 数据类型与变量
1.2.1 数据类型
关键字 | 所占字节 | 默认值 | 取值范围 |
byte | 1 | 0 | |
short | 2 | 0 | |
int | 4 | 0 | |
long | 8 | 0 | |
float | 4 | 0F | |
double | 8 | 0D | |
char | 2 | 0 | |
boolean | 1 | false |
1.2.2 常量
- 布尔常量:只有false(假)和true(真),不对应0和1
- 整形常量:
- 默认:int
+L代表long - 二进制:
0b
开头
八进制:0
开头
十进制:不以0
开头
十六进制:0x
开头
- 浮点常量:
- 默认:doule
+F代表float
+D代表double - 小数点形式:6.23、-0.023
科学计数法:3e-2、3.7E15
注意:只有实数才能用科学计数法
- 字符常量:① ‘ 单个字符 ’ ② 转义字符
- 字符采用
Unicode
码;a
表示97,A
表示65 - 转义字符+编码值 可表示字符
/ddd
1~3位八进制数字ddd/uxxxx
1~4位十六进制数字xxxx
1.2.3 变量
- 定义与赋值:与C语言相同
① 无效变量会将系统垃圾回收程序自动将其释放 - 取值范围:[MAX_VALVE~MIN_VALVE]
- 强制转换:
- 自动转换的顺序:byte -> short -> char -> int -> long -> float -> double
- boolean 不能与其他数据类型进行转换
1.3 表达式与运算符
- 算术运算符:
① /
:7/2=3;7.0/2.0=3.5
② %
:结果的±取决于被除数的±
③ 各种数据类型混合运算时,系统将其自动转成同一类型后运算
- 关系运算符:> ≥ < ≤ == !=
① 结果为布尔型 - 逻辑运算符:&& 、||、!
① - 位运算符:~ << >> >>> & | ^
运算符 | 操作 |
>> | op1>>op2 将op1右移op2个位(带符号) |
>>> | op1>>op2 将op1右移op2个位(不带符号) |
- 其他:
① A instanceof B:A是否为B的一个实例
String a="hello";
if(a instanceof String)
{
System.out.println("a is instanceof String");
}
1.4 数据的输入/输出
1.4.1 标准输入/输出流
- 输出:
System.out.print(); //不换行
System.out.println(); //换行
System.out.printf(); //带格式输出,%m换行 %e 科学计数浮点数
- 输入:
- 单个字符:read() 从键盘读取字符的字节,需要强制转换
char c=(char)System.in.read();
- 字符串:System.in取得数据 -> InputStreamReader转换成字符流 -> BufferedReader包装 -> readLine取得一行字符
String s="";
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
}catch (IOException e){ } //可能会产生异常
① 将数字字符串转换成整数
Integer.parseInt();
② 将数字字符串转换成双精度数
Double.parseDoule();
1.4.2 用swing对话框实现输入/输出
- 输入:
String s=JOptionPane.showInputDialog("提示输入内容");
- 输出:
JOptionPane.showMessageDialog(父窗口(null),"显示内容");
1.5 常用数学方法
Math.PI表示Π,Math.E表示e
第二章 流程控制语句
2.1 条件选择语句
- switch:
① case value;value可以是数字,字符,字符串
2.2 跳转语句
- break:
使用:① 不带标号;从当前循环中退出
② 带标号;跳出标号所指的代码块,执行块后的下一条语句 - continue:
使用 ① 不带标号;终止当前一轮的循环,继续下一轮的循环
② 带标号;跳转到标号所指明的外层循环中,继续其下一轮循环
第三章 数组与方法
3.1 数组
3.1.1 一维数组
- 一维数组的声明
语法:
① 方式一:数组元素类型 数组名[ ]
② 方式二:数组元素类型 [ ] 数组名
int score[];
int []score;
- 数组元素的类型可以是:基本类型、类、接口
- 创建数组空间
语法:数组名 =new 数组元素类型[ 数组元素个数 ]
score=new int [10];
- 声明+空间创建合并
int score=new int [10];
- 创建数组元素并初始化
语法:类型 数组名[ ]={ }
- 遍历数组所有元素:`for(元素类型 循环变量名:数组名){ 循环体 }
for(int x:score)
{ sum+=x;}
- 数组排序:Arrays类的
sort()
方法
java.util.Arrays.sort(a);
- 将数组转成字符串:Arrays类的
toString()
方法
System.out.print(java.util.Arrays.toString(a));
3.1.2 多维数组
- 多维数组的声明
语法:
① 方式一:数组元素类型 数组名[ ][ ] ② 方式二:
数组元素类型 [ ][ ] 数组名 - 创建数组空间
① 方式一:行列一起定义
int a[][]=new int [2][3]; //2行3列
② 方法二:行列分开定义
int a[][]=new int [2][]; //先定义2行
int a[0]=new int[3]; //定义第1行有3个元素
int a[1]=new int[4]; //定义第2行有4个元素
- 获取数组的行:
数组名.length
- 获取数组的列:
数组名[行标].length
- 创建数组元素并初始化
int a[][]={{1,2,3},{1,2,3}};
int b[][]={{1,2},{1}}; //b[0]有2个元素,b[1]有1个元素
3.2 方法
类似函数
语法:修饰符1 修饰符2 返回值类型 方法名(形式参数表)[throws 异常列表] { }
- 修饰符:访问修饰符(public,private、protect)、抽象方法修饰符(abstract)、类方法修饰符(static)、最终方法修饰符(final)、同步方法修饰符(synchronized)、本地方法修饰符(native)
3.3 Java命令行参数
在java应用程序的main()方法中有一个字符串参数,该数组中存放所有的命令行参数。
//eg
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]+" ");
}
}