---
title: ji-2. 計算
tags:  #プログラミング #java #計算 #変数 #代入 #画面表示 #system.out.printf #system.out.println #金子邦彦研究室  
author: [kunihikokaneko](https://www.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/5G78X4ZKED.jpg?width=480
description: Java プログラミング入門（スライド資料とプログラム例）（全６回） https://www.kkaneko.jp/pro/ji/index.html  金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
published: February 04, 22
canonical: https://www.docswell.com/s/6674398749/KQ9NEK-2022-02-04-160924
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/5G78X4ZKED.jpg)

ji-2. 計算
（Java プログラミング入門）
URL: https://www.kkaneko.jp/cc/ji/index.html
金子邦彦
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/ML7L86DPJR.jpg)

目標
• 自分の思い通りの計算ができるようになる
• 四則演算
• ライブラリ関数（三角関数，対数・指数関数など）
• 見やすいプログラムを書くために，字下げを行う
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/54EM65P27W.jpg)

内容
例題１．三角形の面積
・変数，代入，入力，出力
・System.out.printf と System.out.println の違い
例題２．sin 関数による三角形の面積
例題３．標準ライブラリを利用した計算
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/ZPERP31579.jpg)

オンライン開発環境 Online GDB
• プログラミングを行えるオンラインのサービス
https://www.onlinegdb.com
• ウェブブラウザを使う
• たくさんの言語を扱うことができる
Python3, Java, C/C++, C#, JavaScript,
R, アセンブリ言語，SQL など
• オンラインなので、「秘密にしたいプログラム」
を扱うには十分な注意が必要
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/NP7X34YXEX.jpg)

Online GDB で Java を動かす手順
① ウェブブラウザを起動する
② 次の URL を開く
https://www.onlinegdb.com
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/637KYZ39ED.jpg)

③ 「Language」のところで，「Java」を選ぶ
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4LJ39DG9J5.jpg)

実行ボタン
エディタ画面
プログラムを
書き換えること
ができる
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V8JDGP18JG.jpg)

例題１．三角形の面積
• 底辺と高さを読み込んで，面積を計算するプログ
ラムを作る
例） 底辺が 2.5，高さが 5 のとき，
面積： 6.25
• 底辺，高さ，面積を扱うために，浮動小数点数の
変数を３つ使う
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4VEP3NQW78.jpg)

import java.lang.Math;
import java.util.Scanner;
public class Main
{
メッセージ表示と
double teihen, takasa, menseki;
キーボードからの
Scanner s = new Scanner(System.in);データの読み込み
public static void main(String[] args) {
System.out.println(&quot;Please Enter teihen =&quot;);
teihen = s.nextDouble();
System.out.println(&quot;Please Enter takasa =&quot;);
takasa = s.nextDouble();
menseki = teihen * takasa * 0.5;
三角形の面積の式
System.out.printf(&quot;menseki = %8.3f\n&quot;, menseki);
}
}
画面表示
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L27V4K59EQ.jpg)

実行結果画面（例）
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/Z5JG1Q647L.jpg)

プログラム実行順
System.out.println(&quot;Please Enter teihen =&quot;);
メッセージ「 &#039;Please Enter teihen= 」を表示
teihen = s.nextDouble();
浮動小数点数データを読み込み
System.out.println(&quot;Please Enter takasa =&quot;);
メッセージ「 &#039;Please Enter takasa: 」を表示
takasa = s.nextDouble();
浮動小数点数データを読み込み
menseki = teihen * takasa * 0.5;
計算
System.out.printf(&quot;menseki = %8.3f\n&quot;, menseki);
計算結果を表示
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/V47QDK4REP.jpg)

プログラムとデータ
メモリ
①
teihen
teihen = s.nextDouble();
浮動小数点数データを読み込み
②
③
takasa
menseki = teihen * takasa * 0.5;
計算
menseki
takasa = s.nextDouble();
浮動小数点数データを読み込み
④
System.out.printf(&quot;menseki = %8.3f\n&quot;, menseki);
計算結果を表示
３つの変数
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/DKE4ZPQQJ1.jpg)

四則演算のための演算子
＋
和
－
差
*
積
/
商
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/PL71R9PL7G.jpg)

変数宣言
• 変数は，データを入れるためのメモリ
• 変数宣言とは，変数を使うために，名前と型を書
いて，変数の使用をコンピュータに伝えること
型:double 浮動小数点数
変数名: teihen, takasa, menseki （変数は３つ）
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/8G7W1Q2QJ2.jpg)

