🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #22221

Java���˼��---��3�� ���Ƴ�������

#22221
From: �˺�2��
Date: Tue, 28 Oct 2003 01:40
559 lines
62197 bytes
�������κ��и�֪������һ���������ܲ����Լ������磬��ִ�й���������ж���
ѡ�񡣡�
��Java����������������ݶ������ݣ�����ִ�п����������ѡ��Java�ǽ���
��C++���ϵģ����Զ�C��C++����Ա��˵����Java�ⷽ��Ĵ�������������Ӧ��
�dz���Ϥ�ġ���Ȼ��JavaҲ�������Լ���һЩ�Ľ���򻯹�����
3.1 ʹ��Java�����
�������һ�������Ա���Ϊ�������һ����ֵ���Ա���������ԭʼ�������ò�ͬ
��һ����ʽ����Ч������ͬ�ġ������ǰд����ľ��飬�����ij������Ӧ�ò�����
�⡣
�Ӻţ�+�������ź͸��ţ�-�����˺ţ�*������ţ�/���Լ��Ⱥţ�=�����÷�����������
������Զ������Ƶġ�
����������ܸ���Լ�������������һ��ֵ��������⣬һ�������ɸı������
���ֵ��������������á���Side Effect���������������;�����޸��Լ�������
���󣬴Ӷ�������á���Ҫע����ɵ�ֵ�����û�и����õ��������ɡ�
�������������ֻ�ܲ����������͡���Primitives����Ψһ�������ǡ�=������==����
��!=���������ܲ������ж���Ҳ�Ƕ��������˻����һ���ط�����������⣬String
��֧�֡�+���͡�+=����
3.1.1 ���ȼ�
���������ȼ������˴��ڶ�������ʱһ�����ʽ�����ֵļ���˳��Java�Լ���˳
���������ر�Ĺ涨�����У���򵥵Ĺ�����dz˷��ͳ��ڼӷ��ͼ���֮ǰ��ɡ���
��Ա������������������ȼ���������Ӧ����������ȷ�涨����˳�����磺
A = X + Y - 2/2 + Z;
Ϊ�������ʽ�������ź󣬾�����һ����ͬ�ĺ��塣
A = X + (Y - 2)/(2 + Z);
3.1.2 ��ֵ
��ֵ���õȺ������=�����еġ������˼�ǡ�ȡ���ұߵ�ֵ�������Ƶ���ߡ�����
�ߵ�ֵ�������κγ���������߱��ʽ��ֻҪ�ܲ���һ��ֵ���С�����ߵ�ֵ������
һ����ȷ�ġ�������ı�����Ҳ����˵���������һ�������ԵĿռ��������ұߵ�ֵ��
�ٸ�������˵���ɽ�һ�������һ��������A=4;���������ɽ��κζ�������һ������
�����粻��4=A����
����������͵ĸ�ֵ�Ƿdz�ֱ�ӵġ�����������������ʵ�ʵ�ֵ�����Ҳ���ָ��һ����
��ľ��������Ϊ�丳ֵ��ʱ�򣬿ɽ�����һ���ط������ݸ��Ƶ���һ���ط�������
������Ϊ������ʹ�á�A=B������ôB�������ݾ͸��Ƶ�A�����������޸���A����ôB��
�����������޸ĵ�Ӱ�졣��Ϊһ�����Ա����Ӧ��Ϊ�Լ��ij�ʶ��
����Ϊ���󡰸�ֵ����ʱ�����ȴ�����˱仯����һ��������в���ʱ�����������
��������ľ��������������һ��������һ�����󡱸�ֵ��ʵ�ʾ��ǽ�����һ��
�ط����Ƶ���һ���ط�������ζ�ż���Ϊ����ʹ�á�C=D������ôC��D���ն���ָ�����
ֻ��D��ָ����Ǹ���������������ӽ����Ҳ�ʾ��һ�㡣
������һЩ���⻰���ں��棬����ڴ���ʾ���￴���ĵ�һ����佫�ǡ�package 03��
ʹ�õġ�package����䣬���?���3�¡�����ÿһ�µĵ�һ�������嵥�������
�����һ����package������װ���������䣬���������Ϊ��һ��ʣ��Ĵ��뽨
���½ڱ�š��ڵ�17�£���һῴ����3�µ����д����嵥������Щ�в�ͬ��װ��Ƶ���
�⣩�����Զ�����һ����Ϊc03����Ŀ¼���4�µĴ�������c04���Դ����ơ�������Щ
����ͨ���17��չʾ��CodePackage.java����ʵ�ֵģ�����װ���Ļ������ڵ�5�½�
���꾡�Ľ��͡���Ŀǰ��˵�����ֻ���ס��package 03���������ʽֻ������Ϊij
һ�µĴ����嵥������Ӧ����Ŀ¼��
Ϊ���г��򣬱��뱣֤��classpath��������ǰ�װ����Դ���ļ��ĸ�Ŀ¼���Ǹ�Ŀ¼
�����c02��c03c��c04�ȵ���Ŀ¼����
����Java����İ汾��1.1.4�͸�߰汾����������main()��package����װ��һ��
�ļ����ô�����ڳ�����ǰ��ָ������İ����ƣ����������г������������
�£��������ǣ�
java c03.Assignment
����λ��һ���������ij���ʱ����ʱ��Ҫע���ⷽ������⡣
���������ӣ�
97-98ҳ����
Number��dz��򵥣��������ʵ��n1��n2������main()�ﴴ���ġ�ÿ��Number�е�iֵ
��������һ����ͬ��ֵ����󣬽�n2����n1������n1����ı䡣�����������������
�����Ƕ�ϣ��n1��n2�κ�ʱ���໥�����������������Ѹ�����һ��������������
����ʵ�������
1: n1.i: 9, n2.i: 47
2: n1.i: 47, n2.i: 47
3: n1.i: 27, n2.i: 27
�����ı�n1��ͬʱҲ�ı���n2��������������n1����n2��������ͬ�ľ����ָ����
ͬ�Ķ�������ľ��λ��n1�ڲ���ָ��������ֵ9��һ�������ڸ�ֵ����У��Ǹ���
��ʵ���Ѿ���ʧ����Ķ�����ɡ������ռ������Զ����
�������������ͨ��Ҳ������������Java���������һ�ֻ�ʽ����������Ը��
����������³��ֱ����ָ���ô�����أ��ɷ���ֵ����д���������룺
n1.i = n2.i;
�����ɱ������������Ķ��󣬶��ǽ�n1��n2�󶨵���ͬ�Ķ��󡣵���ܿ�ͻ���ʶ
������������ʹ�����ڲ����ֶδ��?����ң������׼������������׼����㣡���
���Ⲣ��һ���򵥵Ļ��⣬���������12����ϸ��������һ����ר�����۱���ġ���ʱ
�����Ҳ��ע�⵽����ĸ�ֵ�����һЩ�����𾪵�Ч��
1. ���������еı�����
��һ�����󴫵ݵ������ڲ�ʱ��Ҳ������������
99ҳ�ϳ���
����������������У�f()�����������ƺ�Ҫ�ڷ������������������Լ����Ա���Let
ter y��һ����������ͬ��أ�ʵ�ʴ��ݵ���һ���������������������У�
y.c = 'z';
ʵ�ʸı����f()֮��Ķ������������£�
1: x.c: a
2: x.c: z
�������ĶԲ��Ƿdz����ӵ�һ�����⡣���ܱ��������12�²ſɻ�����д𰸣�����
���ڿ�ʼ��Ӧ�������ӣ��Ա����緢�����ȱ�㡣
3.1.3 ���������
Java�Ļ����������������������������������ͬ�ġ����а����Ӻţ�+��������
��-������ţ�/�����˺ţ�*���Լ�ģ��%����������л������������ֱ
�ӿ���С����ǽ�λ��
JavaҲ��һ�ּ�д��ʽ�������㣬��ͬʱ���и�ֵ�����������ɵȺ�ǰ��һ��������
�ǵģ����Ҷ��������е�����������ǹ̶��ġ����磬Ϊ�˽�4�ӵ�����x���������
����x�����ã�x+=4��
�����������չʾ�����������ĸ����÷���
100-101ҳ����
����ע�⵽�ĵ�һ������������ڴ�ӡ����ʾ����һЩ��ݷ�����prt()������ӡһ��S
tring��pInt()�ȴ�ӡһ��String���ٴ�ӡһ�� int����pFlt()�ȴ�ӡһ��String���ٴ�
ӡһ��float����Ȼ���������ն�Ҫ��System.out.println()��β��
Ϊ������֣��������Ȼᴴ��һ��Random�������������Ա������ڴ�������д�
�ݵģ�����Java����ǰʱ����Ϊһ��������ֵ�������������������á�ͨ��Random��
�󣬳���������಻ͬ���͵�������֡������ܼ򵥣�ֻ����ò�ͬ�ķ������ɣ�ne
xtInt()��nextLong()�� nextFloat()����nextDouble()��
����ͬ�����������Ľ��ʹ�ã�ģ�������%���ɽ�������Ƶ���������1������
��������99��֮�¡�
1. һԪ�ӡ��������
һԪ���ţ�-����һԪ�Ӻţ�+�����Ԫ�Ӻźͼ��Ŷ�����ͬ��������ݱ��ʽ����
д��ʽ�����������Զ��ж�ʹ����һ�֡�����������䣺
x = -a;
��ĺ�������Ȼ�ġ�����������ȷʶ��������䣺
x = a * -b;
�����߻ᱻ���Ϳ��������ø���ȷ��д�ɣ�
x = a * (-b);
һԪ���ŵõ����������ĸ�ֵ��һԪ�Ӻŵĺ�����һԪ�����෴����Ȼ��ʵ�ʲ�����
�κ����顣
3.1.4 �Զ������͵ݼ�
��C���ƣ�Java�ṩ�˷ḻ�Ŀ�����㷽ʽ����Щ��������ʹ�������ˬ������¼�룬
Ҳ���׶��߱����
���ֺܲ���Ŀ�����㷽ʽ�ǵ����͵ݼ�������������Զ��������͡��Զ��ݼ���
��������У��ݼ�������ǡ�--������Ϊ������һ����λ��������������ǡ�++��
����Ϊ������һ����λ�����ٸ�������˵������A��һ��int������ֵ������ʽ++A��
�ȼ��ڣ�A = A + 1���������͵ݼ����������ɵ��DZ�����ֵ��
��ÿ�����͵�������������汾�ɹ�ѡ�ã�ͨ�������Ϊ��ǰ׺�桱�͡���׺�桱
����ǰ��������ʾ++�����λ�ڱ�������ʽ��ǰ�棻����������ʾ+ +�����λ��
��������ʽ�ĺ��档���Ƶأ���ǰ�ݼ�����ζ��--�����λ�ڱ�������ʽ��ǰ�棻
���ݼ�����ζ��--�����λ�ڱ�������ʽ�ĺ��档����ǰ������ǰ�ݼ�����++A��
--A��������ִ�����㣬�����ֵ������ں�����ͺ�ݼ�����A++��A--�����������ֵ
����ִ�����㡣������һ�����ӣ�
102-103ҳ����
�ó����������£�
103ҳ�³���
���п��Կ���������ǰ׺��ʽ��������ִ���������ŵõ�ֵ�������ں�׺��ʽ������
������ִ��֮ǰ�͵õ�ֵ��������Ψһ���С������á�����������Щ�漰��ֵ����
�⣩��Ҳ����˵�����ǻ�ı�������󣬶������ʹ���Լ���ֵ��
������������Ƕԡ�C++��������ֵ�һ�ֽ��ͣ���ʾ�š�����C��һ�����������ڵ�һ
��Java�ݽ��У�Bill Joy��ʼ����֮һ����ơ�Java=C++--����C�ӼӼ���������ζ��J
ava��ȥ����C++һЩû������ĥ�˵ĵط����γ�һ�ָ������ԡ������һ����Ȿ
����ѧ��������Java�����ط����õ��˼򻯣�����Java��ѧϰ��C++�����ס�
3.1.5 ��ϵ�����
��ϵ�������ɵ���һ��������Boolean������������۵����������ֵ֮��Ĺ�
ϵ������ϵ����ʵ�ģ���ϵ���ʽ�����true���棩������ϵ����ʵ�������false����
������ϵ��������С�ڣ�<�������ڣ�>����С�ڻ���ڣ�<=�������ڻ���ڣ�>=����
���ڣ�==���Լ������ڣ�!=�������ںͲ����������������ڽ���������ͣ�������Ƚ�
��������boolean���͡�
1. �������Ƿ����
��ϵ�����==��!=Ҳ���������ж��󣬵����ǵĺ���ͨ����ʹ����Java��������Ҳ���
����������һ�����ӣ�
104ҳ�ϳ���
���У����ʽSystem.out.println(n1 == n2)�ɴ�ӡ���ڲ��IJ���ȽϽ��һ���˶�
����Ϊ������϶�����true������false����Ϊ����Integer��������ͬ�ġ�������
�����������ͬ�����ȴ�Dz�ͬ�ģ���==��!=�Ƚϵ���þ��Ƕ���������������
ʵ��������false������true������Ȼ��ʹ��һ�νӴ����˸е����档
����Ա����������ʵ�������Ƿ���ͬ���ָ���β����أ���ʱ������ʹ�����ж���
���õ����ⷽ��equals()������������������ڡ������͡�����Щ����ֱ��ʹ��==��!=
���ɡ��������˵�����ʹ�ã�
104ҳ�³���
��������Ԥ�Ƶ������ʱ�õ��Ľ����true�������鲢δ���˽������������
�����࣬������������
104-105ҳ����
��ʱ�Ľ���ֱ����false����������equals()��Ĭ����Ϊ�DZȽϾ�����Գ�����Լ�
�������иı���equals()�����򲻿��ܱ��ֳ�����ϣ�����Ϊ�����ҵ��ǣ�Ҫ����7�²�
��ѧϰ��θı���Ϊ����Ҫע��equals()��������Ϊ��ʽͬʱ�����ܹ�����һЩ������
���Ե��¼���
�����Java��ⶼʵ����equals()��������ʵ�ʱȽϵ��Ƕ�������ݣ�������ǵľ��
��
3.1.6 �߼������
�߼������AND��&&����OR��||���Լ�NOT��!�������һ������ֵ��true��false������
���Ա������߼���ϵΪ�����������������չʾ�����ʹ�ù�ϵ���߼������

