[Java] 天パの人による適当な入門 Java編 その１ (print,println)

##天パの人による適当な入門　について
学校でプログラミングの授業があるけど「わからない・苦手だ」という人や、とりあえずコードが書けるようになりたい人向けです。細かいことはあとでちゃんとやればいいんです。
なので用語もちゃんとした言葉づかいじゃないところもあります。フィーリングに頼る部分もあります。
このシリーズでプログラミングがある程度できるようになったら、**本や大学などで先生が配布した授業資料などにしっかり目を通してください。**このシリーズの知識だけだとそのうち限界がくると思います。

みなくてもなんとなくわかっていくとは思いますが、結構基本的かつ大切なことを書いておきました。一応目を通していただきたいです。
https://qiita.com/Shodai-Kurasaki/items/b0137cf03ddd75485a6d
##本編
###文字とかを表示する。
####1-1
何も言わず次のサンプルコードを実行してください。ファイル名はSample1、拡張子は.java (今後ずっと)で。

```java:Sample1.java
class Sample1
{
		public static void main(String[] args)
		{
			System.out.println("Hello World!");
		}
}
```
結果は

```
Hello World!

```
と表示されます。
では早速、

```
System.out.println("Hello World!");
```
に注目してください。
こいつが文字を表示してくれているやつです。よく使います。
次に、これとよく似たものを使います。
次のサンプルコードを実行してみてください。ファイル名はSample2で。

```java:Sample2.java
class Sample2
{
		public static void main(String[] args)
		{
			System.out.print("abc");
			System.out.println("def");
			System.out.print("123");
		}
}
```
"System.out.print"のに"ln"がついてないやつがいますね。結果を見てみましょう。

```
abcdef
123
```
なんとなくわかりましたか？
"System.out.print"で文字を表示したあとは改行されてないけど、"ln"がついてるほうで表示した文字の後は改行されています。
つまり
**"System.out.print"は、本当に文字を表示するだけ
"System.out.println"は、文字を表示した後に改行する**
ということです。

ではここで確認問題1-1
次のプログラムの実行結果は？(publicなんちゃらの中のみ)

```
System.out.println("私は天才だ");
System.out.print("。ほんまやで");
System.out.println("関係ないけ");
System.out.println("どあしたひま？");
```
一応答えは最後の方に書いておきますが、わからなければ実行してみてください。

###1-2
**(　)の中について**
System.out.println(ここ); にさっきは"このちょんちょん"で文をはさんでいました。
でも、表示したいものによっては" "がいらなかったりします。次のコードを実行してみてください。

```java:Sample3.java
class Sample3
{
		public static void main(String[] args)
		{
			// 半角のスラッシュを左のように打つと、その行の残りの部分は実行のときに影響しない
			//メモとして使える
			
			System.out.println("1+1");	//１番　1+1
			System.out.println(1+1);	//２番　2
			
			System.out.println("a");	//a
			System.out.println('a');	//a
		}
}
```
まずは上の二つ。数字は"　"で囲まなくても表示できます。ただし、1+1と表示したければ１番のように書かなければなりません。Javaは" "で囲まれていると、そこは文字だと判断します。つまり１番の書き方では、**1+1という文字として認識される**ということです。逆に、２番の書き方だと、**1+1は数字(数式)としてとらえられます。**なので計算結果が表示されます。
次に下の二つ。数字(数式)以外なら基本文字は" "で囲まないといけないのですが、１文字だけの時は特別に' 'でも問題なくなります。そうなんだ～ぐらいに思っておいてください。
確認問題1-2はありません。

###1-3
1-2までに書いておいた知識だけで 1+1=2 と表示するには

```
System.out.print("1+1=");
System.out.print(1+1);
```
と書かなければなりませんでした。
とここでSample4です。とりあえずうつして実行してみてください。
実行した結果はそれぞれの行の横に書いています。

```java:Sample4.java
class Sample4      //もうわかっているかもしれませんが、classの横にはファイル名を書いてください
{
		public static void main(String[] args)
		{
			System.out.println("1+1=" + 1+1);				//1+1=11
			System.out.println("1+1=" + (1+1)); 			//1+1=2
			System.out.println("あいう" + "1+1" +"えお");	 //あいう1+1えお
		}
}
```
そうです。文字(" "でかこまれてるやつ)と数字を + でつなぐと数字が文字扱いになります。ただし、( )だけで囲まれてる数式はしっかり計算後のものが文字となり、表示されます。なんとなくわかれば今後使ううちに理解できると思います。

確認問題1-3
次のプログラムの実行結果は？(publicなんちゃらの中のみ)

```
System.out.println((20+4) + "3" + 2 + "は"+ "29" + "です。");
```
一応答えは最後に書いておきますが、わからなければ実行してみてください。

###練習問題
次のような実行結果になるプログラムを完成させよ。
また、非効率極まりないですが、501は計算で出してください。

```
結果
おはようございます。 出席番号１番の方は501号室まできてください。
```
これの答えは準備しません。何とかしてください。できます。多分きっとmaybe。




####確認問題の答え
1-1

```
私は天才だ
。ほんまやで関係ないけ
どあしたひま？

```

1-3

```
2432は29です。
```
補足
今回、もし問題が　**((20+4) + 3 + "2")**　だったら、足し算は前から順に行われるので **(27+"2")** となり最終的には **272**と表示されていました。



**その１は終わりです。お疲れさまでした。**


もし間違っている点などございましたらご指摘よろしくお願いします。