�@�������ʂ����v���O�����ł����Ă��A�v���O���~���O��̎������@�͈�ʂ�ł͂���܂���B
�v���O���}�́A�����̒�����œK�ȕ��@��I�����ׂ��l�����Ȃ���Ȃ�܂���B
���̂Ƃ��̂ЂƂ̔��f��Ɂu���\�i�������x�C������j�v������܂��B
�����ł́AJava�̃v���O���~���O�ɂ����āu���\�v���ӎ������Ƃ��ɁA�������̍l�����ׂ������ɂ��āA���ЁuJava�̓S���v����Q�l�ɂȂ�Ǝv�������̂��Љ�����Ǝv���܂��B
�@�I�u�W�F�N�g�i�C���X�^���X�j���쐬����ɂ͑傫�ȃR�X�g�i�������ԁC����������j��������܂��B
�]���āA�I�u�W�F�N�g�̍쐬�͍ŏ����ɂƂǂ߂邱�Ƃ��v���O�����̐��\����ɑ傫����^���܂��B
�@�h���N���X�̃I�u�W�F�N�g���쐬����ꍇ�A���̏�ʃN���X�̃R���X�g���N�^���ŏ�ʃN���X�ł��� java.lang.Object �ɒB����܂ŏ��X�Ɍďo���܂��B
�R���X�g���N�^���Ăяo�����ƁA���ꂼ��̃N���X�̃C���X�^���X�ϐ��̏��������s���A�����ăR���X�g���N�^�{�������s����܂��B
�I�u�W�F�N�g���쐬����Ƃ��� java.lang.Object ���珇�ɍʼn��ʃN���X�܂ł��̏��������s����邱�ƂɂȂ�܂��B
�]���āA�p���̑����N���X�����p���̏��Ȃ��N���X�̕����I�u�W�F�N�g�쐬�̃R�X�g�͏��Ȃ��čς݂܂��B
�@�O�q�̂悤�ɃI�u�W�F�N�g�̐����ɂ͑傫�ȃR�X�g��������܂��B
�����ŁA
�@C����ł̃v���O���~���O�o���̂���v���O���}�̏ꍇ�AC����̂Ƃ��̕ȂŁA���\�b�h�̐擪�ł��ׂĂ̕ϐ��̐錾������R�[�h�������Ă��܂����Ƃ�����܂��B
���ʓI�ɐ錾�����ϐ��̑S�Ă��g����̂ł���Ζ��͂���܂��A�����̗���ɂ���Ă͎g���Ȃ��ꍇ������̂ł���A����͖��ʂł��B
�I�u�W�F�N�g�͕K�v�ƂȂ����Ƃ��ɍ쐬����悤�ɐS�����܂��傤�B
���x�������悤�ɁA�I�u�W�F�N�g�̐����ɂ͑傫�ȃR�X�g��������̂ł��B
��F�Q�̕������A�������������Ԃ����\�b�h
public String concat(String str1, String str2) throws IllegalArgumentException
{
IllegalArgumentException ex = new IllegalArgumentException("Parameter Error !");
String result = new String();
if ( str1 != null && str2 != null ) {
result = str1 + str2;
} else {
throw ex;
}
return result;
}
result
�͎g�p���܂��A���펞�ɂ� ex
�͕K�v����܂���B
public String concat(String str1, String str2) throws IllegalArgumentException
{
if ( str1 != null && str2 != null ) {
return new String(str1 + str2);
} else {
throw new IllegalArgumentException("Parameter Error !");
}
}
�@�I�u�W�F�N�g�����ɂ͑傫�ȃR�X�g��������܂��B�ė��p���\�ȏꍇ�͍ė��p���ׂ��ł��B
�@���̃R�[�h�́A�X�^�b�N�ϐ��C�C���X�^���X�ϐ��C�X�^�e�B�b�N�ϐ��ɌJ��Ԃ��A�N�Z�X������̂ł��B
class StackVars
{
private int instVar;
private static int staticVar;
// �X�^�b�N�ϐ��ւ̃A�N�Z�X
public void stackAccess(int val)
{
int j = 0;
for ( int i=0; i<val; i++ )
j += 1;
}
// �C���X�^���X�ϐ��ւ̃A�N�Z�X
public void instanceAccess(int val)
{
for ( int i=0; i<val; i++ )
instVar += 1;
}
// �X�^�e�B�b�N�ϐ��ւ̃A�N�Z�X
public void staticAccess(int val)
{
for ( int i=0; i<val; i++ )
staticVar += 1;
}
}
class StackVars
{
private int instVar;
private static int staticVar;
// �C���X�^���X�ϐ��ւ̃A�N�Z�X
public void instanceAccess(int val)
{
int j = instVar;
for ( int i=0; i<val; i++ )
j += 1;
instVar = j;
}
// �X�^�e�B�b�N�ϐ��ւ̃A�N�Z�X
public void staticAccess(int val)
{
int j = staticVar;
for ( int i=0; i<val; i++ )
j += 1;
staticVar = j;
}
}
�@�ϐ��ɂ́A�v���~�e�B�u�^�Ƃ���ɑ��郉�b�p�[�N���X�iint �ɑ��� Integer �Ȃǁj������܂��B
�N���X���g�p����ƁA���̒l�ɃA�N�Z�X����Ƃ��ɃI�u�W�F�N�g����̂œ��R�x���Ȃ�܂��B
���̗�ł́A�v���~�e�B�u�^���g�������i�O�ҁj���R�O���قǍ����ł��B
// �v���~�e�B�u�^���g��
public int usePrimitive(int increment)
{
int i = 5;
i = i + increment;
return i;
}
// ���b�p�[�N���X���g��
public int useObject(Integer increment)
{
int i = 5;
i = i + increment.intValue();
return i;
}
�܂��A�ȉ��̂悤�ɖ߂�l���I�u�W�F�N�g�ɂ����ꍇ�́A�O�q�̃I�u�W�F�N�g�����̃R�X�g������ɂ����邱�ƂɂȂ�܂��B
// ���b�p�[�N���X���g��
public Integer useObject(Integer increment)
{
int i = 5;
i = i + increment.intValue();
return new Integer(i);
}
�����Ȃ�ƃv���~�e�B�u�^�����g���Ă��Ă����悤�Ɏv���܂����A���b�p�[�N���X���g��Ȃ���Ȃ�Ȃ��ꍇ�����R����܂��B
���̂ЂƂ̗�ɃR���N�V�����N���X������܂��B
�R���N�V�����N���X�́A�v���~�e�B�u�^�������܂���B
�ȉ��̂悤�� Vector �Ƀv���~�e�B�u�^�̒l���i�[���邱�Ƃ͂ł��܂���B
Vector v = new Vector();
v.add(5);
Vector v = new Vector();
v.add(new Integer(5));
�v���~�e�B�u�^�Ƃ���ɑ��郉�b�p�[�N���X�͈ȉ��̒ʂ�ł��B
�v���~�e�B�u�^ | ���b�p�[�N���X |
---|---|
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
�@Java�ł́A�I�u�W�F�N�g�������̃C���X�^���X�ϐ���static�ϐ��̏������i�f�t�H���g�l�j�͕ۏ���Ă��܂��B
�����̕ϐ��Ƀf�t�H���g�l�Ɠ����l���I�ɐݒ肷��̂́A�Q�x�l��ݒ肷�邱�ƂɂȂ薳�ʂł��B
���̃R�[�h�ł́A�I�u�W�F�N�g�������ɁA�C���X�^���X�ϐ� count, done, pt, vec
�́A���ꂼ�� 0, false, null, null
�ɏ���������܂��B
�����āA���R�[�h�Ƃ� count
�� done
�ɂ͂�����x�����l��ݒ肷�邱�ƂɂȂ�܂��B
class Foo
{
private int count;
private boolean done;
private Point pt;
private Vector vec;
public Foo()
{
count = 0;
done = false;
pt = new Point(0, 0);
vec = new Vector(10);
}
}
class Foo
{
private int count = 0;
private boolean done = false;
private Point pt;
private Vector vec;
public Foo()
{
pt = new Point(0, 0);
vec = new Vector(10);
}
}
class Foo
{
private int count;
private boolean done;
private Point pt;
private Vector vec;
public Foo()
{
pt = new Point(0, 0);
vec = new Vector(10);
}
}
�^ | �f�t�H���g�l |
---|---|
boolean | false |
char | '\u0000' |
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
float | 0 |
double | 0 |
�I�u�W�F�N�g�̎Q�� | null |
�@static, final, private�^�̃��\�b�h�́AJava�R���p�C�����邢��JIT�ɂ���ăC�����C��������܂��B
���̃��\�b�h���p�ɂɌĂ��̂ł���A�C�����C���������Ό��I�ɍ����ɂȂ�܂��B
�������A�C�����C���������ƃv���O�����T�C�Y�͑傫���Ȃ�܂�����A���̃��\�b�h�̑傫�����l�����邱�Ƃ��K�v�ł��B
���̗�̂悤�ȁA�A�N�Z�b�T�igetter, setter�j���\�b�h�Ȃǂ́A�T�C�Y���������A�g�p�p�x�������̂ŁA�C�����C�����̑ΏۂƂ��Ă͍œK�̂��̂Ƃ����܂��B
class Test
{
private int length;
public int getLength()
{
return length;
}
public void setLength(int val)
{
length = val;
}
}
class Test
{
private int length;
public final int getLength()
{
return length;
}
public final void setLength(int val)
{
length = val;
}
}
�@�萔��ϐ��Ŏw�肷��ꍇ�� final �w�������ƁA�R���p�C���͒萔�ɒu�������܂��B
�ȉ��̗�ł́Aa, b
�� final �w�肵�Ȃ��� c
�͕ϐ��Ƃ��Ĉ����܂����A
static int a = 30;
static int b = 60;
int c = a + b + 100;
static final int a = 30;
static final int b = 60;
int c = a + b + 100;
�@�������A������Ƃ��ɁA
String str = new String("Practical ");
str += "Java";
StringBuffer str = new StringBuffer("Practical ");
str.append("Java");
Java�R���p�C���́A�O�҂̏ꍇ�AStringBuffer
���쐬���� append
���\�b�h���g���ĘA�����A���̌��ʂ��A�V���� String
���쐬���Ċi�[����R�[�h�����܂��B
Java Native Code ��ł́A�O�҂͂T�̃I�u�W�F�N�g���쐬���܂����A��҂͂R�̃I�u�W�F�N�g���쐬���邾���ōς݂܂��B
�@Java �� Vector �̗v�f��T������ɂ́A�ȉ��̗�̂悤�� Enumeration, Iterator, ListIterator, get���\�b�h ���g���S�̕��@������܂��B
// Enumeration ���g�����T��
public int enumVec(Vector vec)
{
Enumeration enum = vec.elements();
int total = 0;
while ( enum.hasMoreElements() )
total += ((Integer)(enum.nextElement())).intValue();
return total;
}
// Iterator ���g�����T��
public int iterVec(Vector vec)
{
Iterator iter = vec.iterator();
int total = 0;
while ( iter.hasNext() )
total += ((Integer)(iter.next())).intValue();
return total;
}
// ListIterator ���g�����T��
public int listIterVec(Vector vec)
{
ListIterator iter = vec.listIterator();
int total = 0;
while ( iter.hasNext() )
total += ((Integer)(iter.next())).intValue();
return total;
}
// for���[�v �� get���\�b�h ���g�����T��
public int forVec(Vector vec)
{
int size = vec.size();
int total = 0;
for ( int i=0; i<size; i++ )
total += ((Integer)(vec.get(i))).intValue();
return total;
}
hasMoreElements(), hasNext(), hasNext()
�j���߂ł��B
�@�ȉ��́A�T�����đ�����邾���̓��ɈӖ��̂Ȃ��v���O�����ł����AArrayList �� Vector �����S�{�����ŁA����ɁA�z�� �� ArrayList �����P�P�{�����ł��B
// Vector ���g��
public void iterateVector(Vector vec)
{
int size = vec.size();
Object j;
for ( int i=0; i<size; i++ )
j = vec.get(i);
}
// ArrayList ���g��
public void iterateArrayList(ArrayList al)
{
int size = al.size();
Object j;
for ( int i=0; i<size; i++ )
j = al.get(i);
}
// �z�� ���g��
public void iterateArray(int[] ar)
{
int size = ar.length;
int j;
for ( int i=0; i<size; i++ )
j = ar[i];
}
�@�z����R�s�[�������Ƃ��́A�f���Ɉȉ��̂悤�ɂ���ł��傤�B
// for���[�v ���g�����z��̃R�s�[
public void copyArray(int[] src, int[] dest)
{
int size = src.length;
for ( int i=0; i<size; i++ )
dest[i] = src[i];
}
// System.arraycopy ���g�����z��̃R�s�[
public void copyArray(int[] src, int[] dest)
{
int size = src.length;
System.arraycopy(src, 0, dest, 0, size);
}
�@�J��Ԃ��g�p���鋤�ʕ������́A�ϐ��ɒu�������邱�Ƃɂ���Ď��̕]���͂P��ōςނ��ƂɂȂ�A�������Ԃ��Z�k����܂��B
���̃R�[�h�́A
SomeObject[] someObj = new SomeObject[N];
someObj[i+j] = new SomeObject();
someObj[i+j].foo(k);
someObj[i+j].foo(k+1);
someObj[i+j].foo(k+2);
someObj[i+j].foo(k+3);
someObj[i+j].foo(k+4);
someObj[i+j]
�� tempObj
�ɒu�������āA
SomeObject[] someObj = new SomeObject[N];
someObj[i+j] = new SomeObject();
SomeObject tempObj = someObj[i+j];
tempObj.foo(k);
tempObj.foo(k+1);
tempObj.foo(k+2);
tempObj.foo(k+3);
tempObj.foo(k+4);
����́A���[�v���œ����������s����ꍇ�������ł��B
int a = 10;
int b = 20;
int[] arr = new int[val];
for ( int i=0; i<i; i++ )
arr[i] = a + b;
int a = 10;
int b = 20;
int c = a + b;
int[] arr = new int[val];
for ( int i=0; i<i; i++ )
arr[i] = c;
�@���[�v���g��Ȃ��ŌX�ɏ�������Α����Ȃ�܂����A���ʂ���͂��Ȃ��ł��傤�B
�ȉ��̗�ł́A
int[] ia = new int[4];
ia[0] = 10;
ia[1] = 10;
ia[2] = 10;
ia[3] = 10;
int[] ia = new int[4];
for ( int i=0; i<4; i++ )
ia[i] = 10;