char c = ‘x’;
Character ch = new Character(c);
Or you could also use:
Character ch = new Character(‘x’);
Java SE5 autoboxing will automatically convert from a primitive to a wrapper type:
Character ch = ‘x’;
and back:
char c = ch;
The reasons for wrapping primitives will be shown in a later chapter.
High-precision numbers 本文来自优尔\文(论"文?网,毕业论文 www.youerw.com 加7位QQ324~9114找原文
Java includes two classes for performing high-precision arithmetic: BigInteger and BigDecimal. Although these approximately fit into the same category as the “wrapper” classes, neither one has a primitive analogue.
Both classes have methods that provide analogues for the operations that you perform on primitive types. That is, you can do anything with a BigInteger or BigDecimal that you can with an int or float, it’s just that you must use method calls instead of operators. Also, since there’s more involved, the operations will be slower. You’re exchanging speed for accuracy.
BigInteger supports arbitrary-precision integers. This means that you can accurately represent integral values of any size without losing any information during operations.
BigDecimal is for arbitrary-precision fixed-point numbers; you can use these for accurate monetary calculations, for example.
Consult the JDK documentation for details about the constructors and methods you can call for these two classes.
Arrays in Java
Virtually all programming languages support some kind of arrays. Using arrays in C and C++ is perilous because those arrays are only blocks of memory. If a program accesses the array outside of its memory block or uses the memory before initialization (common programming errors), there will be unpredictable results.
One of the primary goals of Java is safety, so many of the problems that plague programmers in C and C++ are not repeated in Java. A Java array is guaranteed to be initialized and cannot be accessed outside of its range. The range checking comes at the price of having a small amount of memory overhead on each array as well as verifying the index at run time, but the assumption is that the safety and increased productivity are worth the expense (and Java can sometimes optimize these operations).
When you create an array of objects, you are really creating an array of references, and each of those references is automatically initialized to a special value with its own keyword: null. When Java sees null, it recognizes that the reference in question isn’t pointing to an object. You must assign an object to each reference before you use it, and if you try to use a reference that’s still null, the problem will be reported at run time. Thus, typical array errors are prevented in Java.
You can also create an array of primitives. Again, the compiler guarantees initialization because it zeroes the memory for that array.
Arrays will be covered in detail in later chapters.
You never need to
destroy an object
In most programming languages, the concept of the lifetime of a variable occupies a significant portion of the programming effort. How long does the variable last? If you are supposed to destroy it, when should you? Confusion over variable lifetimes can lead to a lot of bugs, and this section shows how Java greatly simplifies the issue by doing all the cleanup work for you.
Scoping
Most procedural languages have the concept of scope. This determines both the visibility and lifetime of the names defined within that scope. In C, C++, and Java, scope is determined by the placement of curly braces {}. So for example:
{
int x = 12;
// Only x available
{
int q = 96;
// Both x & q available
}
// Only x available
// q is "out of scope"
}
- 上一篇:PLC数控加工工业机械手英文文献和翻译
- 下一篇:机械电子轧机的空间振动英文文献和翻译
-
巴金《激流三部曲》高觉新的悲剧命运
C++最短路径算法研究和程序设计
上市公司股权结构对经营绩效的影响研究
中国传统元素在游戏角色...
高警觉工作人群的元情绪...
江苏省某高中学生体质现状的调查研究
浅析中国古代宗法制度
g-C3N4光催化剂的制备和光催化性能研究
现代简约美式风格在室内家装中的运用
NFC协议物理层的软件实现+文献综述