Author: switch over

A big outdoor sports lover & A IT engineer.

伊豆合宿 with JOKERS

 8月20~21日(土~日)、静岡県伊東市でJOKERSの合宿にJUNKIESから5人ほど参加した。

 JOKERS様のご厚意により成立した今回の伊豆合宿、感謝の気持ちと今後更なるJOKERS様のご活躍を深くお祈りいたします。

 
 当日は、雲ひとつない快晴の青空の下(うそっ、雲ひとつぐらいはあっただろ!)、男ふたりでホモドライブ・・・。どうでもいい話を厚木ICから沼津ICまで東名高速道路をスイスイスイ♪あっという間に静岡県伊豆半島付近。伊豆スカイラインを通ってみた。はじめて通ったけどほんとにスカイライン!天気もよかったから、そうだなーまるでジブリアニメやアルプスの少女ハイジに出てきそうなあの丘の上の一本道って感じだった。チョーサワヤカー。その丘の上の道を風をきって走っていると自然と窓から叫びたい衝動に駆られる。
 「すきだー」
って誰が!?そんなもん知らん。
 「バカヤロー」
って何が?!まあ、いいや。とにかく叫ぶ事でチョースッキリー。

 伊豆スカをおりたら、世界はBEACH!BEACH!BEACH!客引きのオッサン&おにーちゃん方、小麦色にやけたビキニのおねーちゃんウヒャー、ボード片手に信号待ちのサーファー達、パンツいっちょーの子供、それを尻目に車を走らせ、ヤベー野球どころじゃなくなってきたー、海入りてー。

 そんなこんなで、伊東市営球場到着!セミの鳴き声とほんのちょっとだけ秋がかった漂う空気、ほのぼのと草ヤキューしてる人たちの姿に郷愁を覚えた――――――

 野球のプレーの話は今回はさておき、体を動かした後、海へと急いだ。
 夕暮れの海岸は、昼間と違って人がまばらで若者達は家路へと向い、残っていたのは子連れの夫婦が何人かいるだけだった。
 ワイセツ行為ギリギリの大人パンツいっちょーで海に入った・・・。日は落ちていたが海水はぬるま涼しく熱った体をクールダウンさせ、ウヒャウヒャチョー楽しかった。
 
 軽く騒いだ後、JOKERS様の別荘へ向い今度はBBQの支度。
(最高のシチュエーションありがとうございました。めっちゃ肉も野菜もキムチもマヨネーズ笑もそして、焼きそばもうまかったっす。嬉)
 
 

 翌朝の練習は、大粒の雨が降って来たから東京へ戻ることに決定。
 本当に短時間の伊豆滞在だったけど、ナイスな夏のひと時を過ごせた。

 また、機会があればJOKERSの皆様よろしくお願いいたします。

ナムコスタジアム

 6月4日(土)、八王子市大塚公園野球場でJOKERSと練習試合をした。
 1ヶ月に1回のペースでチーム発足後、3度目の試合である。心配された雨もなんとかもち軽く湿った感じが最高のグラウンドだった。が、しかしやはりなんといっても今回は、この球場の狭さに驚いた。ファミスタをしってる人だったらわかるだろうが、ホームランの出やすいまさにあの「ナムコスタジアム」だった。まあ、ざっとみて両翼70メートルあるかないかの少年野球的な広さだった。
 いやいや、まじで一個580円もするA球がいくつなくなるのかと思えばむしろスイングが小さくなる程のものだった・・・。

●試合結果

ジョーカーズ   2 1 0 0 0 5   8
Junkie53rds 2 0 1 0 0 1   4

tomo、モッチョ、サッチ ― モッチョ、tomo、ワイパー
二塁打/モッチョ  本塁打/モッチョ、ナオヤンキー
MVP モッチョ

●戦評
 初回からイマイチ調子の悪い先発tomoの制球がみだれ意味のない四球を出してしまった。そして、守備のみだれから先制点を許す。(最悪パターン)
 その裏、モッチョのツーランホームランが飛び出し同点!に追いついたものの、tomoの調子が上がらずモッチョにマウンドを渡す。ここ何年か制球力がアップしたモッチョはいいテンポで快投をみせた。
 そして最終回、レッドソックスのシェイクフィールドを彷彿させるスローボールが持ち味のサッチがストッパーとしてマウンドにあがったが・・・もう書きたくもない・・・結果で・・・
 最終回裏、なにを血迷ったか大塚公園ではなく大平公園にタクシーで行ってしまっていたナオヤンキーが先頭バッター。初球を積極的にたたき、レフトの林に消えるまさに一撃必殺ソロホーマーを放つ。4000円分遠回りしてきた甲斐があった・・・。

