Numbers and Strings
一、Numbers
java中自动进行数字和数字对象的转换( Autoboxing and Unboxing)
1、格式化输出常用函数有:
system.out.println print
system.out.format
2、数学函数的支持
import static java.lang.Math.*;
包括三角函数、求绝对值、最大整数、最小整数、数之间比较大小、指数、对数等等。
Summary of Numbers
You use one of the wrapper classes – Byte
, Double
, Float
, Integer
, Long
, or Short
– to wrap a number of primitive type in an object. The Java compiler automatically wraps (boxes) primitives for you when necessary and unboxes them, again when necessary.
The Number
classes include constants and useful class methods. The MIN_VALUE
and MAX_VALUE
constants contain the smallest and largest values that can be contained by an object of that type. The byteValue
, shortValue
, and similar methods convert one numeric type to another. The valueOf
method converts a string to a number, and the toString
method converts a number to a string.
To format a string containing numbers for output, you can use the printf()
or format()
methods in the PrintStream
class. Alternatively, you can use the NumberFormat
class to customize numerical formats using patterns.
The Math
class contains a variety of class methods for performing mathematical functions, including exponential, logarithmic, and trigonometric methods. Math
also includes basic arithmetic functions, such as absolute value and rounding, and a method, random()
, for generating random numbers.
二、Strings
The String
class has thirteen constructors that allow you to provide the initial value of the string using different sources.
Strings 有很多方法用于处理字符串。
The String
class is immutable, so that once it is created a String
object cannot be changed.
String 类自带很多转换为字符串的方法,例如Interger.ToString(); Double.ToString()
查找的方法、替换的方法、定位的方法、比较的方法等等
StringBuilder 该类和String功能相似,不同的是可以被修改。
三、Summary of Characters and Strings
Most of the time, if you are using a single character value, you will use the primitive char type. There are times, however, when you need to use a char as an object—for example, as a method argument where an object is expected. The Java programming language provides a wrapper class that "wraps" the char in a Character object for this purpose. An object of type Character contains a single field whose type is char. This Character class also offers a number of useful class (i.e., static) methods for manipulating characters.
Strings are a sequence of characters and are widely used in Java programming. In the Java programming language, strings are objects. The String class has over 60 methods and 13 constructors.
Most commonly, you create a string with a statement like
String s = "Hello world!";
rather than using one of the String constructors.
The String class has many methods to find and retrieve substrings; these can then be easily reassembled into new strings using the + concatenation operator.
The String class also includes a number of utility methods, among them split(), toLowerCase(), toUpperCase(), and valueOf(). The latter method is indispensable in converting user input strings to numbers. The Number subclasses also have methods for converting strings to numbers and vice versa.
In addition to the String class, there is also a StringBuilder class. Working with StringBuilder objects can sometimes be more efficient than working with strings. The StringBuilder class offers a few methods that can be useful for strings, among them reverse(). In general, however, the String class has a wider variety of methods.
A string can be converted to a string builder using a StringBuilder constructor. A string builder can be converted to a string with the toString() method.
四、The Java compiler applies unboxing when an object of a wrapper class is:
- Passed as a parameter to a method that expects a value of the corresponding primitive type.
- Assigned to a variable of the corresponding primitive type.
Autoboxing and unboxing lets developers write cleaner code, making it easier to read. The following table lists the primitive types and their corresponding wrapper classes, which are used by the Java compiler for autoboxing and unboxing:
Primitive type |
Wrapper class |
boolean |
Boolean |
byte |
Byte |
char |
Character |
float |
Float |
int |
Integer |
long |
Long |
short |
Short |
double |
Double |
unboxing 就是从对象转换为原始类型,boxing反之。
五、The Difference between Integer and Int
前者是类后者是数字类型。
The String
class has over 60 methods and 13 constructors.