代入
• 代入は，計算結果などの値を，変数に格納する
• 「=」は，代入の意味
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/W4JZPWD373.jpg)

入力
入力は，データをプログラムに読み込む
nextDouble: 浮動小数点数の入力を行うメソッド
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/KYE6MG1ZJV.jpg)

出力
• 出力では，メッセージの画面表示，データの画
面表示などを行う．
■ System.out.printf による画面表示
%8.3f: 全体を 8桁，小数点以下 3桁で浮動小数点数を表示
メッセージとデータの組み合わせ表示に適する
■ System.out.println による画面表示
メッセージ表示に適する
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/5GE5ZV4974.jpg)

例題３．sin 関数による三角形の面積
三角形の２辺の長さ a, b とその挟角 thetaを読み込
んで，面積 S を計算するプログラムを作る
• 面積を求めるために，sin関数を使う
• 円周率 π = 3.14159 とする
1
S =
ab sin 
2
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/V972R3V5ER.jpg)

import java.lang.Math;
import java.util.Scanner;
public class Main
{
メッセージ表示と
public static void main(String[] args) {
キーボードからの
double a, b, theta, S;
Scanner s = new Scanner(System.in); データの読み込み
System.out.println(&quot;Please Enter a =&quot;);
a = s.nextDouble();
System.out.println(&quot;Please Enter b =&quot;);
b = s.nextDouble();
System.out.println(&quot;Please Enter theta =&quot;);
theta = s.nextDouble();
三角形の面積
S = 0.5 * a * b * Math.sin( theta * 3.14159 / 180.0 );
System.out.printf(&quot;S = %8.3f\n&quot;, S);
}
画面表示
}
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/5DJYD136JM.jpg)

実行結果例
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/2V7N62K178.jpg)

例題３．標準ライブラリを利用した計算
• 浮動小数点数データ x を読み込んで，次の計算を
行うプログラムを作る
•
•
•
•
•
指数
対数
平方根
三角関数
絶対値
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GYJ9L1VYE3.jpg)

import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
double x;
Scanner s = new Scanner(System.in);
System.out.println(&quot;Please Enter x =&quot;);
x = s.nextDouble();
System.out.printf(&quot;exp(%8.3f) = %8.3f\n&quot;, x, Math.exp(x));
System.out.printf(&quot;log10(%8.3f) = %8.3f\n&quot;, x, Math.log10(x));
System.out.printf(&quot;sqrt(%8.3f) = %8.3f\n&quot;, x, Math.sqrt(x));
System.out.printf(&quot;sin(%8.3f) = %8.3f\n&quot;, x, Math.sin(x));
System.out.printf(&quot;cos(%8.3f) = %8.3f\n&quot;, x, Math.cos(x));
System.out.printf(&quot;tan(%8.3f) = %8.3f\n&quot;, x, Math.tan(x));
System.out.printf(&quot;abs(%8.3f) = %8.3f\n&quot;, x, Math.abs(x));
}
22
}


# Page. 23

![Page Image](https://bcdn.docswell.com/page/5GJ8X4PK7D.jpg)

実行結果例
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/MLJL861PER.jpg)

出力と計算式の組み合わせ
メッセージと計算結果の表示
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/547M65W2JW.jpg)

Java の標準ライブラリの機能（ごく一部）
• 指数，対数，平方根
• exp
• log10
• sqrt
指数関数（e のべき乗）
対数関数（底を 10 とする自然対数）
平方根
• 三角関数
• cos
• sin
• tan
コサイン
サイン
タンジェント
• 絶対値
• abs
絶対値
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/ZP7RP3Y5J9.jpg)

いろいろな計算
y = Math.sin( x );
sin x を計算し，y に格納
y = Math.sqrt( x );
√ x を計算し，y に格納
d = Math.sqrt( ( x * x ) + ( y * y ) );
√ x2 + y2 を計算し，d に格納
x = Math.sqrt( a * ( a - b ) * ( a - c ) );
√ a(a-b)(a-c)を計算し，x に格納
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/NPJX34GX7X.jpg)

演習１．Heron の公式
• 三角形の３辺の長さ a, b, c を読み込んで，面積 A
を計算するプログラムを作りなさい．
• Heronの公式を用いること
A= s(s −a)(s −b)(s −c)
s =(a +b+c)/ 2
27


