每个Java应用程序都必须有一个main方法
object.method(parameters)
注释单行 //
长篇 / /
自动生成文档 /* /
基本数据类型(primitive type)强类型:必须为每个变量声明一种类型整型byte
short
int
long
浮点型float
double
(正无穷大、负无穷大、NaN)
char(2byte)Unicode字符用一个或两个char类型表示。 使用char描述所有Unicode字符:码点(17个代码级别)
boolean 整型与boolean不能转换
变量及操作变量声明(命名)
初始化
常量final:只能赋值一次
类常量:在类的多个方法中使用(static final)
运算符加、减、乘、除(除零时的结果差异)、取模
浮点运算,保持移植时的精确度,使用strictfp修饰类或方法(截断操作,有可能溢出)Math:计算机浮点单元中的例程,得到多平台相同结果,则使用StrictMath
类型转换Java基本类型转换示意图
虚箭头:有精度损失的转换 二元运算时,先将操作数转换为同一类型,然后再进行运算:如果其中一个操作数为double,则另一个转为double
。。。。。。。。。。float,。。。。。。。float
。。。。。。。。。。long,。。。。。。。。long
否则,两个操作数都将转为int结合赋值和运算符 += -= *= /= (当最后变量与计算结果类型不同时,出发强制转换) 自增自减
关系和boolean运算符
位运算符 与 或 异或 非
括号和运算符规则
字符串
subString
format
不可变:效率权衡-字符串常量共享
CodePoint:一个或两个代码单元(char)构成
输入输出输入 Scanner:关联标准输入http://System.in、scanner.nextLine、next()、netInt()
Console:从控制台读取密码cons.readPassword("Password:")
输出 System.out.printf("%8.2f", x); System.out.printf("Hello, %s. Next year, you'll be %d", name, age);
文件的IO 读取:Scanner in = new Scanner(Paths.get("myfile.txt"), "UTF-8"); 写入:PrintWriter out = new PrintWriter('myfile.txt", "UTF-8");
确定启动路径:String dir = System.getProperty('user.dir"):
控制流程块作用域
条件语句
循环:while-为真才执行 dowhile-先执行再判断,至少执行一次 for
多重选择switch语句 case标签可以为:byte、short、int、char、枚举变量、字符串字面量。注意case贯穿问题
中断控制流程continue
带标签的break——挑出多层嵌套的控制
label:
{
// deal with bad situation
// carry out normal processing
if (condition) break label; // exits block
...
}
// jumps here when the break statement executes
小结:开始总结《Java核心编程技术·卷一》的内容,本文主要总结了第三章“程序设计结构”中的内容,是Java开发中基础中的基础,认识变量、常量、基本数据类型、控制流程这些概念。