3.1 一个简单的Java应用程序
public class FirstSample
{
public static void main(String[] args) {
System.out.println("We will not use 'Hello, World'");
}
}
- 类名:大写字母开头,驼峰表示法
- 源代码:
.java
的文件名必须和公共类的名字相同
- 字节码:
.class
文件和.java
默认放在同一目录
- 程序入口:
main
方法必须是public,main是程序的入口
- 字符串:用双引号进行分隔
- 点号:
object.method(parameters)
调用方法
3.2 注释
- 注释不会出现在可执行程序中
- 三种注释的方式
1 单行注释://
2 多行注释:/...../
3 文档注释:/*....../
3.3 数据类型
- 1个Byte占用8bit,2222222*2=28=256
- 基本类型:4类8种
- 整型:
- byte 1个字节 -128~127
- short 2个字节 -32768~32767
- int 4个字节 -20亿~20亿
- long 8个字节
- 浮点型:
- 字符型:
- 逻辑性:
3.3.1 整型
- 整型用于表示没有小数部分的数值
- int 最常用,仅仅±20亿
- long 存储范围大,可以表示地球上的人数,远远超过60亿
- byte和short用于特定场合,底层文件处理
- Java中,素有的数值类型所占用的字节数量与平台无关
- Java中没有无符号(unsigned)形式的类型
3.3.2 浮点类型
- 浮点类型用于表示有小数部分的数值
- float:后面需要带个f:3.14f
- double:默认就是double类型
- 二进制无法精确的表示0.1
3.3.3 char类型
3.3.4 Unicode和char类型
3.3.5 boolean类型
3.4 变量
- 变量类型:在Java中,每个变量都有一个类型type
- 变量名:name
3.4.1 变量初始化
- 推荐声明的时候初始化
- 声明尽可能地靠近变量第一次使用的地方
3.4.2 常量
- final:利用final指示常量
- 类常量:static final
- const是保留字
3.5 运算符
- 整数被0除将会产生异常
- 浮点数被0除将会得到无穷大或NaN
3.5.1 数学函数与常量
3.5.2 数值类型之间的转换
3.5.3 强制类型转换
3.5.4 结合赋值和运算符
3.5.5 自增与自减运算符
3.5.6 关系和boolean运算符
3.5.7 位运算符
3.5.8 括号与运算符级别
3.5.9 枚举类型
3.6 字符串
3.6.1 子串
3.6.2 拼接
3.6.3 不可变字符串
- String就是不可变字符串
- 不可变字符串的优点:编译器可以让字符串共享
3.6.4 检测字符串是否相等
- equals方法
- 不要使用"=="进行比较,"=="比较的是地址值
- 只有字符串常量是共享的,而+或substring产生的结果并不是共享的
3.6.5 空串与Null串
- 有时要检查一个字符串不是null也不为空串
if ( str != null && str.length() != 0)
3.6.6 码点与代码单元
3.6.7 String API
3.6.8 阅读联机API文档
3.6.9 构建字符串
- 每次连接字符串,都会构建一个新的String对象,即浪费空间,又耗时,
- StringBuilder类可以避免这些问题
- append,toString方法
- StringBuffer支持多线程
3.7 输入输出
- 现代的程序都使用GUI收集用户的输入,然而,这需要使用较多的工具与技术。
- 目前用控制台就可以了
3.7.1 读取输入
- 标准输出流:控制台窗口
- System.out
- System.in
Scanner sc = new Scanner(System.in)
3.7.2 格式化输出
3.7.3 文件输入与输出
3.8 控制流程
3.8.1 块作用域
3.8.2 条件语句
3.8.3 循环
3.8.4 确定循环
3.8.5 多重选择:switch语句
3.9 大数值
- 使用java.math包中的两个类:BigInteger和BigDecimal
3.10 数组
- 数组是一种了数据结构,用来存储用一类型值的集合。
- 一旦创建了数组,就不能再改变它的大小
3.10.1 for each 循环
- 不需要使用下标值
- 如果需要下标,还是要用普通for循环
3.10.2 数组初始化及匿名数组
3.10.3 数组拷贝
3.10.4 命令行参数
3.10.5 数组排序
3.10.6 多维数组
3.10.7 不规则数组
- Java实际上没有多维数组,只有一维数组。多维数组被解释为“数组的数组”。