⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tij0033.html

📁 学习java的经典书籍
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">8-bit</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">-128</FONT><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">+127</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Byte</B></FONT><A NAME="fnB11" HREF="#fn11">[11]</A><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">short</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">16-bit</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">-2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">15</FONT></SUP><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">+2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">15</FONT></SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
&#8211; 1
</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Short</B></FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>1</B></FONT></SUP><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">int</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">32-bit</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">-2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">31</FONT></SUP><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">+2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">31</FONT></SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
&#8211; 1
</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Integer</B></FONT><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">long</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">64-bit</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">-2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">63</FONT></SUP><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">+2</FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">63</FONT></SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
&#8211; 1
</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Long</B></FONT><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">float</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">32-bit</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">IEEE754</FONT><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">IEEE754</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Float</B></FONT><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">double</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">64-bit
</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">IEEE754</FONT><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">IEEE754</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Double</B></FONT><P></DIV>
</TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH=76 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">void</FONT><P></DIV>
</TD>
<TD WIDTH=45 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">&#8211;</FONT><P></DIV>
</TD>
<TD WIDTH=67 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">&#8211;</FONT><P></DIV>
</TD>
<TD WIDTH=77 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">&#8211;</FONT><P></DIV>
</TD>
<TD WIDTH=64 COLSPAN=1 ROWSPAN=1 VALIGN=TOP>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>Void</B></FONT><SUP><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">1</FONT></SUP><P></DIV>
</TD>
</TR>
</TABLE></DIV>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">All
numeric types are signed, so don&#8217;t go looking for unsigned types.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">The
primitive data types also have &#8220;wrapper&#8221;
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><I>
</I></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">classes
for them. That means that if you want to make a non-primitive object on the
heap to represent that primitive type, you use the associated wrapper. For
example:
</FONT><P></DIV><DIV ALIGN=LEFT><TT><FONT FACE="Courier New" SIZE=3 COLOR="Black">char
c = 'x';
</FONT></TT><P><TT><FONT FACE="Courier New" SIZE=3 COLOR="Black">Character
C = new Character(c);
</FONT></TT><P></DIV><DIV ALIGN=LEFT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">or
you could also use:
</FONT><P></DIV><DIV ALIGN=LEFT><TT><FONT FACE="Courier New" SIZE=3 COLOR="Black">Character
C = new Character('x');
</FONT></TT><P></DIV><DIV ALIGN=LEFT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">The
reasons for doing this will be shown in a later chapter.
</FONT><P></DIV>
<A NAME="Heading66"></A><H4 ALIGN=LEFT>
High-precision
numbers
</H4>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">Java
1.1<A NAME="Index73"></A>
has added two classes for performing high-precision arithmetic: 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigInteger</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
and 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigDecimal</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">.
Although these approximately fit into the same category as the
&#8220;wrapper&#8221; classes, neither one has a primitive analogue.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">Both
classes have methods that provide analogues for the operations that you perform
on primitive types. That is, you can do anything with a 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigInteger</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
or 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigDecimal
</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">that
you can with an 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>int</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
or 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>float</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">,
it&#8217;s just that you must use method calls instead of operators. Also,
since there&#8217;s more involved, the operations will be slower. You&#8217;re
exchanging speed for accuracy.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigInteger</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
supports arbitrary-precision integers. This means that you can accurately
represent integral values of any size without losing any information during
operations.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>BigDecimal</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
is for arbitrary-precision fixed-point numbers; you can use these for accurate
monetary calculations, for example.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">Consult
your online documentation for details about the constructors and methods you
can call for these two classes.
</FONT><a name="_Toc375545221"></a><a name="_Toc408018422"></a><P></DIV>
<A NAME="Heading67"></A><H3 ALIGN=LEFT>
Arrays
in Java
</H3>
<DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">Virtually
all programming languages support 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.
</FONT><A NAME="fnB12" HREF="#fn12">[12]</A><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">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 is worth the expense.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">When
you create an array of objects, you are really creating an array of handles,
and each of those handles is automatically initialized to a special value with
its own keyword: <A NAME="Index74"></A><A NAME="Index75"></A></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>null</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">.
When Java sees 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>null</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">,
it recognizes that the handle in question isn&#8217;t pointing to an object.
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>
</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">You
must assign an object to each handle before you use it, and if you try to use a
handle that&#8217;s still 
</FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black"><B>null,</B></FONT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">
the problem will be reported at run-time. Thus, typical array errors are
prevented in Java.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">You
can also create an array of primitives. Again, the compiler guarantees
initialization because it zeroes the memory for that array.
</FONT><P></DIV><DIV ALIGN=LEFT><FONT FACE="Carmina Md BT" SIZE=3 COLOR="Black">Arrays
will be covered in detail in later chapters.
</FONT><a name="_Toc375545222"></a><a name="_Toc408018423"></a><P></DIV>
<HR><DIV ALIGN=LEFT><A NAME="fn11" HREF="#fnB11">[11]</A><FONT FACE="Carmina Md BT" SIZE=2 COLOR="Black">
In Java version 1.1 only, not in 1.0.
</FONT><P></DIV><DIV ALIGN=LEFT><A NAME="fn12" HREF="#fnB12">[12]</A><FONT FACE="Carmina Md BT" SIZE=2 COLOR="Black">
In C++ you should often use the safer containers in the Standard Template
Library as an alternative to arrays.
</FONT><P></DIV>


<div align="right">
<a href="tij_c.html">Contents</a> | <a href="tij0032.html">Prev</a> | <a href="tij0034.html">Next</a>
</div>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -