第四章:数学函数、字符和字符串
math类
Math是final类:在java.lang.Math中,所有数学函数都是静态方法
在一个java程序中,java.lang包中的所有类是隐式导入的。
- 三角函数方法
『此处需要插入图』
- 指数函数方法
『此处需要插入图』
- 取整方法
『此处需要插入图』
- min、max、abs方法
max(double x,double y):传回x、y较大数
min(double x,double y):传回x、y较小数
下面是正确的: Math.max(2.5,3) 。返回3.0。
abs方法返回绝对值
- random方法
Math.random方法生成[0.0,1.0)之间的double类型的随机数
a+(int)(Math.random( )*b) 返回[a, a+b)
a+(int)(Math.random( )*(b+1)) 返回[a, a+b]
字符
java内字符采用unicode码。一个字符两个字节,用\u开头的四位十六进制数表示。从 '\u0000'到'\u007f'对应128个ascii码。
character类的方法如下图:
『此处需要插入图』
类型转换和整形直接量类型转换类似,如下:
byte b = 'a';//正确 int i = 'a';//正确 b = '\ufff4';//错误 b = (byte)'\ufff4';//正确
字符串
String类:是一个final类。表示一个固定长度的字符序列,实例化后字符不能改
- string对象的简单方法
『此处需要插入图』
- string对象的比较方法
『此处需要插入图』
注意:操作符==只能检查来个srting变量是否指向同一对象;equal方法判断两个string变量的内容是否相同。
- string类包含获取子串的方法
『此处需要插入图』
- 字符串和数字间的转换
valueOf方法将基本数据类型转换为字符串。例如
String s1 = String.valueOf(1.0); //“1.0” String s2 = String.valueOf(true); //“true”字符串转换为基本类型 Double.parseDouble(str) Integer.parseInt(str) Boolean.parseBoolean(str)- 格式化控制台输出
格式化字符串: % [-+ 0,][width][.precision]格式描述符
String.format(format, item1, item2, …); //+及空格标志用于显示正负号格式描述符:宽度不够时不会截断%b 布尔值%c 字符%d 十进制整数%f 浮点数,包括double类型%e , %E科学计数法%s 字符串String.format(“格式$:%1d,%2s”, 99,“abc”); //结果”格式$:99,abc“- 控制台输入
Scanner类(java.util.Scanner)
Scanner scanner = new Scanner(System.in);//构造函数Scanner的参数类型也可为java.io.Filedouble d = scanner.nextDouble( ); 方法: nextByte( )、nextShort( )、nextInt( ) nextLong( )、nextFloat( )、nextDouble( ) next( ) 、nextLine( )next( )方法读取以空白字符(' '、'\t'、'\f'、'\r'、'\n')结束的字符串
nextLine( )方法读取一行字符串,以回车键为结束标志。
读取单个字符,需要先读取字符串,然后再获取字符串的第一个字符。
- StringBuilder与StringBuffer
StringBuilder与StringBuffer(final类)初始化后还可以修改字符串。
StringBuffer修改缓冲区的方法是同步的,更适合多任务环境。StringBuilder在单任务模式下与StringBuffer工作机制类似。方法如下:
『此处需要插入图』