Java������

�ڎ�

  1. �ŏ��̃v���O���������
    1. eclipse���g����Java�v���O����������
    2. ��{�I�Ȍv�Z�v���O����������
      1. �L�[�{�[�h����f�[�^����͂���
      2. �R���\�[���E�B���h�E�Ɍ��ʂ�\������
    3. �v���O���~���O��̒���
  2. �O���t�B�b�N�X������
    1. �A�v���b�g���g��
    2. �A�v���P�[�V�����ŃE�B���h�E�����
  3. GUI���g��
    1. �}�E�X���荞�ݏ���
    2. �{�^���̊��荞�ݏ���
  4. �A�j���[�V����
    1. �X���b�h�̈���
    2. �I�t�X�N���[��


�ŏ��̃v���O���������

eclipse���g����Java�v���O����������

  1. �u�t�@�C���v���u�V�K�v���u�v���W�F�N�g...�v���j���[��I�сA
  2. �uJava�v���W�F�N�g�v���N���b�N���ăv���W�F�N�g������͂���
  3. �u�V�KJava�p�b�P�[�W�v�A�C�R�����N���b�N���āi���邢�́A�u�t�@�C���v���u�V�K�v���u�p�b�P�[�W�v���j���[��I�ԁj�p�b�P�[�W�����p�������œ��͂���
  4. �u�V�KJava�N���X�v�A�C�R�����N���b�N���āi���邢�́A�u�t�@�C���v���u�V�K�v���u�N���X�v���j���[��I�ԁj�N���X�����p�������i���p�j�œ��͂���i�擪�̕�����啶���ɂ���̂�����j
  5. ���̓��͉�ʂ̉��̕��ɂ���u�ǂ����\�b�h�X�^�u���쐬���܂����H�v�Ƃ����Ƃ���Ƀ��X�g����Ă���upublic static void main(String[] args)�v�Ƀ`�F�b�N�}�[�N������
  6. �\�������v���O�����́upublic static ... {�v�̍Ō���N���b�N���āA�uEnter�v�L�[�������A�uSystem.out.println("Hello Java world.");�v�Ɠ��͂���i""�̒��������āA�ꎚ��傱�̒ʂ�ɓ��͂��Ȃ���΂����Ȃ��j
  7. �t�@���N�V�����L�[��F11�������A���邢�́A�u���s...�v�{�^���i�΂́��̒��ɔ������ʼnE�����O�p�`������j���N���b�N����i���邢�́u���s�v���u���s�v���j���[��I�ԁj
  8. ����ŁA���̃R���\�[���E�B���h�E�ɁuHello Java world.�v�Ƃ��������񂪕\�������i�n�Y�j

���������v���O�����̗�

// �v���O������P
package stepByStep;

public class MyApplication1 {
        public static void main(String[] args) {
                System.out.println("Hello Java world.");
        }
}

�v���O�����̉��

�ȉ��̃v���O������ł̓p�b�P�[�W���͏ȗ�����B

��{�I�Ȍv�Z�v���O����������

�L�[�{�[�h������͂��āA�v�Z���āA�\������A�Ƃ�����A�̍�Ƃ��v���O�����ɏ����B��{�I�ȃv���O���~���O��@�͂b����Ɠ����Ȃ̂ŁA�ڂ����͐������Q�l�ɂ��ꂽ���i���Ƃ��΁A�u�N�ł��׋�����Ε�����C����v���O���~���O����v�j�B

// �v���O������Q
// *1
import java.util.*;

public class MyApplication {
        public static void main(String[] args) {
// *2
                Scanner keyboardInput = new Scanner(System.in);
                double dollar; 
                int yen, price;
                while(true) {
                        System.out.print("1�h���͉��~�ł����H�@");
// *3
                        dollar = keyboardInput.nextDouble();
// *4
                        System.out.print("�h���̔��������z�i�[���͐؂�̂āj����͂��ĉ������@");
// *5
                        price = keyboardInput.nextInt();
                        yen = (int)(dollar * price);
// *6
                        System.out.println("����͉~�Ɋ��Z����Ɓ@"+yen+" �~�ł�");
                }
        }
}

�v���O�����̉��

main���\�b�h���傫���Ȃ��������B�ŏ��̂P�s�̓V�X�e���̗p�ӂ����v���O�����𗘗p���邽�߂̎葱���B���̍s�͂��̌�Ő�������B���̂Q�s�͕ϐ���錾���Ă���B double,int ��C�Ɠ����悤�ɁA�����^�A�����^�̕ϐ����w�肷��Bwhile(true) �͖������[�v��\���B���[�v�̒��̖��ߌQ�́A���̌�Ő�������B

�L�[�{�[�h����f�[�^����͂���

  1. �L�[�{�[�h����iSystem.in)�f�[�^����͂��邽�߂̃N���X�iScanner�j���C���X�^���X�i�Ƃ����j���쐬����*2�j
  2. Scanner�N���X���g�����߂Ɂujava.util.*�v�Ƃ����p�b�P�[�W��ǂݍ���(import)�i�v���O������� *1�j
  3. �L�[�{�[�h������͂��ꂽ�f�[�^���v���O�����Ɏ�荞�ށBDouble�^�Ƃ��ēǂݍ��ޏꍇ�́unextDouble()�v���g���Aint �^�Ƃ��ēǂ� ���ޏꍇ�́unextInt()�v���g���inextDouble(), nextInt() ��Scanner�N���X���Œ�`����Ă��郁�\�b�h�̖��́j�i�v���O������ *3, *5�j

���m���@���̂悤�ɁA�N���X���ɒ�`���ꂽ���\�b�h���Ăяo�� �Čv�Z�����s����A�Ƃ����̂���{�I��Java�̌v�Z�菇�ł���B���\�b�h���ǂ̃N���X�Œ�`����Ă���̂����w�肷�邽�߂ɁA���\�b�h�̑O�Ɂu�N���X�� �{�u.�v�A���邢�́u�N���X�̃C���X�^���X�v�{�u.�v�Ə����B�v���O������P�ł��o�Ă����uSystem.�v�����̌`���ŏ�����Ă���B���̏ꍇ��System�Ƃ����N���X�������āA���̒���out.println�Ƃ������\�b�h�����s����A�Ɖ��߂ł���B

�u�N���X���v�{�u�D�v�{�u�����o�[���v
�u�N���X�̃C���X�^���X���v�{�u�D�v�{�u�����o�[���v

���m���@�C���X�^���X��󂷂Ɓu����v�����A���̏ꍇ�́A�u���ۂɓ������́v�Ƃ����悤�ȈӖ��Ŏg���Ă���B�v���O�����̓N���X�P�ʂō\�������A�Ɛ����������A�N���X�̒�`�v���O�����͂���Ό��{�̂悤�Ȃ��� �ŁA���ۂɎg���ꍇ�̂��́u����v������āA����𓮂����A�ƍl����Ƃ悢�B���{�͕K�v�ȂƂ��ɂ��‚ł��g����悤�ɂ��Ă��������̂ŁA���ۂɎg���ꍇ�� ���̃R�s�[������Ďg���A�ƍl���Ă��ǂ��B�R�s�[�͌��{�Ƒ҂��������@�\�������Ă���̂ŁA�Ⴆ�΁A��̃v���O����*3�̂悤�� �ukeyboardInput.nextDouble�v�Ə��������̂́uScanner.nextDouble�v�Ə��������̂Ɠ����@�\��L����B

�R���\�[���E�B���h�E�Ɍ��ʂ�\������

�ŏ��ɍ�����v���O�����̂悤�ɁA�������\�����邽�߂ɁuSystem.out.print("...");�v���邢�́uSystem.out.println("...");�v�Ƃ������߂��g���B�uprintln�v�̏ꍇ�́A�������\��������ɉ��s����B�v�Z���ʂ�\������ꍇ���A�v���O������Q�́i*6�j�̂悤�ɁA�u+�v���g���ĕϐ��̓��e�𕶎���ɕϊ����ĕ\��������B�����̏ꍇ�A���ׂĂ̌���������ɕϊ������̂ŁA���܂茩���ڂ��ǂ��Ȃ��B

C�Ŏg���鏑���t���̕\�����߂ł���printf���g�����Ƃ��ł���B���Ƃ��΁A�v���O������Q�́i*6�j�͎��̂悤�ɏ����Ă��ǂ��B

System.out.printf("����͉~�Ɋ��Z����� %d �~�ł�", yen);

�v���O���~���O��̒���

�ϐ��̐錾�͎g���O�ł���΂ǂ��ɂ����Ă��\��Ȃ��B��‚̕ϐ��̓���ւ��̍ۂɎg����ϐ��̂悤�ɁA���̏����̕ϐ��͎g���Ƃ��ɐ錾����A�Ƃ������Ƃ��悭�s���Ă���B�������A�ϐ��̗L���͈��ɒ��ӂ��邱�ƁB�ǂ��ԈႢ�₷���̂́Afor���̒��Ő錾�����ϐ���for���̊O�ŎQ�Ƃ���Ƃ������Ƃł���B���Ƃ��΁Afor���̐���ϐ��͂��̂Ƃ��ɐ錾����Ƃ����X�^�C�����悭�g����ifor(int i=0; i<n; i++) {...}�j�B��������𖞂�������break���āA���̂Ƃ���i�̒l���g���Č㏈������A�Ƃ����悤�ȃA���S���Y�����g���ꍇ���������A���̏ꍇ�A�uint i�v��for���̒������ŗL���Ȃ̂ŁA���[�v�̊O�ł�i�͖���`��ԂɂȂ�B

C�ŕ��ʂɎg����|�C���^�L���u*p�v�͎g���Ȃ��B�������A�A�h���X�n���͕��ʂɍs���Ă���B

���ǂ�


�O���t�B�b�N�X������

�v�Z���ʂ𐔒l�i������j�ŕ\�������邾���Ȃ�΁A�R���\�[���E�B���h�E���g�����܂ł̕��@�ŏ\���B�������A�O���t��\�����������ꍇ�A�e�L�X�g�\ ���p�̃R���\�[���E�B���h�E���g���킯�ɂ͂����Ȃ��̂ŁA�O���t�B�b�N�X�p�̃E�B���h�E������āA�����ɕ`�悷��A�Ƃ����d�|�������K�v������B

�A�v���b�g���g��

�E�B���h�E�����O�ō��̂�����قǂނ‚������͂Ȃ����A�u���E�U���E�B���h�E�Ƃ��ė��p������@���ȕւł���B�v���E�U�𗘗p����v���O�������A�v���b�g�ƌĂ΂��i�A�v���b�g�Ƃ͊ȒP�ȃA�v���P�[�V�����Ƃ����Ӗ��ł���j�B

// �v���O������R
// *1
import java.applet.*;
import java.awt.Graphics;

// *2
public class MyApplet1 extends Applet {
// *3
	private static final long serialVersionUID = 1L;
// *4
	public void paint(Graphics g) {
// *5
		g.drawString("Hello JAVA", 40, 30);
		g.drawRect(50,30,100,50);
		g.drawOval(100, 50, 100, 80);
	}
}

�v���O�����̐���

�u���E�U���g�����߂ɕK�v�ȃ��\�b�h��Java�̃V�X�e���v���O�����ɗp�ӂ���Ă���Applet�N���X�Œ�`����Ă���̂ł�����x�[�X�ɂ���΂悢�B���̎d�|�����N���X�́u�p���v�Ƃ����l�����ł���B�����*2�̂悤�ɏ����B

���@�p���̓I�u�W�F�N�g�w���v���O�����̌��܂����p��ł��邪�A�p�P���extends�����̂܂ܑf���ɖ󂵂āu�g���v�̕���������₷���̂ł͂Ȃ����Ǝv���̂ŁA�ȉ��ł́u�g������v�ƌ������Ƃɂ���B

�g�����邽�߂ɂ͌��̃v���O�������Q�Ƃ��Ȃ���΂����Ȃ��̂Łujava.applet.*�v �Ƃ����p�b�P�[�W��ǂݍ��ނ��߂�*1��import�����K�v�ł���B�܂��A�uextends Applet {�v�Ɠ��͂��ĉ��s�����Ƃ���Ɂupublic clase ...�v�̍s�Ɍx���}�[�N���\�������B���̃}�[�N���������߂�*3���K�v�ƂȂ�B�ǂ��g���邩������Ȃ����A�����Ȃ��ƌx���}�[�N����������̂̓X�g ���X�Ȃ̂ŁA���������K���ɂ���B

Applet���g�������ꍇ�A���̒���*4�̂悤��paint���\�b�h���`�����ꍇ�́A�K���ŏ��Ɏ��s����Ƃ����񑩂ɂȂ��Ă���̂ŁA����𗘗p����B���ۂ̕`���*4�ɂ���Graphics�N���X���g���B���̂��߂Ɂujava.awt.Graphics�v�Ƃ����p�b�P�[�W��ǂݍ��ޕK�v������i*1�j�B

Graphics�N���X�̃C���X�^���Xg���g���āA�ug.draw...�v�Ə����ƁAGraphics�N���X�Œ�`����Ă��郁�\�b�h���Ăяo����Ď��s�����B�udrawString�v�͕����������A�udrawRect�v�͒����`��`���A�udrawOval�v�́i�ȁj�~��`�����\�b�h�ł���B�ǂ̂悤�ȃ��\�b�h�����邩�A�������ǂ̂悤�Ɏw�肷�邩�Ƃ������Ƃ́A�R���e���c�A�V�X�g�@�\�ŁA������x�m�邱�Ƃ��ł���B

�A�v���P�[�V�����ŃE�B���h�E�����

�E�B���h�E�Y�ŕ��ʂɌ�����E�B���h�E��Jave�̗p�ӂ��Ă���AWT(Abstract Window Toolkit)�𗘗p���邱�ƂŊȒP�ɂ‚��邱�Ƃ��ł���B

�A�v���b�g��Applet�N���X���g�������悤�ɁAAWT�̎����Ă���Frame�N���X���g������ƃE�B���h�E��\�������邱�Ƃ��ł���B���̃v�� �O���������s����ƁA���i�ǂ������ꂽ�E�B���h�E���o������B�^�C�g���o�[�ɂ́u���̃t���[���v�Ƃ��������������A�E��ɂ͂����Ɓu�ɏ����v�u�ő� ���v�u�N���[�Y�v�{�^���̎O�‚̃A�C�R��������ł���B�u�ő剻�v�{�^�����N���b�N����ƁA�E�B���h�E����ʈ�t�Ɋg����B���������ꂾ���̃v���O������ �u���́v�E�B���h�E�������ł���Ƃ́A�����I�@

// �v���O������S
// *1
import java.awt.*;

// *2
public class MyFrame1 extends Frame {
	private static final long serialVersionUID = 1L;
// *3
	MyFrame1(String title) {
		this.setSize(600,400);
		this.setTitle(title);
		this.setVisible(true);
	}
// *4
	public static void main(String[] a) {
		new MyFrame1("���̃t���[��");
	}
}

Applet�N���X���g�������ꍇ�Ɠ����悤�ɁA�N���X���̌�Ɂuextends Frame�v��t��������ƁA��`�����N���X�ɃV�X�e���ɗp�ӂ��ꂽFrame�N���X�̃��\�b�h���g����悤�ɂȂ�i*2�j�B�uprivate static ...�v�̓A�v���b�g�̏ꍇ�Ɠ����A�x�����b�Z�[�W���o�����Ȃ����߂̖��ߕ��ł���B�ʏ�̃A�v���P�[�V�����Ɠ��l�A*4��main���\�b�h���ŏ��Ɏ��s �����Bnew�͐V�K�ɉ������쐬����ꍇ�Ɏg����B���̏ꍇ��MyFrame1�Ƃ����N���X�̃C���X�^���X�i�R�s�[�̂悤�Ȃ��́j��V�K�ɍ��A�Ƃ� ���Ӗ��ł���B

*3���R���X�g���N�^�ƌ����A���̃N���X�̃C���X�^���X����� ���Ƃ��ɍŏ��Ɉ�񂾂����s�������ʂȃ��\�b�h�i���������[�`���j�ł���B���̏ꍇ�͑傫�������߂āisetSize�j�A�^�C�g���o�[�ɕ�������Z�b�g ���isetTitle�j�A������悤�ɂ���isetVisible(true)�j�Ƃ������߂�������Ă���B

���̌�A�Ō�̃J�b�R�̑O�ɁA�v���O������R��*4�ɏ�����Ă���paint���\�b�h�����̂܂܂�������R�s�[�y�[�X�g����ƁA�v���O������R�Ɠ����悤�ȃO���t�B�b�N�X��������B

�E�B���h�E�͕\�����ꂽ���̂́A�I�����悤�Ƃ����N���[�Y�{�^���������Ă��������Ȃ��B �I��������ꍇ�̓R���\�[���E�B���h�E�̏㕔�ɂ���Ԃ������N���b�N����K�v������B����ł͔ς킵���̂ŁA�N���[�Y�{�^�����N���b�N���ăE�B���h�E���� ����悤�������B�������A���������ɂ́A�N���b�N�������Ƃ��@�m���āA���̂Ƃ��E�B���h�E��‚���ʂ̃v���O�������N��������A�Ƃ����d�|�����K�v���� ��B���̎d�g�݂𗝉�����̂́u���荞�ݏ����v�̒m�����K�v�����A�׋�����̂�҂��Ă����Ȃ��̂ŁA�Ƃ肠�����A�N���[�Y�{�^���ɔ�������v���O�����̍��������������Ă����BFrame�N���X���g������ꍇ�́A��ɁA���̖��ߌQ�������A�Ƃ����K���ɂ���B

// �v���O������4a
import java.awt.*;
// *1 
import java.awt.event.*;

public class MyFrame1 extends Frame {
	private static final long serialVersionUID = 1L;

	MyFrame1(String title) {
		this.setSize(600,400);
		this.setTitle(title);
// *2
		this.addWindowListener(new MyWindowAdapter());
		this.setVisible(true);
	}
	public static void main(String[] a) {
		new MyFrame1("���̃t���[��");
	}
// *3
	class MyWindowAdapter extends WindowAdapter { // �E�B���h�E��‚���
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
}

�lj������̂͂R�ӏ��A*1�́u���荞�ݏ����v���s�����\�b�h�̒�`����Ă���p�b�P�[�W��g�ݍ��ޖ��߁A*2�͂��̃v���O�����Ɋ��荞�܂ꂽ�Ƃ��� �������v���O�������w�肷�閽�߁A*3�́uMyWindowAdapter�v�N���X���E�B���h�E��‚���Ƃ����d��������v���O�����ł���B����̓��\�b �h�ł͂Ȃ��A�����N���X�ƌĂ΂��v���O�����̒P�ʂł���B�V�X�e���̗p�ӂ��Ă���WindowAdapter�N���X���g�����Ă���BSystem.exit()�̓R���\�[���E�B���h�E�ւ̏o�͓��lSystem�N���X�Œ�`����Ă��郁�\�b�h�ŁA�E�B���h�E��‚����Ƃ��L�q���Ă���B

���ǂ�


GUI���g��

������̃O���t�ł͂Ȃ��A���s�i�K�Ńf�[�^�����ւ��Ȃ��炻�̎��X�̃O���t��`������Ƃ����v���O��������肽���B���Ƃ��΁A�}�E�X���N���b�N ����Ƃ��̈ʒu�����g���ĉ�����`���A�Ƃ����悤�ɁB���̏ꍇ�̓E�B���h�E�̃N���[�Y�{�^���ɔ�������v���O������g�ݍ��񂾏ꍇ�Ɠ��l�ɁA�}�E�X���N ���b�N���ꂽ���Ɋ��荞��ŗD��I�ɏ�������v���O������lj�����K�v������B

�}�E�X���荞�ݏ���

���̃v���O�����́A�}�E�X���N���b�N����ƁA�N���b�N���ꂽ�_�𒆐S�ɂ����~���`�����A�Ƃ������̂ł���B

// �v���O������T
import java.applet.*;
import java.awt.*;
// *1
import java.awt.event.*;

public class MyMouse0 extends Applet {
	private static final long serialVersionUID = 1L;
	int x=100, y=100;
// *2
	public void init() {
		this.setSize(400,300);
		this.addMouseListener(new MyMouseAdapter());
	}
	
	public void paint(Graphics gr) {
		gr.drawOval(x-15, y-15, 30, 30);
	}
// *3
	class MyMouseAdapter extends MouseAdapter {
		public void mouseClicked(MouseEvent me) {
			x = me.getX();
			y = me.getY();
			repaint();
		}
	}
} 

�v���O�����̐���

*3�����荞�ݏ����̃v���O�����A*2�̓A�v���b�g�𓮂������Ƃ��ɍŏ��Ɏ��s�����v���O�����iinit���\�b�h�j�ŁA���̂Q�s�ڂɏ�����Ă��� �̂��A�}�E�X���N���b�N���ꂽ���ɓ������v���O�������w�肵�����́A*1�ŁA�����̃v���O�������e���ڂ��������ꂽ�V�X�e���Œ�`���ꂽevent���� �v���O������g�ݍ��ޖ��߂ł���B

*2�̂Q�s�ڂ͑S���o���Ă��Ȃ��Ă��A�uthis.�v�Ɠ��͂���ƃR���e���c�A�V�X�g�@�\�Ō�⃁�\�b�h���\�������i�v���_�E�����j���[�j�̂ł����̒�����I�ׂ΂悢�B�uMyMouseAdapter()�v��MouseAdapter�N���X���g�����������N���X�̖��O�Ȃ̂ŁA�ʂ̍D���Ȗ��O�ō\��Ȃ��B

*3�́ugetX(), getY()�v�̓N���b�N���ꂽ�_�̍��W����荞�ރ��\�b�h�ł���B�E�B���h�E�̍������(0,0)�Ƃ��āA��������X�A�c������Y�ł���B repaint()�͐V�������A���̒l���g���čĕ`�悷�郁�\�b�h�ł���B����ɂ���āA���O�܂ŕ\������Ă����O���t�B�b�N�X�͏�������āA�V�����~�� �\�������B

�ʂ̃v���O�������i���������j

�}�E�X���h���b�O�����蓮�������肵�����Ƃ����m���Ċ��荞�ݏ������s�����Ƃ��ł���B���̂Ƃ���MouseMotionAdapter�N���X���g�����������N���X������ď������e���`����B�������e��MouseAdapter�̏ꍇ�Ɠ����悤�ɍl����΂悢�B

// �v���O������U
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class MyMouse2 extends Applet { 
	private static final long serialVersionUID = 1L;
	int x=0, y=0;
	
	public void init() {
		this.setSize(600, 480);
		addMouseListener(new MyMouseAdapter());
		addMouseMotionListener(new MyMouseMotionAdapter());
	}
	class MyMouseAdapter extends MouseAdapter {
		public void mouseClicked(MouseEvent me) {
			Graphics g = getGraphics();
			int x = me.getX();
			int y = me.getY();
			g.setColor(Color.white);
			g.fillRect(x-50, y-50, 100, 100);
			g.setColor(Color.black);
			g.dispose();
		}
	}
	class MyMouseMotionAdapter extends MouseMotionAdapter {
		public void mouseDragged(MouseEvent me) {
			Graphics g = getGraphics();
			int xx = me.getX();
			int yy = me.getY();
			if(Math.abs(x-xx) + Math.abs(y-yy) < 20) {
				g.drawLine(x, y, xx, yy);
			}
			x = xx; y = yy;
			g.dispose();
		}
	}
}

�}�E�X���h���b�O������A�N���b�N�����肵�Ă݂ĉ������B�h���b�O�����M�A�N���b�N�������S���̂‚���ł��B

�{�^���̊��荞�ݏ���

�{�^��������Ă����āA�}�E�X�ŃN���b�N�����Ƃ��ɂ��̃{�^���ɑg�ݍ��܂ꂽ�v���O���������s����A�Ƃ����悤�ȃv���O���������ꍇ�����荞�ݏ������K�v�ł���B���̃v���O�����͂��̂悤�Ȋ��荞�ݏ�����g�ݍ��񂾂��̂ŁA�{�^�����N���b�N����Ɖ�ʕ\�����ω�����B

// �v���O������V
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class MyButton extends Applet {
	private static final long serialVersionUID = 1L;
	int wPosition = 100;

	public void init() {
		this.setSize(400, 300);
// *1
		Button left = new Button("����");
		left.addActionListener(new MyListener());
		this.add(left);
		Button right = new Button("�E��");
		right.addActionListener(new MyListener());
		this.add(right);
	}
	public void paint(Graphics g) {
		g.fillOval(wPosition, 100, 60, 40);
	}
// *2
	class MyListener implements ActionListener {
		public void actionPerformed(ActionEvent ae) {
			if (ae.getActionCommand() == "�E��") wPosition += 10;
			else wPosition -= 10;
			repaint();
		}
	}
}

�}�E�X�̊��荞�ݏ����ƈႤ�̂́A�{�^�����쐬���ĕ\�������镔���ł���B*1�̍ŏ��̂R�s�ł�Button�N���X�̃C���X�^���X�����A����� �u���ցv�Ƃ������x���ƕt���A���ꂪ�N���b�N���ꂽ���ɓ������v���O�������w�肵�A�A�v���b�g�ɓ\��t����ithis.add�j�Ƃ�����A�̓�����w�肵 �Ă���B���̎O�‘g�݂���{�ł���B

*2�̊��荞�ݏ����ł͓�‚̃{�^���̂ǂ��炪�N���b�N���ꂽ�̂������ʂ��ĕʁX�̓���������悤�ɏ�����Ă���B�N���b�N���ꂽ�{�^���̈Ⴂ�̓{ �^���̃��x���Ŏ��ʂ���BgetActionCommand()�̓N���b�N���ꂽ�{�^���̃��x���i������j��Ԃ����\�b�h�i�֐��j�ł���B�u�E�ցv�{�^�� ���N���b�N���ꂽ��{�[���̈ʒu���E�ցA�u���ցv�{�^�����N���b�N���ꂽ��{�[���̈ʒu�����ւ��炷�Ƃ������������Ă���repaint���\�b�h�ōĕ`�� ���Ă���B

�ʂ̃v���O�������i�X���b�g�}�V�����ǂ��j

// �v���O������W
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Slot extends Applet {
	private static final long serialVersionUID = 1L;
	boolean a, b, c;

	public void init() {
		this.setSize(400, 300);
		Button left = new Button("play");
		left.addActionListener(new MyListener());
		this.add(left);
	}
	public void paint(Graphics g) {
		if(a) g.fillOval(50, 100, 70, 70);
		else g.drawOval(50, 100, 70, 70);
		if(b) g.fillOval(150, 100, 70, 70);
		else g.drawOval(150, 100, 70, 70);
		if(c) g.fillOval(250, 100, 70, 70);
		else g.drawOval(250, 100, 70, 70);
		if(a && b && c) g.drawString("������I", this.getWidth()/2-10, 80);
	}
	class MyListener implements ActionListener {
		// �����̃{�^���C�x���g�� ActionEvent.getActionCommand() �Ŏ��ʂ���
		public void actionPerformed(ActionEvent ae) {
			if(Math.random() < 0.2) a = true; else a = false;
			if(Math.random() < 0.5) b = true; else b = false;
			if(Math.random() < 0.7) c = true; else c = false;
			repaint();
		}
	}
}

���񂩃{�^�����N���b�N���Ă݂ĉ������B�u������v�̕\�������m���͂����‚��炢�ł��傤���B

���ǂ�


�A�j���[�V����

�e���r��f��͂P�b�Ԃɐ��\�R�}�̐Î~���\�����邱�Ƃɂ���Đl�Ԃ̖ڂɂ͑����A���I�ɓ����Ă���悤�ɍ��o������\���@�ł���B�p�\�R���ŃA�j ���[�V������\��������ꍇ��������@��p����B���Ȃ킿�A�G�̈ꕔ�����������•ς����X���C�h�𑽐����p�ӂ��A����������玟�֕\��������B���܂荂�� �ɕ\�������Ă����ʂł��Ȃ��̂ŁA�����I�ɏ������Ž��Ԃ������ĕ\��������K�v������B���̎d�g�݂���������̂��X���b�h�Ƃ����Z�p�ł���B

�X���b�h�̈���

�X���b�h�Ƃ����̂̓v���O�����̎��s�P�ʂŁA���܂ł��g���Ă������A�����z�Ɉӎ�����K�v�͂Ȃ������B�������A�����I�ɍ�Ƃ𒆒f����ɂ̓X ���b�h���ꎞ��~������K�v������B�����ŁAThread�N���X��start���\�b�hsleep���\�b�h���g���ăX���b�h�̐i�s�𐧌䂷��d�g�݂������� �ꂽ�B

���̃v���O�����́A�f�B�W�^���N���b�N��\��������̂ł���B�V�X�e���^�C�}�[�uDate�v���猻�ݎ�����1�b�����Ɏ�荞�݁Apaint�ŕ\�������Ă���B���ʓI��1�b���Ƃɕ\�����X�V�����̂ŁA�f�B�W�^���N���b�N�̂悤�Ɍ�����B

// �v���O������F�f�B�W�^���N���b�N

import java.applet.*;
import java.awt.*;
import java.util.*;
// *1
public class DigitalClock extends Applet implements Runnable {
	private static final long serialVersionUID = 1L;
// *2	
	public void init() {
		Thread th = new Thread(this);
		th.start();
	}
// *3
	public void run() {
		while(true) {
			repaint();
			try {
				Thread.sleep(999);
			}
			catch(Exception e) {
			}
		}
	}
// *4
	public void paint(Graphics g) {
		Date now = new Date();	
		g.setFont(new Font("Serif",Font.BOLD,24));
		g.drawString(now.toString().substring(0, 10), 10,70);		
		g.drawString(now.toString().substring(11, 19), 10,100);
	}
}

*1 �́uimplemens Runnable�v�A*2 �́uThread.start�v�A*3 �́urun()�v���K���g�ŏo�Ă���B

���̃v���O�����̓{�[���𓊂��グ���Ƃ��̓�����A���I�ɕ\���������̂ł���B

// �v���O������X
import java.applet.*;
import java.awt.*;
// *1
public class MyThread0 extends Applet implements Runnable {
	private static final long serialVersionUID = 1L;
	int x = 0;

	public void init() {
		this.setSize(300,300);
// *2
		new Thread(this).start();
	}
// *3
	public void run() {
		while(true) {
			try{
				x = x+2;
				if(x > 300) x = 0;
				repaint();
// *4
				Thread.sleep(10);
			}
			catch(Exception ex) {
			}
		}
	}
	public void paint(Graphics g) {
		int y = 200 - (int)(x*(1-x/300.0));
		g.fillOval(x, y, 20, 20);
	}
}

�v���O�����̐���

���j������*3��run���\�b�h�ł���B������while (true)�Ƃ���̂ŁA��ɖ������[�v�ŌJ��Ԃ����s�����Btry...catch�������ēǂ�ł݂�ƁA�ŏ��̂Q�s�̓{�[���̉����W���E�ւ��炷�� �߁A�����ĕ`��irepaint�j�A�����ĂS�s�ڂɂ���̂��A�X���b�h�̈ꎞ�x�~�isleep�j���߂ł���Bsleep(10)��10��10�~���b�x�~�� ��A�Ƃ����Ӗ��ł���B����ŁA�P�O�~���b���ƂɃ{�[����2�s�N�Z�����‰E�Ɉړ������Č��ݒn��\��������A�Ƃ�����Ƃ��i���ɌJ��Ԃ��A�Ƃ������ߌQ�� �Ȃ��Ă���B10��100�ɕς���΍X�V�X�s�[�h���x���Ȃ�̂ŁA�ʂ̓������ɂ₩�ɂȂ�B

try...catch�͊��荞�݂���������”\���̂��鏈�������s������Ƃ��Ɏg����\���ŁAcatch�̌�Ɋ��荞�݂����������ꍇ�̏������i��������΁j�����Ă����B

�X���b�h���J�n���閽�߂�*2�̂悤�ɏ����BThread(this)��this�͎������g�A�Ƃ����Ӗ��ł���B�������g���X���b�h�ƌ��Ȃ��Ă�����X�^�[�g�����Ă���B

�X���b�h��Thread�N���X�Œ�`����Ă���̂ŁA������g �������N���X�����΂悢�悤�Ȃ��̂ł��邪�A���̃N���X�́A���ł�Applet�N���X���g�����č���Ă���Bextends�̌�ɂ͈�‚̃N���X���� �������Ȃ��Ƃ������񂪂���̂ŁA���̂悤�ȏꍇ�́AThread�N���X�Ɠ����悤�ȋ@�\����`���ꂽRunnable��implements���邱�Ƃő�p���Ă���B���̂悤�Ȃ������C���^�[�t�F�[�X�����������A�ƌ�����B

����

�P�DRunnable�C���^�[�t�F�[�X�������iimplements�j����
�Q�DThread(this).start() ��new����
�R�Drun()���\�b�h��sleep�����Ȃ����ʂ��X�V������irepaint�j

�Ƃ����菇�ŃA�j���[�V��������邱�Ƃ��ł���

  1. Runnable�C���^�[�t�F�[�X�������iimplements�j����
  2. Thread(this).start() ��new����
  3. run()���\�b�h��sleep�����Ȃ����ʂ��X�V������irepaint�j

�I�t�X�N���[��

�v���O������X�����s������ƕ����邪�A�����͏\���ɂȂ߂炩�Ȃ̂�������‚����������B�����paint�ʼn�ʂ��X�V����Ƃ��̎d���ɂ��炵 ���Bpaint���\�b�h�Œ��ڕ`�悷�����ɁA���z��ʁi�I�t�X�N���[���j�����A�����ɕ`������āA���������}���ꖇ�̊G�̂悤�ɕ\������A�Ƃ����d �������邱�Ƃɂ���āA����‚����ɘa���邱�Ƃ��ł���B����΁A�L�����o�X�̏�ň�X�`�����ɁA�ǂ����ŕ`�����G���L�����o�X�ɓ\��A�Ƃ����悤�ȃC ���[�W�ł���B

// �v���O������10
public class MyThread05 extends Applet implements Runnable {
	private static final long serialVersionUID = 1L;
	int x = 0;
// *1
	Image img;
	Graphics gs;
	
	public void init() {
		this.setSize(300,300);
// *2
		img = this.createImage(300, 300);
		gs = img.getGraphics();
		new Thread(this).start();
	}
	public void run() {
		while(true) {
			try{
// *3
				int y = 200 - (int)(x*(1-x/300.0));
				gs.setColor(Color.white);
				gs.fillOval(x, y, 20, 20);
				x = x+2;
				if(x >300) x = 0;
				y = 200 - (int)(x*(1-x/300.0));
				gs.setColor(Color.black);
				gs.fillOval(x, y, 20, 20);
				repaint();
				Thread.sleep(10);
			}
			catch(Exception ex) {
			}
		}
	}
	public void paint(Graphics g) {
// *4
		g.drawImage(img, 0, 0, this);
	}
}

�v���O�����̐���

*1��Image�N���X��Graphics�N���X�̃C���X�^���X�����A*2�ʼn��z�X�N���[���̑傫�����`���AGraphics�̃��\�b�h��K�p�����ʂ��`����B����ɂ��Ags���g����Graphics�̃��\�b�h�����s����ƁAimg�Œ�`�������z�X�N���[���ɕ`�悳������ƂɂȂ�B

*4�Ŏ��ۂɉ�ʂɕ\������ꍇ�́AdrawImage���\�b�h���g���āA���z�X�N���[�����������肻�̂܂ܕ`�悷�邾���ł���B

���z�X�N���[�����X�V����ꍇ�́A�����Ȃ�����͑O�ɕ`�������̂��c���Ă���̂ŁA�ϋɓI�ɑO��ʂ���������K�v������B�����ł́A���O�ɕ`�������̂��������Ă���̂ŁA�������̂�n�̐F�A���Ȃ킿���F�ŕ`���isetColor(Color.white)�j���Ƃŕ\���������Ă���B


Java�̕��@�A����

�ϐ��錾

�ϐ��͐錾���Ă���g���B�ϐ���int�^�Adouble�^�Aboolean�^�AString�^�Ȃǂ�����B�錾�̎d���͎��̗�̒ʂ�B�z���錾����ꍇ�́A���Ƃ��΁Aint[] �^�Ƃ����^������Ǝv���΂悢�B

int a = 0;
double x = 3.1;
boolean judge = false;
String s = "text";
int[] b = new int[100];
double[] z = new double[10000];
int[][] a = new int[100][100];

for(int i=0; i<n; i++) {...}

�����ŕϐ��̌^�i�N���X�j���`���邱�Ƃ��ł���B

�ϐ��͎g���O�ł���΁A�ǂ��Ő錾���Ă��\��Ȃ��Bfor ���̒��́uint i�v�̂悤�ɁA�v���O�����̓r���Ő錾���Ă��\��Ȃ��B�������A�錾�����ꏊ�ɂ���āA���̕ϐ��̗L���͈͂����܂�Bfor ���̒��Ő錾���ꂽ�ϐ��́Afor ���𔲂����Ƃ��ɖ���`�ɂȂ�ifor �̓r���� break �����A���̂Ƃ��̐���ϐ��̒l�𗘗p����A�Ƃ����g�����͂ł��Ȃ��j�B���\�b�h���Œ�`���ꂽ�ϐ��͂��̃��\�b�h�̓��������ł����g���Ȃ��B

������

�v�Z���ʁA���͌��ʂɉ����Čv�Z���@��ς������ꍇ�Ɂuif ...�v�uif ... else ...�v�Ȃǂ̍\�����g���B

if(a > 0) b = 1; else b = 0;

b = a > 0 ? 1 : 0; // ���if���Ɠ���

�������L�q���鎮���������Ƃ����B�������͔�r���Z�q�A�_�����Z�q���g���āA2����r��g�ݍ��킹�č��B

��r���Z�q �Ӗ�
�_�����Z�q �Ӗ�
>, >= ���傫���A�ȏ� && ����
<, <= ��菬�����A�ȉ� || �܂���
==, != �������A�������Ȃ� ! �ł͂Ȃ�

����ȏ��������e���v���[�g�ɂ������̂�switch�\��������Bint�^�̕ϐ��̒l�ɂ���Ď��s���߂�ς������ꍇ�Ɏg���B

if(m == 0) { ... }
else if(m == 1) { ... }
else if(m == 2) { ... }
...
			// ���̂悤�ȒP���ȌJ��Ԃ��̏ꍇ�́A���̂悤�ɏ�����
switch(m)
case(0) : { ... ; break; }
case(1) : { ... ; break; }
case(2) : { ... ; break; }
�i�ȉ�����̌J��Ԃ��j
default : { ... }	// case(.)�w�肪���������ꍇ

while�J��Ԃ��\��

�t�B�[�h�o�b�N�\������邽�߂̊�{��while�\���ł���B���[�v�𔲂��邽�߂�break�����g���A���[�v�̓r�����X�L�b�v���邽�߂�continue�����g���B

while(true) { n /= 2; m++; if(n == 0) break; }

do { ... } while();

while(x < 2) { x *= 1+r; }

for�J��Ԃ��\��

�T�^�I�ȌJ��Ԃ��\�����e���v���[�g�ɂ����̂�for�\���ł���B

�u���������ݒ�v���u����v���u�������ł̖��ߎ��s�v���u����ϐ��̍X�V�v���u����v���u���s�v���D�D�D

for(int i=0; i<n; i++) { x *= 1+1.0/i; }

�T�u���[�`���i���\�b�h�A�֐��j��`

�ЂƂ܂Ƃ܂�̍�Ǝ菇�͂Ȃ�ׂ����W���[�����i�J�v�Z�����j���āA�v���O�����\�����͂����茩����悤�ɂ���Ɠ����ɍ�ƕ��S�����炷�A�Ƃ����� �Ƃ��A�ǂ�ȃv���O���~���O������g���ꍇ�ɂ��d�v�ł���Bjava�̏ꍇ�́A���\�b�h�ƌĂ΂��T�u���[�`�����`���邱�Ƃ��ł���B

int sign(double x) {
	if(x < 0) return -1;
	if(x > 0) return 1;
	return 0;
}