例えば「static int a[] = {1,2,3,4,5,6};」のように、要素数を書かないことによって配列の変数の箱の数の制限をなくす(一次元配列にしかできない)とか

先々週は#javaの試験 だったけど。
問題を読んでも全く理解できなかったね。
#ターミネーター2 で、#水銀 ?みたいな#液体金属 型のターミネーター(#T-1001 )をぶっ倒す時に#液体窒素 掛けて、パキパキに凍らせてたけど。
あんな感じかな。終始、液体窒素掛けられっぱなしだった。
まあそこまで自分はすごいサイボーグじゃなかった…ということ?
いや人間なんだけどね。

特に#minindex だの #minvalue だのが出てくる、#整列アルゴリズム だとか#基本選択法 (#最小値選択法 )に関わる問題。
これが容赦なかったね。容赦なく自分のレベルでは#理解不能 。

java #二次元配列 で各行ごとの#最小値 の#要素番号 の取得方法を教え… – Yahoo!知恵袋

に、ちょっと似てるかな。
てか、http://kogolab.chillout.jp/elearn/c2002/8/sentaku.html に詳しく書いてる。
おにぎりの種類別に売上個数の順番に並べるプログラム http://kogolab.chillout.jp/elearn/c2002/8/ninkipro.html も読んでおきたいね、また。

そんで#ドット演算子 (#メンバ参照演算子 )https://www.cc.kyoto-su.ac.jp/~yamada/programming/struct.html がやたら出てきたのも戸惑った。
continue文も出てきた。確か「現在のループを中断して、継続条件の評価にジャンプする」という処理だったような。

「for(;;)」みたいなのが出てきたけど、コンパイルエラーになるだろ?実際にEclipse上で試してみようかな。
もしかして正しいのではないか…。

・・・

おおっと

久々にでてきた。「identifier」=識別子

はて、これはなんのことかな・・・

と思ったら

この場合のコンパイルエラーのもとになってる識別子は;なんだよね。

つまり

条件式と継続処理方法をかかなくてもいいのだけど

for(a=1; )ではコンパイルできず

for(a=1; ;)と

for文の書式のセミコロン2つ

をきちんとかかないとコンパイルできないんです。

つまり

for文はfor( ;  ; ) この書式が基本ということ。

そこでまたもとにもどり

プログラムを

for(a=1; ;)と修正してコンパイルしてみると

#include

int main(void){

int a;

for(a=1; ;){

printf(“このprintf出力表示は%d回目です\n”,a);

}

return 0;

}

コンパイル結果

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

このprintf出力表示は1回目です

以下ずっと

このprintf出力表示は1回目です

が続いていく

やっぱりfor文には

🍓もともと命令を繰り返す機能🍓

があるんだ。」

アレサ 「なんだか

for文の仕組みがすこしだけわかってきましたね。

どうやら条件式がないと・・・

for文の表示をとめられなさそうですね、ソーラーさん。」

ソーラー 「そうだ、こんどは

継続処理方法a++だけをかいた

for(;;a++)をコンパイルしてみよっ

なんというかこんなのコンパイルできるのかな?

さあ、どうだろ

なにかさらにfor文の仕組みがわかるかもしれない。

では プログラムを構成してっと

#include

int main(void){

int a;

for(; ;a++){

printf(“このprintf出力表示は%d回目です\n”,a);

}

return 0;

}

ソーラー「コンパ~イル~」

統合開発環境Visual Studoでは変数が初期化されていないと

ビルド失敗となるよう

設計されているので

変数aが初期化されていないこのプログラムを実行することはできません。

・・・
(「for文の()内の初期化式、条件式、継続処理方法を書いたり書かなかったりするとどうなるでしょうか モンスター数値さん、お久しぶりです 0.1 – 天国にいけるC言語入門 ヘキサ構造体 ver1.1273(@solarplexuss) – カクヨム」より引用)

っていう話もあるし。
拡張for文では“:”(コロン)一つだけ…それは関係ないか。

演算子がわからなくて、処理がよく判らなくなる場面もあった。
「!=」みたいなやつ。比較演算子らしいが。

Javaの道:演算子(2.比較演算子)

を読んで少しは判った。
sampleCとsampleD、値は同じだけど参照元が違うからfalse、保有する値ではなくて参照元が同じかを比較するからfalse…。

演算子 | Javaコード入門

にもあるな。「基本型と参照型との違いは、変数に格納する方法です。基本型は値そのものを変数に格納するのに対して、参照型では値そのものは別の場所に格納しておいて、変数にはその場所を表す値(参照値)を格納」や、「「+」演算子は、オペランド(演算される値)のいずれかが文字列の場合は、文字列連結演算子となるので、注意してください。」とか、ためになる情報もあった。

算術演算子「/」は除算で、普通に割る感じ。
算術演算子「%」は剰余で、余りを出す感じ。
算術演算子「++」はインクリメント、1を足す。「-」はデクリメント、例えば「x = 1;x–;」ってあったら、xは0になってる。

package testprogramm;

class Sample {
public static void main(String[] args) {
int x = 1;
int y = x++;
System.out.println(“yは” + y); // 結果:yは1
int a = 1;
int b = ++a;
System.out.println(“bは” + b); // 結果:bは2
}
}

は、驚いた。yにxの値を代入しちゃうから、その後に++でインクリメントしても値に影響がないってか。
逆に先にインクリメントするaは、値が増えてから代入するから2になるという。
あ~、とにかく演算子、区別できんかった…。

最後に、

クラスⅠ – Java入門 – IT専科

をちゃんと読んでおこう。ドット演算子はメソッドを使用する時に使う、「クラス.メソッド(引数リスト);」みたいな感じ、ってことも判ったし。
サンプルソースがいくつかある。全部、手で打ち込んでみて体で覚えないとね…。

空文 | JavaのTipsとサンプル | C入門 Java入門 基本情報C対策講座のcClip

で、空文も試してみよう。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

トップページ(低価格ヒルズ)に戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です