数学函数、字符和字符串

数学函数

 

 

常用数学函数

 要点提示:Java 在 Math 类中提供了许多实用的方法 , 来计算常用的數学函数 。

三角函数方法

指数函数方法

取整方法

min 、 max 和 abs 方法

min 和 max 方法用于返回两个数 ( int 、 long 、 float 或 double 型 ) 的最小值和最大值 。

random 方法

你 已 经 使 用 过 randomO 方 法 , 生 成 大 于 等 于 0.0 且 小 于 1.0 的 double 型 随 机 数(0.0 < » Math . randOm ( ) < 1.0 ) 。 可以使用它编写简单的表达式 , 生成任意范围的随机数 。

字符数据类型和操作

 

要点提示 : 字符数据类型表示单个字符。

除了处理数值之外 , Java 还可以处理字符 。 字符数据类型 char 用来表示单个字符 。 字
符型直接量用单引号括住 

特殊字符的转义序列

假如你想在输出时显示如下带引号的信息 , 你能编写如下所示的这条语句吗 ?

System . out . println ( MHe said " Java is fun " " ) ;

答案是不能 , 这条语句有语法错误 。 编译器会认为第二个引号字符就是这个字符串的结束标志 , 而不知道如何处理剩余的字符。为了解决这个问题 , Java 定义了一种特殊的标记来表示特殊字符 , 如表 4 - 5 所示 。 这种标记称为转义序列 , 转义序列由反斜杠 ( \ ) 后面加上一个字符或者一些数字位组成 。 比如,\ t 是一个表示 Tab 字符的转义符 , 而诸如 \ u 03 bl 的转义符用于表示一个 Unicode 。 转义序列中的序列号作为一个整体翻译 , 而不是分开翻译 。 一个转义序列被当作一个字符 。

所以 , 现在可以使用下面的语句输出带引号的消息 :

System.out.println("He said \ “java is fun \ "” ) ;

它的输出是:He said " Java is fun "

注意 , 符号 \ 和 "" 一起代表一个字符 。

字符型数据与数值型数据之间的转换

char 型数据可以转换成任意一种数值类型 , 反之亦然 。 将整数转换成 char • 型数据时,只用到该数据的低十六位 , 其余部分都被忽略。

要将一个浮点值转换成 char 型时 , 首先将浮点值转换成 int 型 , 然后将这个整型值转换为 char 型 。

当一个 char 型数据转换成数值型时 , 这个字符的 Unicode 码就被转换成某个特定的数值类型。

String 类型

 要点提示 : 字符串是一个字符序列 。

char类型只能表示一个字符 。 为了表示一串字符 , 使用称为 String ( 字符串 ) 的数据类型。

String 实际上与 System 类和 Scanner 类一样 , 都是 Java 库中一个预定义的类 。 String类型不是基本类型 , 而是引用类型 ( reference type ) 。 任何 Java 类都可以将变量表示为引用类型 。 使用引用类型声明的变量称为引用变量 , 它引用一个对象 。 这里 , message 是一个引用变量 , 它引用一个内容为 Welcome to ] ava 的字符串对象 。

String 是 Java 中的对象 。 表 4 - 7 中的方法只能从一个特定的字符串实例来调用 。 由于这个原因 , 这些方法称为实例方法 。 非实例方法称为静态方法 。 静态方法可以不使用对象来调用 。 定义在 Math 类中的所有方法都是静态方法 。 它们没有绑定到一个特定的对象实例上 。调用一个实例方法的语法是 reference - Variable . methodName ( arguments ) 。 一个方法可以有多个参数 , 或者无参 。 例如 , charAt ( index ) 方法具有一个参数 , 但是 lengthO 方法则无参 。 回顾曾经介绍过的 , 调用静态方法的语法是 ClassName . methodName ( arguments ) 。 例如 ,Math 类中的 pow 方法可以使用 Math . pow ( 2 , 2 . S ) 来调用 。

求字符串长度

可以调用字符串的丨 engthO 方法获取它的长度 。 例如 , 下面代码

注意 : 使用一个字符串时 , 往往是知道它的直接量值的 。 为方便起见 , Java 允许在不创建新变量的情况下 , 使用字符串直接量直接引用字符串 。 这样 , " Welcome to Java " lengthO 是正确的 , 它返 0 15 。 注意 , " " 表示空字符串 , 并且 " " . lengthO 为 0 。

从控制台读取字符串

为了从控制台读取字符串 , 调用 Scanner 对象上的 nextO 方法 

重要警告 : 为了避免输入錄误 , 不要在 nextByteO 、 nextShortO 、 nextlntO 、 nextLongO 、nextFloat () 、 nextDoubleO 和 next ( ) 之后使用 nextLineO 。

String 类提供了几个版本的 indexOf 和 lastlndexOf 方法 , 它们可以在字符串中找出一个字符或一个子串 , 如表 4 - 10 所示 。

字符串和数字间的转换

可以将数值型字符串转换为数值 。 要将字符串转换为 int 值 , 使用 Integer . parselnt方法 , 如下所示 :

intString 是一个数值型字符串 , 例如 " 123 " 。

要将字符串转换为 double 值 , 使用 Double . parseDouble 方法 , 如下所示 :

doublestring 是一个数值型字符串 , 例如 " 123.45 " 。如果字符串不是数值型字符串 , 转换将导致一个运行时错误 

格式化控制台输出

要点提示 : 可以使用 System . out . printf 方法在控制台上显示格式化输出 。

调用这个方法的语法是:

这里的 format 是指一个由子串和格式标识符构成的字符串。

格式标识符指定每个条目应该如何显示 。 这里的条目可以是数值 、 字符 、 布尔值或字符串 。 简单的格式标识符是以百分号 ( X ) 开头的转换码 。 表 4 - 11 列出了一些常用的简单格式标识符 。

条目与标识符必须在次序 、 数量和类型上匹配 。 例如 : count 的格式标识符应该是 % d ,而 amount 的格式标识符应该是默认情况下 , 浮点值显示小数点后 6 位数字 。 可以在标识符中指定宽度和精度 , 如表 4 - 12 中的例子所示 。

醫告 : 条目与格式标识符必须在类型上严格匹配 。 对应于格式标识符針或細的条目必须是浮点型值 , 例如 : 是 40.0 而不是 40 。 因此 , int 型变量不能匹配%f或%e。

 提示 : 使用符号 % 来标记格式标识符 , 要在格式字符串里输出直接量 X , 需要使用 % %