第二部分 Java的基本程序设计结构
部分特殊字符转义+格式化输出 + 位运算 + 格式化输出 + 命令行参数 + 不规则数组
正文
回车不代表句子结束,即一个句子可以分行写;
1.特殊字符转义
特殊字符转义:\b——退格,\r——回车
小心注释中的\u,如果注释中的\u~是Unicode编码,会在解析代码前得到转义,进而产生语法错误或者改变原来要表达的意思
2.位运算
运算时先转换为二进制,再按位运算。
3.格式化输出
沿用C语言函数库printf(): System.out.printf();
- 格式化输出数值
1 | System.out.printf("%2f",10000.0/3.0); |
- 格式化输出字符
1 | System.out.printf("%,.2f",10000.0/3.0); |
4.命令行参数
main方法:
1 | public static void main(String args){} |
String args[]
参数表明main方法将接收一个字符串数组,也就是命令行参数。
例如. 如果以如下形式运行这个程序
java Message -g cruel world
args数组将包含下列内容:
1 | args[0]:"-g" |
结果显示:Goodbye,cruel world!
tips:程序名并未储存在args[]中。
5.多维数组中的不规则数组
- 分配具有所含行数的数组
int[][] adds = new int [NMAX + 1][];
实际分配的是包含NMAX+1个指针的数组
- 分配这些行
1 | for(int n = 0;n <= NMAX; n++) |
每个指针单独的创建数组,由此可自定义每行数组的长度
- 得到不规则数组
由此可见Java只有一维数组,二维数组是由一维数组组合而成。
6.枚举
当需要在几个指定的变量中选择时,可以使用枚举类型。
例如,衣服的尺寸有small,medium,large,extraLarge。则可以自定义枚举类型,表示为:enum Size{small,medium,large,extraLarge};
然后使用时,声明类型变量:Size s = Size.medium;
Size类型变量只能存储这个类型声明中给定的某个枚举值,或者
null
.
7.大数值运算
当基本的数据类型不能满足精度要求时,可以使用java.math包中的两个类:BigInteger
:任意精度的整数。BigDecimal
:任意精度的浮点数。
将普通的数值转换为大数值,使用静态的valueOf
方法
1 | BigInteger a = BigInteger.valueOf(100); |
进行加、减、乘、除时,也不能使用常规的运算符(如+、-、*等),而应该使用add(+)、mutiply (*)、divide(\)等
```java
BigInteger c = a.add(c);//c=a+b;
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));//d=c*(b+2);
参考文献
《java核心技术 卷1》