●課題
・守備面
 tomo ⇒ ウォーミングアップをしっかりしてからマウンドにあがるように。遠投して肩を作り直すこと。
 サッチ ⇒ 持ち味の制球力を復活させること。(スパイク吐け!)
・攻撃面
 相手の守備のスキをついて積極的の次の塁を奪う癖をつけること。(いまさら言うまでもないけど・・・野球経験者なら最低限する!相手へのプレッシャーが全然違う。)
 残塁が多かったので、チャンスでの緊張を楽しむくらいの心の余裕がほしい。脳内モルヒネだせー!
 何はともあれどんな理由であろうと、負けはダメ。今後は勝ち癖をつけるぞ!オウー。

●試合後、京王多摩センター駅の牛角で反省会という名の「ヨッチ一人爆笑ショー」があった。
 ノリにノッテいた彼は、昔話に鼻を咲かせもちネタで周囲を和ませた。そこで、伊藤美咲似の女の子が店員でいた。注文を小刻みに頼み、なんとか彼女とからもうと3人で努力した。やっとの思いでからみはじめYが帰り際にちゃっかりとアドレスが書いてあるメモを渡した。
♂「名前なんていうの?」
♀「○リエ」
♂「惚れたぜ」
と去り際を飾った(笑)。

1.Javaの基礎

1章 Javaの基礎

1.Javaの基礎
■コンパイル・実行方法
Test.java

import java.io.*;

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

C:\>Java>javac Test.java

C:\>Java>java Test
Hello Java World.

 
2.予約語
 自分で作る変数や関数などの名前を「識別子」とよぶ。プログラマーが自由に命名。ただし、制約がある。
  ・半角英数字および半角アンダーバー(_)のみ使用可。最初の一文字は英字。
  ・大文字、小文字は区別。
  ・下記の予約誤は使用不可。
予約語
abstract boolean break byte cast catch char
class const continue default do double else
extends final false finally float for goto
if implements import instanceof int interface long
native new package private protected public return
short static super switch synchronized this throw
throws transient true try void vlatile while
 ・クラス名は大文字ではじめる。 
 ・メソッドは、変数は小文字ではじめる。単語のつながりで表現し、2単語目以降の単語の初めは大文字にする。
例)
 class MyClass{
 int lengthOfLine;
 int getLength(){
     return lengthOfLine;
 }
}
 
※メソッド=機能ごと(ひとまとめ) ⇒ アンダーライン 、イタリック=クラス名
Test.java
 
import java.io.*;
 
//コメント
class Test{
    public static void main(String args[ ]) {
            System.out.println("Hello Java World.");
   }
}
 
 緑   : コメント
水色  : 予約語 
グレー  : JDKで用意されているクラス
 
3.構成
 
      ■ 一次式 ・ 識別子 ・・・・・・・・・・・・・・・ x
                         ・ 定数 ・・・・・・・・・・・・・・・・・ 30
                   ・ 文字列 ・・・・・・・・・・・・・・・ "this is a pen"
                         ・ メソッド ・・・・・・・・・・・・・・ func( )
                       ・ (演算式) ・・・・・・・・・・・・ ( x + 10 )
                       ・ 一次式(式の並び) ・・・・・ max( x,10 )
                     ・ 一次式[ 式 ] ・・・・・・・・・・ array[i]
                       ・ 一次式.識別子 ・・・・・・・・ struc.x
        
      ■ 式、演算子 式 ・・・・・・・・・・・・・・・・・・ x + y + 5
 ・1文の終わりを示す記号「;」
   ・1行の中に文が2つ以上あってもよい。コンパイラは1文を1文として認識する。
※下記の左右のプログラムは同じもの。
import java.io.*;

class Test{
    public static void main(String args[ ]) {
                  int x = 10;
                  int y = 20;
                  int z = x + y;
   }
}

import java.io.*;

class Test{
public static void main(String args[ ]) {
int x = 10;    int y = 20;       int z = x + y;
}}

ブロック
 文をブロックを表す「 { 」と「 } 」で囲む。ブロックは「一文とみなす単位」
 条件分岐(「if」、「else」)や反復(「for」「while」・・・)などは、基本的に一文しかじっこうできない。それだと不便だから、ブロックで一文とみなすことで複数の文を反復する事ができる。
 JavaはC++と同様オブジェクト指向言語である。オブジェクト指向とは、プログラムも実世界に存在するモノと考えてプログラムすること。このモノをクラスといい、データとメソッドから作られる。例えば、オブジェクト指向言語で"お絵かきソフト”を作ろうとしたとき、ペンクラスを用意し、ペンクラスには「絵を書く」というメソッドなどを用意する。
 Javaではパッケージという機能をつかう。JDKで用意されているクラスのうち、GUIを担うクラス群(ボタンやテキストエリア)は「awk」という名前でパッケージ化されている。ネットワーク関係を担うクラス群は「net」という名前でパッケージ化してある。さらに、パッケージの中にパッケージを入れることもできるので、たくさんのクラスを作った場合、整理するのがC++に比べ便利である。
 また、Javaはどのパッケージを使用するかをあらかじめ宣言しなくてはならない。
 下記の例は、javaパッケージのioパッケージの中の全てのクラスを使用できるというimport宣言である。
 (*が全てのクラスを使用するという意味)
