東北大学全学教育科目
情報基礎
B
1
セメスター 金曜 2 講時
工学部 15, 16 組JAVA
JAVA
言語初級プログラム(
言語初級プログラム(
f or
f or
ループ)
ループ)
建築・社会環境工学科
このスライド週の内容
・
for 文 (繰り返し文)
・ break 文
for による繰り返し
以前,
1 から 10 まで足
すプログラムを作った.
同じ処理を
10 回繰り返
すために,同じような命
令(式)を
10 行書いた.
もうちょっと,
かっこよくで
きないか?
右のような大きな
青いル
for 文の基本(1 から n まで足す)
import java.io.*; public class joho {
public static void main(String args[])throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in)); System.out.println("n ?");
String strx = br.readLine(); int n= Integer.parseInt(strx); int sum=0;
for(int i=1; i<=n; i++){ sum=sum+i; } System.out.println(“sum = “ + sum); }
とりあえず,これが答
!
// 以前作ったプログラムの場合 int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; …… あと (n-4) 回繰り返してfor 文の基本 ~フロー~
条件 :
初期値
;
条件式
;
変化を表す式
例:
int i=1
;
i<=n
;
i++
import java.io.*; public class joho {
public static void main(String args[])throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("n ?");
String strx = br.readLine();
int n= Integer.parseInt(strx);
int sum=0;
for(int i=1; i<=n; i++){ sum=sum+i; } System.out.println(“sum = “ + sum); }
for 文の基本
キーボードから文字列を読み込んで,
整数
nに変換.
import java.io.*; public class joho {
public static void main(String args[])throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in)); System.out.println("n ?");
String strx = br.readLine(); int n= Integer.parseInt(strx);
int sum=0;
for(int i=1; i<=n; i++){ sum=sum+i; } System.out.println(“sum = “ + sum);
for 文の基本
整数型変数「
sum」の宣言と
初期値
0の代入.
import java.io.*; public class joho {
public static void main(String args[])throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in)); System.out.println("n ?");
String strx = br.readLine(); int n= Integer.parseInt(strx); int sum=0;
for(int i=1; i<=n; i++){ sum=sum+i; } System.out.println(“sum = “ + sum); }
for 文の基本
for文とは
『 与えられた範囲内で
【処理】
を繰り返す』
基本構文
for(
【初期値】
;
【条件式】
;
【変化を表す式】
){
【処理】
;
}
初期値
i = 1 から
,
i を1つずつ増やしながら
,
i = n になるまで
【処理】
を繰り返す.
(
【処理】
:
sum = sum + i
)
for 文の基本
※
【処理】
が
1行の場合
for(
int i=1;
i<=n;
i++
)
sum=sum+i;
※
【処理】
が
2行以上の場合
for(
int i=1;
i<=n;
i++
)
{
sum=sum+i;
System.out.println(sum);
}
{}は不要だが
,あってもよい
{ }
が必要
算術演算子
for 文などでよく用いられる算術演算子
・前置インクリメント 「
i++
」 ⇔ 「
i = i + 1
」
前の値に
1を加えて値を更新する.
両者は同じ意味なので,どちらを使ってもよい.
・前置デクリメント 「
i--
」 ⇔ 「
i = i – 1
」
前の値から
1を引いて値を更新する.
両者は同じ意味なので,どちらを使ってもよい.
for 文の練習
∑
=
+
=
100
1
2
1
)
2
(
i
i
sum
『
3ple.html』 から,蛇馬源吾君の小遣いプログラ
ムをコピーして,実行してみよ.
次に,それを別のファイルにコピーし,ファイル名
と
class 名を適当に変更して,次の数列の和を計
算するプログラムを作成せよ.
for 文の練習
import java.io.*;
public class joho2
{
public static void main(String args[])throws IOException
{
int sum=0;
for(int i=1; i<=100; i++){
sum=sum+2*i*i+1;
}
System.out.println("sum = " + sum);
}
for 文の練習
import java.io.*;
public class joho3
{
public static void main(String args[])throws IOException
{
int sum=0;
for(
int i=50
; i<=100; i++){
sum=sum+2*i*i+1;
}
System.out.println("sum = " + sum);
}
}
i の初期値を 50 とすると
∑
+
=
100
(
2
i
2
1
)
sum
for 文の練習
import java.io.*;
public class joho4
{
public static void main(String args[])throws IOException
{
int sum=0;
for(int i=1; i<=100;
i=i+2
){
sum=sum+2*i*i+1;
}
System.out.println("sum = " + sum);
}
}
「
i++」を「i=i+2」とする
∑
+
=
2
,
100
2
1
)
2
(
step
i
sum
if 文との組み合わせ
例:
for (
【初期値】
;
【条件式
1】;
【変化を表す式】
){
【処理
1】
;
if(
【条件式
2】;
){
【処理
2】
;
}
}
for 文と if 文を組み合わせて使うこともできる.
for 文の練習
『
3ple.html』から蛇馬源吾君の小遣いプログラムをコピーし
た上で,『
ltxhtml.pdf』 から,蛇馬源吾君の小遣いプログラ
ムのうち,
0 と 5 の付く日は 50 円貯金するというバージョン
のプログラムをコピーして,前者のプログラムを変更した上
でコンパイルして実行し,正しい答が出ることを確認せよ.
さらに,例えば
3 の倍数の日だけ 30 円にするとか,いろい
ろ設定して確かめてみよ.
import java.io.*; public class joho8 {
public static void main(String args[])throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in)); System.out.println(“ n ?");
String strx = br.readLine(); int n= Integer.parseInt(strx); int sum=0;
for(int i=1; i<=10; i++){ if(i = = n) break; sum=sum+i; } System.out.println(“sum = “ + sum);