随意在控制台中输出几次,自行感受println和print的区别
创建
numbs.java
并熟悉使用System.out.println
进行基础的控制台输出,并在之后自行熟悉print
和println
之间的区别尝试创建一个变量并对其赋值,尝试使用cast进行数据类型转换,用喜欢的方式将该变量的值输出至控制台
示例代码
- public class numbs {
- public static void main(String[] args){
- System.out.println(3);
- System.out.println(-73);
- System.out.println(0);
- System.out.println(128);
- System.out.println(568);
- System.out.println(-89.47);
- System.out.println(12.3);
- System.out.println(0.000000000);
- System.out.println(123456.7890);
- System.out.print(3);
- System.out.print(-73);
- System.out.print(0);
- System.out.print(128);
- System.out.print(568);
- System.out.print(-89.47);
- System.out.print(12.3);
- System.out.print(0.000000000);
- System.out.println(123456.7890);
- int a,b,c;
- double x,y,z;
- a=47;
- b=2;
- c=(int)37.21; //cast
- x=a+b;
- y=a/b;
- z=a*c;
- System.out.print("Var x is : ");
- System.out.println(x); //print-out var x
- System.out.print("Var y is : ");
- System.out.println(y); //print-out var y
- }
- }
输出
课题1
下記のサンプルプログラム(例題1)を参考に、課題に回答しなさい。
例題1
/* プログラム名: Kadai1_1.java 作成日: 日付 作成者: 学籍番号 氏名 概 要: int型(整数型)変数の宣言、代入、表示を行うサンプルプログラム */ public class Kadai1_1 { public static void main(String[] args) { int i; // int型変数 i を宣言 i = 20; // 20 を代入 System.out.print("i の値は "); // 文字列を表示(改行しない) System.out.println(i); // i の値を表示(改行する) } }
変数は、何度もその値を変更することができる。
上記例題1を参考に、int型変数 i に 20 を代入して内容を表示した後、同じ変数 i に改めて -25 を代入して再度変数 i の内容を表示するように、サンプルプログラムKadai1_1.javaを修正しなさい。
Kadai1_1(修正後)の実行例
$ java Kadai1_1 i の値は 20 i の値は -25
示例代码
- /*
- 程序名: Kadai1_1.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_1 {
- public static void main(String[] args) {
- int i;
- i = 20;
- System.out.print("i の値は ");
- System.out.println(i); // i の値を表示
- i = 25;
- System.out.print("i の値は ");
- System.out.println(i); // i の新しい値を表示
- }
- }
输出
课题2
下記のサンプルプログラム(例題2)を参考に、課題に回答しなさい。
例題2
/* プログラム名: Kadai1_2.java 作成日: 日付 作成者: 学籍番号 氏名 概 要: double型(小数点型)変数の宣言、代入、表示を行うサンプルプログラム int型の時とほとんど同じであることに注目 */ public class Kadai1_2 { public static void main(String[] args) { double d; // double型 変数 d を宣言 d = 12.34; // 12.34 を代入 System.out.print("d の値は "); // 文字列を表示(改行しない) System.out.println(d); // d の値を表示(改行する) } }
変数は、複数の変数を同時に利用することが出来る。
上記例題2を参考に、double型変数 d に加え、新たに double型変数 e を宣言し、e に 5.678 を代入しなさい。そして、変数 e の値も表示するようにサンプルプログラムKadai1_2.javaを修正しなさい。
Kadai1_2(修正後)の実行例
$ java Kadai1_2 d の値は 12.34 e の値は 5.678
示例代码
- /*
- プログラム名: Kadai1_2.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_2 {
- public static void main(String[] args) {
- double d; // double型 変数 d を宣言
- d = 12.34; // 12.34 を代入
- System.out.print("d の値は "); // 文字列を表示(改行しない)
- System.out.println(d); // d の値を表示(改行する)
- double e; // double型 変数 e を宣言
- e = 5.678; // 12.34 を代入
- System.out.print("e の値は "); // 文字列を表示(改行しない)
- System.out.println(e); // e の値を表示(改行する)
- }
- }
输出
课题3
下記のサンプルプログラム(例題3)を参考に、課題に回答せよ。
例題3
/* プログラム名: Kadai1_3.java 作成日: 日付 作成者: 学籍番号 氏名 */ public class Kadai1_3 { public static void main(String[] args) { int i = 10; // int型変数 i を宣言し、10 を代入 int j = i; // int型変数 j を宣言し、i の値を代入 System.out.println("i の値は " + i); // i の値を表示 System.out.println("j の値は " + j); // j の値を表示 } }
int型変数の代入は、その値のコピーが格納される。
例えば、変数 j に変数 i の値を代入した場合、代入の後に変数 i の値が変わっても、変数 j には影響がない。
上記例題3を参考に、変数 j に変数 i の値を代入した後に、i に -20 を代入し、i の新しい値も表示するようにサンプルプログラムKadai1_3.javaを修正しなさい。j の値は最後に表示する。尚、この時、j の値は変更されないように注意しなさい。
Kadai1_3(修正後)の実行例
$ java Kadai1_3 i の値は 10 i の値は -20 j の値は 10
示例代码
- /*
- プログラム名: Kadai1_3.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_3 {
- public static void main(String[] args) {
- int i = 10; // int型変数 i を宣言し、10 を代入
- System.out.println("i の値は " + i); // i の値を表示
- int j = i; // int型変数 j を宣言し、i の値を代入
- i = -20;
- System.out.println("i の値は " + i); // i の値を表示
- System.out.println("j の値は " + j); // j の値を表示
- }
- }
输出
课题4
目标
下記のサンプルプログラム(例題4)を参考に、課題に回答せよ。
例題4
/* プログラム名: Kadai1_4.java 作成日: 日付 作成者: 学籍番号 氏名 */ public class Kadai1_4 { public static void main(String[] args) { int i = 10; // int型変数 i を宣言し、10 を代入 System.out.println("i の値は " + i); // i の値を表示 } }
Javaの変数には様々な型がある。int型やlong型は整数型、float型やdouble型は浮動小数点型、など。
double型の変数には、int型の値を代入することが出来る。(暗黙の型変換)
上記例題4を参考に、double 型変数 d を宣言し、i の値を代入しなさい。そして、d の値も表示するようにサンプルプログラムKadai1_4.javaを修正しなさい。
Kadai1_4(修正後)の実行例
$ java Kadai1_4 i の値は 10 d の値は 10.0
示例代码
- /*
- プログラム名: Kadai1_4.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_4 {
- public static void main(String[] args) {
- int i = 10; // int型変数 i を宣言し、10 を代入
- double d = (double)i;
- System.out.println("i の値は " + i); // i の値を表示
- System.out.println("d の値は " + d); // d の値を表示
- }
- }
输出
课题5
目标
サンプルプログラム(例題5)を参考に、課題に回答せよ。
例題5
/* プログラム名: Kadai1_5.java 作成日: 日付 作成者: 学籍番号 氏名 */ public class Kadai1_5 { public static void main(String[] args) { double d = 1234.5678; // double型変数 d を宣言し、1234.5678 を代入 System.out.println("d の値は " + d); // d の値を表示 } }
double型は、float型よりも大きな値を取ることができる浮動小数点型である。
整数型のintに doubleやfloatなどの浮動小数点型を代入する場合、小数点以下は切り捨てられるため、そのままでは代入が出来ない。このように、精度が落ちる代入を行う場合、キャスト(テキストp.25)を行う必要がある。
上記例題5を参考に、int型変数 k を宣言し、その変数に d の値を代入しなさい。そして、k の値も表示するようにプログラムKadai1_5.javaを修正しなさい。
Kadai1_5(修正後)の実行例
$ java Kadai1_5 d の値は 1234.5678 k の値は 1234
示例代码
- /*
- プログラム名: Kadai1_5.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_5 {
- public static void main(String[] args) {
- double d = 1234.5678; // double型変数 d を宣言し、1234.5678 を代入
- int k;
- k = (int)d;
- System.out.println("d の値は " + d); // d の値を表示
- System.out.println("k の値は " + k); // k の値を表示
- }
- }
输出
课题6
目标
サンプルプログラムを参考に、課題に回答せよ。
例題6
/* プログラム名: Kadai1_6.java 作成日: 日付 作成者: 学籍番号 氏名 */ public class Kadai1_6 { public static void main(String[] args) { int i = 10; // int型変数 i を宣言し、10 を代入 int j = 20; // int型変数 j を宣言し、20 を代入 System.out.println("i の値は " + i); // i の値を表示 System.out.println("j の値は " + j); // j の値を表示 i = j; // i に j の値をコピー j = i; // j に i の値をコピー System.out.println("i の値は " + i); // i の値を表示 System.out.println("j の値は " + j); // j の値を表示 } }
変数iとjはそれぞれ違う値を持っている。
変数のiの値をjにコピーし、同時にjの値をiにコピーしたい。
上記サンプルプログラムではうまくjとiの値を入れ替えることができない。
どうしたら変数のiの値とjの値を入れ替えることができるか考え、プログラムを修正しなさい。
ただし、i = 20; j = 10; のように、リテラルを用いて代入してはいけない。
(ヒント: 変数をもう一つ用意する)
修正後の実行例
% java Kadai1_6 i の値は 10 j の値は 20 i の値は 20 j の値は 10
示例代码
- /*
- プログラム名: Kadai1_6.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_6 {
- public static void main(String[] args) {
- int i = 10; // int型変数 i を宣言し、10 を代入
- int j = 20; // int型変数 j を宣言し、20 を代入
- System.out.println("i の値は " + i); // i の値を表示
- System.out.println("j の値は " + j); // j の値を表示
- int k;
- k = i; // k に i の値をコピー
- i = j; // i に j の値をコピー
- j = k; // j に k の値をコピー
- System.out.println("i の値は " + i); // i の値を表示
- System.out.println("j の値は " + j); // j の値を表示
- }
- }
输出
课题7
目标
サンプルプログラムを参考に、課題に回答せよ。
例題7
/* プログラム名: Kadai1_7.java 作成日: 日付 作成者: 学籍番号 氏名 */ public class Kadai1_7 { public static void main(String[] args) { double d = 10.01; // double型変数 d を宣言し、10.01 を代入 double e = 20.02; // double型変数 e を宣言し、20.02 を代入 double f = 30.03; // double型変数 f を宣言し、30.03 を代入 System.out.println("d の値は " + d); // d の値を表示 System.out.println("e の値は " + e); // e の値を表示 System.out.println("f の値は " + f); // f の値を表示 d = e; // d に e の値をコピー e = f; // e に f の値をコピー f = d; // f に d の値をコピー System.out.println("d の値は " + d); // d の値を表示 System.out.println("e の値は " + e); // e の値を表示 System.out.println("f の値は " + f); // f の値を表示 } }
変数d,e,fはそれぞれ違う値を持っている。
変数eの値をdに、変数fの値をeに、変数dの値をfに同時にコピーしたい。
上記サンプルプログラムではうまく値を入れ替えることができない。
どうしたら変数の値を入れ替えることができるか考え、プログラムを修正しなさい。
ただし、リテラルを用いて代入してはいけない。
(ヒント: 変数をもう一つ用意する)
修正後の実行例
% java Kadai1_7 d の値は 10.01 e の値は 20.02 f の値は 30.03 d の値は 20.02 e の値は 30.03 f の値は 10.01
示例代码
- /*
- プログラム名: Kadai1_7.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Kadai1_7 {
- public static void main(String[] args) {
- double d = 10.01; // double型変数 d を宣言し、10.01 を代入
- double e = 20.02; // double型変数 e を宣言し、20.02 を代入
- double f = 30.03; // double型変数 f を宣言し、30.03 を代入
- System.out.println("d の値は " + d); // d の値を表示
- System.out.println("e の値は " + e); // e の値を表示
- System.out.println("f の値は " + f); // f の値を表示
- double k;
- k = e; // k に e の値をコピー
- e = f; // e に f の値をコピー
- f = d; // f に k の値をコピー
- d = k; // k に e の値をコピー
- System.out.println("d の値は " + d); // d の値を表示
- System.out.println("e の値は " + e); // e の値を表示
- System.out.println("f の値は " + f); // f の値を表示
- }
- }
输出
挑战用课题
目标
コンピュータは、基本的には数値の演算しかできないため、文字も全て数値を割り当てて処理している。
どの数値にどの文字が割り当たっているかを決めるのが文字コード表である。
文字コードには数多くの種類が存在するが、Shift-JIS, EUC, Unicodeなどのように、半角の英数字はASCIIコードを利用するものが多い。
ASCIIコードでは、'A'が65(16進では41),'B'が66(16進では42),'C'が67(16進では43)と続く。下記例題では、ASCIIコードのint値をchar型にキャストして表示している。
public class Ascii { public static void main(String[] args){ char c1 = (char)84; char c2 = (char)85; char c3 = (char)73; char c4 = (char)83; System.out.print(c1); System.out.print(c2); System.out.print(c3); System.out.println(c4); } }
実行結果)
$ java Ascii TUIS $
ASCIIコードでは記号や数字も、もちろん割り当てがある。
0-31 制御コード(非表示)
32-47 記号 (32はスペース)
48-57 数字
58-64 記号
65-90 英字大文字
91-96 記号
97-122 英字小文字
123-126 記号
127 制御コード(非表示)
チャレンジ課題: 上記例題と同じ方法でint型をchar型にキャストし、好きな顔文字を表示せよ。
この時、char型リテラル(例:'^')やStringリテラル(例:"^")を利用してはならない。必ず、int値のASCIIコードを用いること。
実行例)
$ java Ascii (^.^) $
示例代码
- /*
- プログラム名: Ascii.java
- 作成日: 2018/10/11
- 作成者: 初雪
- */
- public class Ascii {
- public static void main(String[] args){
- char c1 = (char)82;
- char c2 = (char)69;
- char c3 = (char)68;
- char c4 = (char)33;
- System.out.print(c1);
- System.out.print(c2);
- System.out.print(c3);
- System.out.println(c4);
- }
- }