hooyantsing's Blog

第三章_Java的基本程序设计结构

字数统计: 496阅读时长: 2 min
2020/05/08

第三章 Java的基本程序设计结构

数据类型

a22015053274df3e412e6295923dd3f0.png

7d03af4cfa0c831ce1eaaa7fbc50284b.png

7462fa5f643e6aedc9e325f9d4c2ed51.png

strictfp关键字

加入该关键字将严格浮点计算,在浮点数计算的过程中,所有中间计算都必须截断。可能会产生溢出,并且截断操作消耗时间。

在main方法中的所有指令都将使用严格的浮点计算,如果将一个类标记为strictfp,这个类中的所有方法都要使用严格的浮点计算。

1
public static strictfp void main(String[] args)

常量

7754b66c9070f90771b09d764a0dc9c1.png

位运算符

1dae4e53892dee91174c43c50c189066.png

数学函数与常量

8d7f1bf1d7b8a9488fbe3c71cbd0e411.png

e49d5987648583732fc7483b52265858.png

四舍五入:Math.round(),参数double,返回long。

推荐double类型数据转long或者int时使用。

数值类型之间的转换

96ade5bf5fae079469f79d38a78a036c.png

测试:

1
2
3
4
5
6
//类型转换测试
int number = 123456789;
float numberF = number;
double numberD = number;
System.out.println("float:" + numberF);
System.out.println("double:" + numberD);

结果:

float丢失精度,double不受影响。

子串

.substring(a,b)

651978738563a7e9b8dbc1569fe19493.png

String常用API

5c0abe8ce4938ba7c1220fbc110dcb9b.png

30048f84ad7d3671ed2ea98b1644efe3.png

构造字符串

StringBuilder

StringBuffer是StringBuilder的前身,对前者的效率进行了改进。

e21e96d654cdbe6c7e6347dd09b7a74b.png

StringBuilder常用API

2a12ba08c204f9f70db8ea96633d5293.png

测试:

1
2
3
4
//位置插入一个字符串并返回 this
StringBuilder sb = new StringBuilder("hooyant/sing");
sb.insert(sb.indexOf("/"),"OK");
System.out.println(sb.toString());

结果:

%!(EXTRA markdown.ResourceType=, string=, string=)

Scanner常用API

c9a0b380a0aa550c82265634a10b4953.png

格式化输出

System.out.printf

8c6a0d8bda16bce2e54c98f4eae3c6f6.png

fb0db2e5abfaa931210e674d83a698d5.png

9aae587c2c4901242bf14c8f58dacdd9.png

c6396733c59f748266c9ba5580cba022.png

3824fc6e754ba10c0b467a7b8a928e48.png

测试:

1
2
3
4
//日期格式化符号 %索引$t转换符
//索引:对应后面第几个参数 从1开始计数
System.out.println(new Date());
System.out.printf("%1$tF %1$tT",new Date());

结果:

b21499922889c24251c87737c119c776.png

文件输入与输出

0ef33220e1e7392fcf07b56a17fb7c5d.png

42806d640330c19202205e711a4e62ec.png

中断控制流程语句

e760963d0aee46521e16815e435837c4.png

测试:

1
2
3
4
5
6
7
8
9
10
go:
for(int i=0;i<10;i++){
    for(int j=0;j<10;j++){
        System.out.println(i+","+j);
        if(i==2){
            break go;
        }
    }
}
System.out.println("结束");

结果:

79a9fd4bcc21bf695f3075808760d383.png

大数值

db3ecc43010ece1c2775cfb7d22dde1b.png

大数值常用API

**990c601577b1b92e9876ad1d505e48f1.png

**

cf71ae600af7a072d6fb0454322c7d44.png

Array常用APIe455a2260a1369319f837dc1bb9d64d6.png

测试:

1
2
3
4
5
6
7
8
//数组API
int[] ab = {1, 5, 7, 9, 4, 6, 2};
//由小到大排序
Arrays.sort(ab);
System.out.println(Arrays.toString(ab));
//找到返回索引,否则负值
int index = Arrays.binarySearch(ab,2);
System.out.println(index);

结果:

%!(EXTRA markdown.ResourceType=, string=, string=)

CATALOG