先々週は#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文では“:”(コロン)一つだけ…それは関係ないか。
演算子がわからなくて、処理がよく判らなくなる場面もあった。
「!=」みたいなやつ。比較演算子らしいが。
を読んで少しは判った。
sampleCとsampleD、値は同じだけど参照元が違うからfalse、保有する値ではなくて参照元が同じかを比較するからfalse…。
にもあるな。「基本型と参照型との違いは、変数に格納する方法です。基本型は値そのものを変数に格納するのに対して、参照型では値そのものは別の場所に格納しておいて、変数にはその場所を表す値(参照値)を格納」や、「「+」演算子は、オペランド(演算される値)のいずれかが文字列の場合は、文字列連結演算子となるので、注意してください。」とか、ためになる情報もあった。
算術演算子「/」は除算で、普通に割る感じ。
算術演算子「%」は剰余で、余りを出す感じ。
算術演算子「++」はインクリメント、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のTipsとサンプル | C入門 Java入門 基本情報C対策講座のcClip
で、空文も試してみよう。
トップページ(低価格ヒルズ)に戻る