《JAVA核心技术》第三章 JAVA的基本程序设计结构 学习笔记
1. 数据类型
共有8种数据类型,4种整型,2种浮点,char,boolean
-
整型:
- int 4bytes -2 147 483 648 ~ 2 147 483 647 (正好超过20亿)231-1
- short 2bytes -32 768 ~ 32767 (215-1) (216 = 65536)
- long 8bytes (长整型数值有一个后缀L 如 400 000 000 000L)
- byte 1byte
-
浮点型:
- float
- double(主要)
- NAN(不是一个数字 0/0 或 负数平方根的结果)
如果数值计算中不允许含有任何舍入误差,就应该使用 BigDecimal 类
boolean : true false
常量用关键字
final
来声明 如:final double rate =2.5
2. 运算符
println 方法和 sqrt 方法存在微小的差异。println 方法处理 System.out 对象。但是, Math 类中的 sqrt 方法处理的不是对象,这样的方法被称为静态方法。有关静态方法的详 细内容请参看第 4 章。
-
同 C
+ - * / % ++ -- +=等 == < <= > >= != && || ! & | ~ ^ << >>(算术右移) >>>(逻辑右移) (位运算)
3. 字符串
详见新的文章 String类 常用整理
-
可以使用静态的 String.format() 方法创建一个格式化的字符串,而不打印输出:
String message = String.format("Hello, %s. Next year, you'll be %d",name, age);
4. 文件输入输出 读取与写入
- 详见后续文章
5. 控制语句 与 循环语句
同 C / C++
-
特殊:带标签的
break
语句loop: for (int i = 0; i < n; i++){ for (int j = i; j < n; j++){ if(……){ break loop; } } }
-
for each 循环
int[] a = new int[10]; a = [9,8,7,6,5,4,3,2,1,0]; for (int item : a) { System.out.println(item); }
6. 数据结构之数组
-
创建与初始化
int[] a = new int[100]; String[] b = { "zzp", "xst", "hc" }; // 注意如此初始化 一定是花括号{} 不要与python混淆
常用 for-each 循环
数组是一个对象 数组名只能是引用该数组对象 (相当于控制器)
-
多维数组创建:
int[][] matrix = new int[ROWS][COLUMNS] double[][] matrix2 = { {2, 3, 5, 7}, {11, 13, 17, 19}, {1, 2, 3, 4} }
当数组的元素的类型是类的时候,数组的每一个元素其实只是对象的管理者而不是对象本身。因此,仅仅创建数组并没有创建其中的每一个对象!