Test.java

import java.io.*;
  
//コメント
class Test{ 
  public static void main(String args[ ]) {
       System.out.printin("Helo Java World.");
    }
}   

 Javaでは全てのプログラムはクラス内に収められる。
 クラス内に最初に実行されるべきmainメソッドを定義する。Javaでは、戻り値はvoid、引数はString型の配列と決まっている。
 基本的に1つのファイルに1クラス。クラス名とファイル名は同じ。
 
 
4.データの型と宣言
 変数を使う場合には宣言をしなくてはならない。データの型、名前、初期値を宣言する。Javaでは全て符号付。
Javaの型
  データの種類 バイト長 数値の範囲  
真or偽 boolean   true or false
整数 byte 1 -128~+127
1文字 char 2 -32768~+32767
整数 short 2 -32768~+32767
整数 int 4 -2147483648~+2147483647
整数 long 8 -263~263-1
小数 float 4 仮数部232、指数部28
小数 double 8 仮数部252、指数部211
1文字を表す「char」型は、16bit(2byte)に拡張されている。Javaが世界中の言語で使用できるように、例えば漢字も1文字で表すことができるようunicodeと呼ばれる文字コードに拡張されている。
int      a;                //変数名「a」をint型で宣言
char   ch1,ch2;     //変数名「ch1」と「ch2」をchar型で宣言
long  l;        //変数名「l
」をunsigned long型で宣言
変数の宣言を行っただけでは、変数にどんな値が入っているかわからない。宣言後、代入もなしに使用するとエラーとなる。
 
5.定数と変数
整数定数
 ・10進数      100    255    -50
 ・16進数      0x64   0xFF
 ・8進数       0144  0377
 ・文字        ’d’   ’あ’
小数定数
 円周率を表すには「3.1415」「0.31415E1」、「31415E-5」
 小数は標準でdouble型になるから、float型として扱いたい場合は数字の後に「f or F」をつくる。
代入
   int a. b;          // 変数名「a」 「b」をint型で宣言
   char ch1,ch2;  // 変数名「ch1」と「ch2」をchar型で宣言
   long l;       // 変数名「l」をlong型で宣言
   float f;      // 変数名「f」をfloat型で宣言
 
   ch1 = 'A';
   ch2 = '0x4C';    // 16進数で4Chを代入
   l = 'C';             // long型 l に'C'のASCl lコード4Chを代入
//  f = 3.1415;       // エラー!!
    f = 3.1415f;      // fを最後に付ける
    a = b = 100;   // aとbに100を代入
初期化
int a = 100;
char ch = 'あ';
int b = a = 5;    // aもbも5になる
int n = m = 100;   // このような使い方はダメ!! 
import java.io.*;
  
class Test{  
  public static void main(String args[ ]) {
        int a;
        int b = a;   // どんな値が入っているかわからないaでbを初期化することはできない
  }
}  
C:\java\>javac Test.java  
Test.java:6: Variable a may not have been initialized.  
                    int b = a;
                                 ^      
1 error 
 
6.簡単な演算
演算は式と式を演算子でつなぐ。
代入演算子
 コピー演算子ともいう。変数に定数を代入したりする場合に用いる。「=」を用いる。
「char」型の変数の値を「int」型に代入する場合のように、大きい変数に小さい変数を代入する場合はない。しかし、逆に「int」型の変数の値を「char」型の変数に代入する場合、エラーが出る。
  int    n1, n2, n3;
  char  c1, c2, c3;

  c1 = 100;
  n1 = c1;                // 代入先が型の方が大きいので問題なし

  n2 = 100;
  c2 = n2;                // エラー:小さい型には代入できない
  c2 = (char)n2;   // 明示的なキャスト/FONT>

算術演算子
 「+」(加算)、「-」(減算)、「*」(乗算)、「/」(除算)、「%」(余り) 