105-106ҳ����
ֻ�ɽ�AND��OR��NOTӦ���ڲ���ֵ������C��C++�в�ͬ�����ɽ�һ���Dz���ֵ��������
ֵ���߼����ʽ��ʹ�á������������ͻᷢ�ֳ���ʧ�ܣ�����һ����//!�������Ȼ��
����ı��ʽ���ù�ϵ�Ƚ���ɲ���ֵ��Ȼ��Խ������߼����㡣
����б?����������������ӣ�
106ҳ�³���
ע������Ԥ��ΪStringֵ�ĵط�ʹ�ã�����ֵ���Զ�ת�����ʵ����ı���ʽ��
�����������У��ɽ���int�Ķ����滻�ɳ�boolean����������κ���������͡���Ҫע
�⣬�Ը������ֵıȽ��Ƿdz��ϸ�ġ���ʹһ�����ֽ���С�������һ�����ִ��ڼ�
΢С�IJ��죬��Ȼ��Ϊ�����ǡ�����ȡ��ġ���ʹһ������ֻ�����һ��㣨����2��ͣ
�ؿ�ƽ��������Ȼ���ڡ����㡱ֵ��
1. ��·
�����߼������ʱ�����ǻ�����һ����Ϊ����·�������������ζ��ֻ����ȷ�ó����
���ʽ���ٵĽ��ۣ��Ż�Ա��ʽ�����߼���ֵ����ˣ�һ���߼����ʽ�����в���
���п��ܲ�������ֵ��
107ҳ����
ÿ�β��Զ���Ƚ��Ա��������������١������ʾ��׼������ʲô�йص����ϡ���
��������������ʽ�н��У�
if(test1(0)) && test2(2) && test3(2))
����Ȼ�أ���Ҳ����Ϊ������������Զ������ִ�С���ϣ������������ʹ����
һ����
108ҳ����
��һ���������һ��true������Ա��ʽ��ֵ�������ȥ��Ȼ��ڶ������Բ�����
һ��false�����������ζ��������ʽ�϶�Ϊfalse������Ϊʲô��Ҫ����ʣ��ı�
��ʽ�أ�������ֻ��ͽ�����档��ʵ�ϣ�����·��һ�ʵ������������ڴˡ����һ����
�����ʽ�����в��ֶ�����ִ����ȥ����ôDZ�ڵ������������൱�ɹ۵ġ�
3.1.7 ������
��λ������������Dz���һ����������������еĵ��������ء�����������λ����λ��
����������Ա����ж�Ӧ��λִ�в�������������һ�����
��λ������Դ��C���Եĵͼ����������Ǿ�����Ҫֱ�Ӳ���Ӳ������ҪƵ������Ӳ���Ĵ�
���ڵĶ�����λ��Java����Ƴ�����Ƕ����Ӷ��ú��ڣ��������ֵͼ������Ա�������
���ˡ�Ȼ�����ڲ���ϵͳ�Ľ�����Ҳ�?�ع���Ƶ���ؽ��а�λ���㡣
����������λ����1����λAND�����&�������λ�����һ��1���������0��������
����λ��������һ����1����λOR�����|�������λ�����һ��1��ֻ������������
λ����0������£���Ż����һ��0������������λ��ijһ����1������ȫ����1����ô
��λXOR��^����������λ�����һ��1����λNOT��~��Ҳ�������ǡ����������һ
Ԫ�������ֻ��һ���Ա������в�������������������Ƕ�Ԫ�������λNOT��
��������λ���෴��ֵ����������0�������1������1�������0��
��λ�������߼������ʹ����ͬ����ַ�ֻ��������ͬ����ˣ������ܷ���ؼ�
����Եĺ��壺���ڡ�λ���Ƿdz���С���ģ����԰�λ������ʹ����һ���ַ�
��λ��������Ⱥţ�=������ʹ�ã��Ա�ϲ����㼰��ֵ��&=��|=��^=���ǺϷ��ģ���
��~��һԪ��������Բ�����=����ʹ�ã���
���ǽ�boolean���������͵���һ�֡���λ���򡰵����ء�ֵ�Դ������������Щ��
�صĵط������ǿ�ִ�а�λAND��OR��XOR��������ִ�а�λ NOT�������Ϊ�˱�������
��NOT������ڲ���ֵ����λ�����������߼��������ͬ��Ч��ֻ�����Dz�����
;����·�������⣬��Բ���ֵ���еİ�λ����Ϊ����������һ��XOR�߼��������
δ�����ڡ��߼����������б��С�����λ���ʽ�У����DZ���ֹʹ�ò������㣬ԭ��
����������͡�
3.1.8 ������
��λ�����������������Ҳ�Ƕ����Ƶġ�λ�����ɵ��������Ǵ����������ͣ�������
��һ�֣�������λ�����<<���ܽ��������ߵ�������������ƶ�������Ҳ�ָ����
λ���ڵ�λ��0�������з�š�����λ�����>>�����������ߵ��������������
��������Ҳ�ָ����λ���з�š�����λ�����ʹ���ˡ������չ������ֵΪ��
���ڸ�λ����0����ֵΪ�������ڸ�λ����1��JavaҲ�����һ�֡��޷�š�����λ����
��> >>������ʹ���ˡ�����չ������������ڸ�λ����0����һ�������C��C++û
�еġ�
����char��byte����short������λ���?��ô����λ����֮ǰ�����ǻ��Զ�ת����һ��
int��ֻ���Ҳ��5����λ�Ż��õ�������ɷ�ֹ������һ��int�����ƶ�����ʵ�ʵ�λ��
������һ��longֵ���д��?���õ��Ľ��Ҳ��long����ʱֻ���õ��Ҳ��6����λ��
��ֹ�ƶ�����longֵ���ֳɵ�λ���ڽ��С��޷�š�����λʱ��Ҳ��������һ����
�⡣����byte��shortֵ��������λ���㣬�õ��Ŀ��ܲ�����ȷ�Ľ��Java 1.0��Jav
a 1.1�ر�ͻ���������ǻ��Զ�ת����int���ͣ�����������λ����������չ�����ᷢ��
����������Щ����»�õ�-1�Ľ���������������Ӽ���Լ���ʵ�ַ�����
109-110ҳ����
��λ����Ⱥţ�<<=��>>=��>>>=�����ʹ�á���ʱ���������ߵ�ֵ���ƶ����ұߵ�ֵ
ָ����λ���ٽ��õ��Ľ�����ߵ�ֵ��
��������������Ҳ�ʾ�����Ӧ���漰����λ������������������Լ����ǵ�Ч��
��
110-112ҳ����
����ĩβ����������������pBinInt()��pBinLong()�����Ƿֱ����һ��int��longֵ��
����һ�ֶ����Ƹ�ʽ�����ͬʱ���м�Ҫ��˵�����֡�Ŀǰ������ʱ�������Ǿ����ʵ
�ַ�����
���Ҫע�����System.out.print()��ʹ�ã�����System.out.println()��print()��
���������һ�����У��Ա���ͬһ�������ж�����Ϣ��
��չʾ���а�λ��������int��long��Ч��֮�⣬����Ҳչʾ��int��long����Сֵ��
���ֵ��+1��-1ֵ��ʹ�����������ǵ������ע���λ�����ţ�0Ϊ��1Ϊ����
�����г�int���ֵ������
112-113ҳ����
���ֵĶ�������ʽ����Ϊ���з��2�IJ�ֵ����
3.1.9 ��Ԫif-else�����
���������ȽϺ�����Ϊ�������������󡣵���ȷʵ����������һ�֣���Ϊ����
��Ҳ�����һ��ֵ�����뱾�º�һ��Ҫ��������ͨif-else����Dz�ͬ�ġ����ʽ��ȡ��
����ʽ��
������ʽ ? ֵ0:ֵ1
����������ʽ���Ľ��Ϊtrue���ͼ��㡰ֵ0����������Ľ���Ϊ��������������
��ֵ��������������ʽ���Ľ��Ϊfalse������ľ��ǡ�ֵ1����������Ľ���Ϊ��
�������������ֵ��
��Ȼ��Ҳ���Ի�����ͨ��if-else��䣨�ں�����ܣ�������Ԫ������Ӽ�ࡣ����C
����Ϊ���ľ�������һ�ּ��������ԣ�������Ԫ���������������Ϊ���������ָ�
Ч�ʵı�̣������������Ƶ��������Ҫ�ȶ���һЩ˼������������׾ͻ�����
���Լ���Ĵ��롣
�ɽ���������������Լ��ġ������á�������������ɵ�ֵ����ͨ����Ӧ��������ֵ��
��Ϊ�������ɽ��������if-else��ȷ��𿪡��������һ�����ӣ�
static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}
���Կ�������������ͨ��if-else�ṹд�������룬�����������������ࡣ������ʾ
��
static int alternative(int i) {
if (i < 10)
return i * 100;
return i * 10;
}
���ڶ�����ʽ������⣬���Ҳ�Ҫ�����¼�롣��������ѡ��Ԫ�����ʱ�������Ȩ
��һ����ס�
3.1.10 ���������
��C��C++����Ų�����Ϊ�����Ա����б�ķָ���ʹ�ã�Ҳ��Ϊ���к�������һ��
�����ʹ�á���Java����Ҫ�õ����ŵ�Ψһ�������forѭ���������Ժ��Դ���ӽ���
��
3.1.11 �ִ������+
����������Java����һ��������;�����Ӳ�ͬ���ִ�����һ������ǰ���������չʾ
���ˡ�������+�Ĵ�ͳ���岻����+�������������Ȼ�Ƿdz���Ȼ�ġ���C++���һ
���ܿ������dz����?����������һ��������ء����ƣ��Ա�C++����ԱΪ��������
�������������ĺ��塣���dz����ң���C++������һЩ���ƽ�ϣ��������س�Ϊһ��
�dz����ӵ����ԣ�����Ա������Լ�����ʱ����Դ����ܵ��Ŀ��ǡ���C++��ȣ�������
��������Java�����ʵ�֣������Ϊֹ��Ȼ��Ϊ��һ���Թ��ڸ��ӡ�����Java����Ա
������C++����Ա��������Լ��Ĺ��������
����ע�⵽���á�String +��ʱһЩ��Ȥ�����������ʽ��һ��String��ͷ����ô��
������������󶼱������ִ���������ʾ��
int x = 0, y = 1, z = 2;
String sString = "x, y, z ";
System.out.println(sString + x + y + z);
�����Java�������Ὣx��y��zת�������ǵ��ִ���ʽ�������Ȱ����Ǽӵ�һ��
Ȼ�����ʹ��������䣺
System.out.println(x + sString);
��ô���ڰ汾��Java�ͻ���ʾ���?�Ժ�İ汾�ܽ�xת����һ���ִ�������ˣ������
ͨ��Ӻš������ִ���ʹ��Java�����ڰ汾��������ر�֤��һ��Ԫ�����ִ������
����ŵ�һϵ���ַ�����ܽ���ʶ���һ���ִ�����
3.1.12 �������������
ʹ��������һ��ȱ�������ŵ����þ������׸�?��ʹ��һ�����ʽ��μ�����˿��
��ȷ�������أ������׻������ŵ��÷������������Java����Ȼ���ڡ�
��C��C++�У�һ���ر𳣼�Ĵ������£�
while(x = y) {
//...
}
�������ͼ�Dz����Ƿ���ȡ���==�������ǽ��и�ֵ��������C��C++�У���y��һ��
����ֵ����ô���ָ�ֵ�Ľ��϶���true������ʹ���ܵõ�һ������ѭ������Java�
������ʽ�Ľ���Dz���ֵ����������������һ������ֵ�����Ҳ����һ��int��
ֵ��ת�������������ڱ���ʱ��ϵͳ�ͻ���ʾ���ִ�����Ч����ֹ���ǽ�һ�����г�
���������ȱ����Java����Զ������ɸ����صĺ��Ψһ����õ���������ʱ��
��x��y��Ϊ����ֵ������������£�x = y���ںϷ����ʽ��������������£��������
һ������
��C��C++����Ƶ�һ��������ʹ�ð�λAND��OR�������߼�AND��OR����λAND��ORʹ
�������ַ�֮һ��&��|�������߼�AND�� ORʹ��������ͬ���ַ�&&��||��������=��
�͡�==��һ�����һ���ַ�ȻҪ�ȼ��������򵥡���Java�������ͬ��ɷ�ֹ��
һ�㣬��Ϊ����������ǿ��ʹ��һ�ֲ������ڵ����͡�
3.1.13 ���������
�����͡���Cast���������ǡ���һ��ģ��ƥ�䡱�����ʵ���ʱ��Java�Ὣһ�������
���Զ�ת������һ�֡����磬��������Ϊ�����������һ������ֵ�������Ὣint�Զ�
ת����float��ͨ�����ͣ����ǿ���ȷ�����������͵�ת����������һ��û�п��ܽ��е�
ʱ��ǿ������С�
Ϊ����һ�����ͣ�Ҫ��������ϣ���������ͣ����������޸ķ����������κ�ֵ����
�ࡣ������һ�����ӣ�
void casts() {
int i = 200;
long l = (long)i;
long l2 = (long)200;
}
������������ȿɶ�һ����ֵ�������ʹ��?��ɶ�һ�������������ʹ��?��
�����չʾ����������£����;��Ƕ���ģ���Ϊ�������ڱ�Ҫ��ʱ����Զ�����intֵ
��longֵ��ת������Ȼ����Ȼ��������һ�����ͣ������Լ����⣬Ҳʹ������������
��������£�����ֻ���ڴ������ʱ���Գ���Ҫ�ԡ�
��C��C++�У�������ʱ������ͷʹ����Java���������һ�ֱȽϰ�ȫ�IJ��������ǣ�
������һ����Ϊ����Сת������Narrowing Conversion���IJ�����Ҳ����˵���ű�����
���ɸ����Ϣ��������ͣ�����ת����������С�����ͣ�����ʱ�Ϳ���������Ϣ��ʧ��
Σ�ա���ʱ����������ǿ�����ǽ������ͣ��ͺ���˵�����������һ��Σ�յ����顪��
����������Ҳ���һ�е�������ô�Բ�������ȷ���͡�������ڡ��Ŵ�ת������Wide
ning conversion�����򲻱ؽ�����ȷ���ͣ���Ϊ�����Ϳ϶�������ԭ�����͵���Ϣ����
������κ���Ϣ�Ķ�ʧ��
Java�������ǽ��κ������͡����͡�Ϊ�����κ�һ�������ͣ�������ֵ��bollean��Ҫ��
�⣬���߸���������κ����ʹ��?���ࡱ������������͡�Ϊ�˽�һ����ת����
��һ�֣������������ķ������ִ���һ�������������������ὲ�����������͵�
һ�����͡����塱����磬��������������Ϊ ����������֮��Ȼ������������������
�ͣ��硰��ʯ������������Ϊ����������
1. ����ֵ
�ʼ��ʱ������һ����������롰����ֵ����Literal����������ͨ����׼ȷ֪��Ҫ
���ʲô������͡�������Щʱ�򣬶�������ȴ����������ġ��������������������
�Ա����������ʵ��ġ�ָ��������������������ֵ�������ַ���ʽ����һЩ�������Ϣ
��������δ�������չʾ����Щ�ַ�
116-117ҳ����
ʮ����ƣ�Base 16����������������������������͡�����һ��ǰ�õ�0x��0Xָʾ����
�ں��������ô�д��Сд��ʽ��0-9�Լ�a-f������ͼ��һ��������ʼ���ɳ���������
����һ��ֵ���������ֵ����ֵ��ʽ��Σ����������ͻ������DZ���һ��������Ϣ��ע
�������������У�����ʮ�����ֵֻ����char��byte�Լ� short���ϳ��֡���������
һ���ƣ��������Ὣֵ�Զ����һ��int��������������Ҫ����һ�θ�ֵ���С���С����
��������һ�������ǾͿ������֪�Լ��ѳ����˱߽硣
�˽��ƣ�Base 8�����������е�һ��ǰ��0�Լ�0-7����λָʾ�ġ���C��C++����Java��
���Զ���������û����Ӧ�ġ����桱��ʾ������
����ֵ���β���ַ��־��������͡���Ϊ��д��Сд��L�����long����д��Сд��F
�����float����д��Сд��D������double��
ָ�����Dz���һ��������Ϊ�ܲ�ֱ�۵ļǺŷ�����1.39e-47f���ڿ�ѧ�빤��ѧ���򣬡�
e�������Ȼ����Ļ���Լ����2.718��Javaһ�ָ�ȷ��doubleֵ����Math.E����ʽ
����������1.39��e��-47�η��������ָ����ʽ��ʹ�ã���ζ�š�1.39��2.718��-
47�η�����Ȼ����FORTRAN���Է�����������Ȼ��Ȼ�ؾ���e��?10���ٴ��ݡ���
���������Ե���Ϊ�Ź֣���ΪFORTRAN���������ǿ�ѧ�빤�������������Ȼ����
�������Ӧ������Ļ������ֽ���̬�ȣ�ע�͢٣������������������ر�ı�﷽
����C��C++�Լ����ڵ�Java����̵ر��������ˡ�����������ϰ�߽�e��Ϊ��Ȼ����Ļ�
��ʹ�ã���ô��Java�п�����1.39e-47f������ı��ʽʱ����ת�����˼ά���ӳ���
��ƵĽǶ�˼����������ĺ����ǡ�1.39��10��-47�η�����
�٣�John Kirkham����д��������������1962����һ��IBM 1620������ʹ��FORTRAN II
����ʱ��������60����Լ�70�������ڣ�FORTRANһֱ����ʹ�ô�д��ĸ��֮���Ի��
����һ������������������ڵ������豸�������ʽ�紫���ֻ�ʹ��5λBaudot�룬��
���벢���߱�Сд���������ݱ��ʽ�еġ�E��Ҳ�϶��Ǵ�д�ģ����Բ�������Ȼ�����
����e�������ͻ�����߱�Ȼ��Сд�ġ���E�������ĸ�ĺ�����ʵ�ܼ򵥣����ǡ�Ex
ponential������˼������ָ������������ϵͳ�Ļ���һ�㶼��10����
ʱ���˽���Ҳ�ڳ���Ա�й㷺ʹ�á��������Լ�δ�������ʹ�ã����������ڳ��ݱ��
ʽ�п���һ���˽������֣��ͻ��������Base 8���Ҽǵõ�һ�ο�����Сд��e����ʾָ
������70���ĩ�ڡ��ҵ�ʱҲ�������ײ����������˵�����������ȫ���Լ���DZ
�롯FORTRAN��ȥ�ģ�����һ��ʼ���С�����������ʹ����Ȼ����Ļ���ʵ�����ֳ�
�ĺ���ɹ����ã������Ƕ��Ǵ�д�ġ���
ע�����������ܹ���ȷ��ʶ�����ͣ��Ͳ���ʹ��β���ַ����������䣺
long n3 = 200;
����ں��첻��ĵط�������200�����һ��L���ʡȥ��Ȼ�����������䣺
float f4 = 1e-47f; //10������
������ͨ���Ὣָ����Ϊ˫������double�����?���Լ���û�����β���f���ͻ���
��һ��������ʾ��������������һ�������͡���doubleת����float��
2. ת��
��һᷢ�ּ��������������ִ���κ�������λ���㣬ֻҪ���ǡ���intС������cha
r��byte����short������ô����ʽִ������֮ǰ����Щֵ���Զ�ת����int������һ����
������ɵ�ֵ����int���͡�����ֻҪ��һ��ֵ���ؽ�С�����ͣ��ͱ���ʹ�á����͡���
���⣬�����ǽ�ֵ���ظ��С�����ͣ����Կ��ܳ�����Ϣ��ʧ���������ͨ�������ʽ
��������������Ǿ����˱��ʽ���ս���С���Ǹ����͡�����һ��floatֵ��һ��d
oubleֵ��ˣ�������double���罫һ��int��һ��longֵ��ӣ�����Ϊlong��
3.1.14 Javaû�С�sizeof��
��C��C++�У�sizeof()��������������ǵ�һ��������Ҫ����֪Ϊ�����Ŀ������ַ�
��������C��C++�У�size()����һ��Ӧ�þ��� ����ֲ������ͬ������ڲ�ͬ�Ļ���
�Ͽ����в�ͬ�Ĵ�С�������ڽ���һЩ�Դ�С���е�����ʱ������Ա�������Щ������
������������������磬һ̨��������32λ�������������һֻ̨��16λ���档
��Ȼ���ڵ�һ̨�����У�����ɱ������ֵ������������Ѿ��뵽��������ֲ����
C��C++����Ա��Ϊͷʹ��һ�����⡣
Java����Ҫsizeof()������������ⷽ�����Ҫ����Ϊ����������������л����Ĵ�С
������ͬ�ġ����Dz��ؿ�����ֲ���⡪��Java�������һ�֡���ƽ̨�޹ء������ԡ�
3.1.15 ��ϰ����˳��
���Ҿٰ��һ����ѵ���У����˱�Թ����������˳��̫�Ѽ��ˡ�һ��ѧ���Ƽ���һ��
����������䣺��Ulcer Addicts Really Like C A lot���������������ر�ϲ����ά
���أ�C����
��Ǵ� ��������� �����
Ulcer������ Unary��һԪ + - + + - [[ ����� ]]
Addicts�����ߣ� Arithmetic(shift)������������λ�� * / % + - << >>
Really���ر� Relational����ϵ > < >= <= == !=
Like��ϲ���� Logical(bitwise)���߼����Ͱ�λ�� && || & | ^
C Conditional(ternary)����������Ԫ�� A>B ? X:Y
A Lot Assignment����ֵ =���Լ����ϸ�ֵ����*=��
��Ȼ��������λ�Ͱ�λ������ϱ?������������Ƿ���������������������˵����
ȷʵ�ܹ��á�
3.1.16 ������ܽ�
���������������չʾ�������ͬ�ض��������ʹ����������͡��Ӹ���˵������
ͬһ�����ӷ���������ִ�У�ֻ��ʹ���˲�ͬ����������͡��ļ�����ʱ���ᱨ�?��
Ϊ��Щ�ᵼ�´����������//!�����ע�����ݡ�
120-129ҳ����
ע�Ⲽ��ֵ��boolean���������dz����ޡ�����ֻ��Ϊ�丳��true��falseֵ�����ҿɲ�
����Ϊ�滹��Ϊ�٣�������Ϊ��������Ӳ���ֵ����������������κ��������㡣
��char��byte��short�У����ǿɿ������������ġ�ת�͡�Ч�����Щ���͵��κ�һ
�������������㣬������һ��int�����뽫����ȷ �����͡���ԭ�������ͣ���С
ת���������Ϣ�Ķ�ʧ�����Ա㽫ֵ�����Ǹ����͡�������intֵ��ȴ���ؽ������ʹ���
����Ϊ������ݶ��Ѿ�����int���͡�Ȼ��Ҫ���ɾ��裬��Ϊһ�����鶼�ǰ�ȫ�ġ�
���������㹻���intִֵ�г˷����㣬���ֵ�ͻ���������������������չʾ��
��һ�㣺
129ҳ�³���
���������£�
big = 2147483647
bigger = -4
���Ҳ���ӱ����������յ�������ʾ������ʱҲ��������쳣��Ӧ��צ�ۿ��ȣ�Java��
ȷʵ�ǺܺõĶ�������ȴû�С���ô���ã�
����char��byte����short����ϸ�ֵ������Ҫ���͡���ʹ����ִ��ת�Ͳ�����Ҳ����
��ֱ������������ͬ�Ľ�������һ���棬��������ȥ��ʹ�����Եø�Ӽ�����
��ҿ��Կ�������boolean���⣬�κ�һ�������Ͷ���ͨ�����ͱ�Ϊ���������͡�ͬ���
�������ͳ�һ�ֽ�С������ʱ���������⡰��Сת�����ĺ�����������͹���в�
֪�����ض�ʧ��Ϣ��
3.2 ִ�п���
Javaʹ����C��ȫ��������䣬���Լ�������ǰ��C��C++��̣����д����Ӧ�Ƿdz���
Ϥ�ġ��������򻯵ı�����Զ��ṩ��ij����ʽ�Ŀ�����䣬�������Լ�ͨ���ǹ�ͨ
�ġ���Java��漰�Ĺؼ��ְ���if-else��while��do-while��for�Լ�һ����Ϊswitc
h��ѡ����䡣Ȼ��Java����֧�ַdz��к���goto�������ǽ��ijЩ���������Ȩ��֮
�ƣ�����Ȼ���Խ�����goto�������ת�����ȵ��͵�gotoҪ���޶��ˡ�
3.2.1 ��ͼ�
����������䶼�����������ʽ������������ִ�����̡��������ʽ��һ��������A=
=B���������������==�����ж�Aֵ�Ƿ����Bֵ���ñ��ʽ���� true��false������
��Щʱ��Ӵ��������й�ϵ��������������һ��������䡣ע��Java���������ǽ�
һ��������Ϊ����ֵʹ�ã���ʹ����C��C ++��������ģ����Ƿ��㣬������㣩������
��һ�β��������ʹ��һ���Dz���ֵ����������if(a)���ô���ȱ�����һ���������
ʽ����ת����һ������ֵ������if(a!=0)��
3.2.2 if-else
if-else�������ǿ��Ƴ�������������ʽ�����е�else�ǿ�ѡ�ģ����Կɰ�������
����ʽ��ʹ��if��
if(������ʽ)
���
����
if(������ʽ)
���
else
���
�����������һ����������䡱Ҫô���÷ֺŽ�β��һ������䣬Ҫô��һ��
������䡪������������ڵ�һ�����䡣�ڱ����κεط���ֻҪ�ἰ����䡱���
�ʣ����п��ܰ����򵥻򸴺���䡣
��Ϊif-else��һ�����ӣ��������test()�����ɸ������Dz²��һ������λ��Ŀ������
֮�ϡ�֮�»�����ȣ�
131ҳ����
��ý����̿�������������У�ʹ�����ܷ���ؿ���������յ㡣
1. return
return�ؼ��������������;��ָ��һ����������ʲôֵ��������û��void����ֵ����
�����������Ǹ�ֵ���ɾݴ˸�д�����test()������ʹ��������Щ�ص㣺
131-132ҳ����
���ؼ���else����Ϊ����������return��㲻�ټ���
3.2.3 ����
while��do-while��for������ѭ������ʱ���仮��Ϊ��������䡱��������ڿ��Ʒ���
�IJ�����ʽ�õ����١��Ľ����������ظ�ִ����ȥ��whileѭ���ĸ�ʽ���£�
while(������ʽ)
���
��ѭ���տ�ʼʱ�������һ�Ρ�������ʽ����ֵ������ں���ÿһ�ζ����ѭ������
���ڿ�ʼǰ���¼���һ�Ρ�
��������򵥵����ӿɲ��������ֱ������ض�������Ϊֹ��
132�³���
���õ���Math�����static����̬������random()���÷����������Dz���0��1֮�䣨��
��0����������1����һ��doubleֵ�� while���������ʽ��˼��˵����һֱѭ����ȥ��
ֱ�����ֵ��ڻ����0.99���������������ԣ�ÿ����һ��������򣬶����ô�С��
ͬ�������б?
3.2.4 do-while
do-while�ĸ�ʽ���£�
do
���
while(������ʽ)
while��do-whileΨһ��������do-while�϶�������ִ��һ�Σ�Ҳ����˵�����ٻὫ��
�е���䡰��һ�顱����������ʽ��һ�α����Ϊ false������whileѭ���ṹ�У���
������һ�ξ�Ϊfalse����ô���е�������ִ�С���ʵ��Ӧ���У�while��do-whi
le����һЩ��
3.2.5 for
forѭ���ڵ�һ�η���֮ǰҪ���г�ʼ��������������������ԣ�������ÿһ�η���
��ʱ�򣬽���ij����ʽ�ġ�����Stepping����forѭ������ʽ���£�
for(��ʼ���ʽ; ������ʽ; ����)
���
���۳�ʼ���ʽ��������ʽ�����Dz��������ÿա�ÿ�η���ǰ����Ҫ����һ�²�
����ʽ������õĽ����false���ͻ����ִ�н�����for����������д��롣��ÿ
��ѭ����ĩβ�������һ�β���
forѭ��ͨ������ִ�С���������
133ҳ�³���
ע�����c������Ҫ�õ����ʱ����ġ�����forѭ���Ŀ��Ʊ��ʽ�ڲ������������
ʼ�����ű�ǵĴ������ͷ��c������������for���Ƶı��ʽ��
������C����ͳ�ij������ԣ�Ҫ�����б�������һ����Ŀ�ͷ���塣�����ڱ�������
��һ�����ʱ�������Ϊ��Щ��������ռ䡣����Java��C++�У�����������ķ�Χ
�ڷ�ɢ������������������Ҫ�ĵط��ż��Զ��塣�������γɸ���Ȼ�ı�����Ҳ
������⡣
����for����ﶨ���������������DZ������ͬ������ͣ�
134ҳ�ϳ���
���У�for����ڵ�int����ͬʱ������i��j��ֻ��forѭ���ž߱��ڿ��Ʊ��ʽ�ﶨ���
�������������������κ�������ѭ����䣬�����ɲ������ַ�����
1. ���������
���ڵ�1�£��������ᵽ�˶��������ע�ⲻ�Ƕ��ŷָ���������ڷָ�����IJ�
ͬ�Ա�����Java��Ψһ�õ����������ĵط�����forѭ���Ŀ��Ʊ��ʽ���ڿ��Ʊ��ʽ
�ij�ʼ���Ͳ�����Ʋ��֣����ǿ�ʹ��һϵ���ɶ��ŷָ�����䡣������Щ������
��ִ�С�ǰ�����������������������������������һ�����ӣ�
134ҳ�³���
������£�
135ҳ�ϳ���
��ҿ��Կ����������ڳ�ʼ�������ڲ���֣���䶼��˳��ִ�еġ����⣬���ܳ�ʼ
�����ֿ��������������Ķ��壬��������ͬһ���͡�
3.2.6 �жϺͼ���
���κ�ѭ���������岿�֣������break��continue����ѭ�������̡����У�break��
��ǿ���˳�ѭ������ִ��ѭ����ʣ�����䡣��continue��ִֹͣ�е�ǰ�ķ�����Ȼ��
�˻�ѭ����ʼ�ͣ���ʼ�µķ�����
���������������չʾ��break��continue��for��whileѭ���е����ӣ�
135ҳ�³���
�����forѭ���У�i��ֵ��Զ���ᵽ��100����Ϊһ��i����74��break���ͻ��ж�ѭ��
��ͨ����ֻ���ڲ�֪���ж�������ʱ����ʱ������������ʹ��break��ֻҪi���ܱ�9���
��continue����ʹ�������̷���ѭ�����ͷִ�У�����ʹiֵ������������ܹ����
����ֵ��ʾ������
�ڶ��������ҽ�ʾ��һ��������ѭ�����������Ȼ��ѭ���ڲ���һ��break��䣬��
��ֹѭ����������⣬��һ��ῴ��continue�ƻ�ѭ��������ͬʱ�����ʣ������ݣ�
����ֻ����iֵ�ܱ�9���ʱ�Ŵ�ӡ��ֵ�������������£�
136ҳ����
֮������ʾ0��������0%9����0��
����ѭ���ĵڶ�����ʽ��for(;;)����������while(true)��for(;;)����ͬһ���¡�����
����ѡ���ĸ�ȡ�����Լ��ı��ϰ�ߡ�
1. ��������ġ�goto��
goto�ؼ��ֺ�����ڳ�����������г��֡���ʵ�ϣ�goto�ǻ�����Եij�����ƽṹ��
ʼ�棺��������A�����������������������Ķ��ɼ������б�������ɵĻ��
���룬�ͻᷢ�ֳ����������������ת��Ȼ��goto����Դ��ļ�����ת�ģ�����
�����˲��õ����������������Ǵ�һ���ط�����һ���ط�������ʲô�취��ʶ�����
�������أ�����Edsger Dijkstra����ġ�Goto�к����۵�������goto��Ӵ�ʧ�衣
��ʵ�ϣ���������Ⲣ������ʹ��goto��������goto�����á�������һЩ�ټ�������
��goto����֯�������̵�����ֶΡ�
����goto����Java��һ�������֣�����δ�������еõ���ʽʹ�ã�Javaû��goto��Ȼ��
����break��continue�������ؼ��ֵ����ϣ�������Ȼ�ܿ���һЩgoto��Ӱ�ӡ�����
��һ����ת�������ж�ѭ������һ�ַ�����֮���԰���������goto������һ�����ۣ�
����������ʹ������ͬ�Ļ��ƣ���ǩ��
����ǩ���Ǻ����һ��
--
   j&=   y+ y*    jv+   yy-v    v &
  wE!"   j17$T   7MPC   NU$E-   Ej&v-
  O*K^  yHH:Ovm+ UMMk   BMNTO: H1="7'
 jO&OH: "OH&"E~  U0H1   BB71` jCf'U:
 vM1H1   jB-j1  wHhHh*-/$B)B-   BkJUk
 ^HI'OH j""^N1  "OHOK~  H$H"Da jP'N ^
�� ��Դ:���ɽ��ˮ bbs.neu.edu.cn��[FROM: 219.216.70.3]
Technical Details
Message-ID: <492e59$Bip@bbs.neu.edu.cn>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed.news2me.com!snoopy.risq.qc.ca!chi1.webusenet.com!sjc70.webusenet.com!news.webusenet.com!news.neu.edu.cn!NEU

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: f6cb0,30716d7ad1d85304,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2003-10-27 17:41:15 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed.news2me.com!snoopy.risq.qc.ca!chi1.webusenet.com!sjc70.webusenet.com!news.webusenet.com!news.neu.edu.cn!NEU
From: amou.bbs@bbs.neu.edu.cn (�˺�2��)
Newsgroups: cn.bbs.comp.lang.java
Subject: Java���˼��---��3�� ���Ƴ�������
Date: 28 Oct 2003 01:40:19 GMT
Organization: ��ɽ��ˮ
Message-ID: <492e59$Bip@bbs.neu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: java/M.1067305209.A
Lines: 559