比較演算子
 「==」(等値)、「=!」(非等値)、「>」「>=」「<=」「<」(大小関係) 

 成り立つ場合は「真」すなわちtrue、成り立たない場合は「偽」すなわちfalseとなる。  int  n = 100;
 比較の「==」と代入の「=」は別物。
  int  n1 = 100;
  int  n2 = 200;
  int  n3;

  n3 = (n1 == n2);             // エラー:型が異なる
  n3 = (int)(n1==n2);         // エラー:キャストしてもだめ
  boolean  b = (n1==n2);    // これはOK

論理演算子 
 真と偽を論理演算で評価
  演算子 使用例 意味  
&& a && b AND(かつ)  
|| a || b OR(または)  
! !b NOT(否定)  
  int n1 = 100;
  int n2 = 200;
  int n3 = 10;

  boolean b = (n1==n2) && (n1==n3); // n1,n2,n3がすべて同じ時、bはtrueになる

これら論理演算子は、trueかfalseを演算しますので、boolean型の物しか演算できません。以下はエラー。
  int n1 = 100;
  int n2 = 200;
  int n3 = 10;

  boolean b1 = n1 && n2;    //エラー
  boolean b2 = !n2;            //エラー

 
7.ディスプレイへの表示
結果をDOS窓上に表示させることはアプリケーションとしても行いますし、現在の変数の値を表示させて、デバッグ作業の一環としてもやる。
DOS窓への文字の表示は下記のように行う。ここでは、決り文句だと覚える。
import java.io.*;
  
class Test{
       public static void main (String args[ ]) {
            System.out.print("abcdef");
            System.out.print("0123");
      }
} 
C:\java>javac *.java
  
C:\java>java Test
abcdef0123
C:\java>
「System.out.print」の引数に、文字列を渡してやる。改行はしないから、「abcdef」と「0123」は1行に表示される。
改行する場合は、「\n」を入れる。
import java.io.*;
  
class Test{
       public static void main (String args[ ]) {
            System.out.print("abcdef\n");
            System.out.print("0123\n");
      }
} 
C:\java>javac *.java
  
C:\java>java Test
abcdef
0123

C:\java>

一番最後に改行を入れる場合は、「\n」と書かなくても「println」メソッドを使うと改行される。
import java.io.*;
  
class Test{
       public static void main (String args[ ]) {
            System.out.println("abcdef");
            System.out.println("0123");
      }
} 
C:\java>javac *.java
 
C:\java>java Test
abcdef
0123

C:\java>

DOS窓には「標準出力」と「標準出力エラー」がある。標準出力は、MS-DOSのリダイレクト機能を使うとファイルに落としたりすることができる。標準エラー出力では、リダイレクト機能は、使えない。
「System.out.print」は、標準出力に出力する。標準出力エラーに表示したい場合は「System.err.printin」とする。
import java.io.*;
  
class Test{
       public static void main (String args[ ]) {
            System.out.println("abcdef");
            System.err.println("0123");
      }
} 
C:\java>javac *.java
 
C:\java>java Test > a.txt          ←リダイレクト機能 :標準出力をファイルに標準エラー出力の未表示される
0123

C:\java>type a.txt                   ←出力したファイルを表示 標準出力のみがファイルに落ちた
abcdef                                      標準出力のみがファイルに落ちた

C:\java>

printメソッドは、文字列だけでなく、数字も表示することができる。また、数字や文字列を「+」演算子でつなげることもできる。 
class Test{
       public static void main (String args[ ]) {
      int n1 = 100;
            System.out.println("n1=" + n1 +  "です");
      }
} 
C:\java>javac *.java
 
C:\java>java Test
n1=100です

C:\java>

 
8.文字列
import java.io.*;

class Test{
       public static void main (String args[ ]) {
           int          n               = 1;
            String str1                = "モーニング娘。の中で" + n +  "番目にかわいいのは";

            String strMyouji         = "後藤";
            String strNamae         = "真紀";
           String strName           = strMyouji + strNamae;
            System .out.println(str1 + strName + "だと思います");
   }
} 

C:\java>javac *.java
 
C:\java>java Test
モーニング娘。の中で1番目にかわいいのは後藤真紀だと思います

C:\java>

  エスケープシーケンス 機能  
  \n 改行(次の行の先頭に行く)  
  \t 水平タブ  
  \\ 円記号「\」(機種・OSによってはバックスラッシュ)  
  \' シングルクォーテーション「'」  
  \" ダブルクォーテーション「"」  
  \b 1文字戻る  
  \r  その行の先頭に戻る  
  \uxxxx xxxxは4行のUnicodeを表す  
import java.io.*;

class Test{
       public static void main (String args[ ]) {
           int          n               = 1;
            System .out.println
("私の\t名前は\"Mike Davis\"\nです。");
   }
} 

C:\java>javac *.java
 
C:\java>java Test
私の   名前は"Mike Davis"
です。

C:\java>