この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
広告
posted by fanblog
2018年12月22日
valueOfを使ってStringからdoubleへキャストとその逆
class Demo{
public static void main(String[] args) {
String str = "5";
Double d = Double.valueOf(str);
System.out.println(d * 5);
String s = String.valueOf(d);
System.out.println(s);
}
}
===== 実行結果 =====
25.0
5.0
===================
実行結果の25.0はdouble型なので演算ができますが
5.0はString型なので演算はできません。
† 地球の末路!? †
public static void main(String[] args) {
String str = "5";
Double d = Double.valueOf(str);
System.out.println(d * 5);
String s = String.valueOf(d);
System.out.println(s);
}
}
===== 実行結果 =====
25.0
5.0
===================
実行結果の25.0はdouble型なので演算ができますが
5.0はString型なので演算はできません。
† 地球の末路!? †
2018年12月21日
valueOfを使ってStringからintへとその逆
class Demo{
public static void main(String[] args) {
int i = 5;
String str = String.valueOf(i);
System.out.println(str);
Integer num = Integer.valueOf(str);
System.out.println(num * 15);
}
}
===== 実行結果 =====
5
75
====================
実行結果の5はString型なので演算はできません。
逆に、実行結果の75はint型なので演算が可能です。
† 地球の末路!? †
public static void main(String[] args) {
int i = 5;
String str = String.valueOf(i);
System.out.println(str);
Integer num = Integer.valueOf(str);
System.out.println(num * 15);
}
}
===== 実行結果 =====
5
75
====================
実行結果の5はString型なので演算はできません。
逆に、実行結果の75はint型なので演算が可能です。
† 地球の末路!? †
2018年12月20日
Stringからintへ、intからStringへキャスト
String型からint型へキャスト。
class Demo{
public static void main(String[] args) {
String str = "10";
Integer strInt = Integer.parseInt(str);
System.out.println(strInt * 2);
}
}
===== 実行結果 =====
20
================
次はint型からString型にキャスト。
class Demo{
public static void main(String[] args) {
int i = 5;
String str = Integer.toString(i);
System.out.println(str);
}
}
===== 実行結果 =====
5
================
実行結果はint型の時と同じ5だけど
型がString型にキャストされているので演算をすることができない。
† 地球の末路!? †
class Demo{
public static void main(String[] args) {
String str = "10";
Integer strInt = Integer.parseInt(str);
System.out.println(strInt * 2);
}
}
===== 実行結果 =====
20
================
次はint型からString型にキャスト。
class Demo{
public static void main(String[] args) {
int i = 5;
String str = Integer.toString(i);
System.out.println(str);
}
}
===== 実行結果 =====
5
================
実行結果はint型の時と同じ5だけど
型がString型にキャストされているので演算をすることができない。
† 地球の末路!? †
2018年12月11日
みかんは何回表示される?
使用しているプログラミング言語はJavaです。
このプログラムを実行すると「みかん」は何回表示されるでしょうか?
class Demo{
public static void main(String[] args) {
for(int i = 0; i < 5; i++) {
if(i < 3) {
continue;
}
System.out.println("みかん");
}
}
}
====== 実行結果 ======
みかん
みかん
======================
正解は2回でした。
以降の処理を実行しないのがcontinue文です。
for文でiが初期化され0が代入されます。
条件を満たしているので内側のブロックif文のブロックに処理が移ります。
しかし、if文では「i < 3までcontinue」となっているため
iが0、1、2の間は処理が行われずfor文に処理が戻ります。
これが繰り返されるとfor文の反復子がi++となっているので
iの値が1、2、3、4、5と増えていきます。
iが5になるとfor文の条件を満たしていないので処理終了なります。
iが3、4になった時にはif文の条件を満たしていないので
if文処理されず「みかん」が表示されます。
このプログラムを実行すると「みかん」は何回表示されるでしょうか?
class Demo{
public static void main(String[] args) {
for(int i = 0; i < 5; i++) {
if(i < 3) {
continue;
}
System.out.println("みかん");
}
}
}
====== 実行結果 ======
みかん
みかん
======================
正解は2回でした。
以降の処理を実行しないのがcontinue文です。
for文でiが初期化され0が代入されます。
条件を満たしているので内側のブロックif文のブロックに処理が移ります。
しかし、if文では「i < 3までcontinue」となっているため
iが0、1、2の間は処理が行われずfor文に処理が戻ります。
これが繰り返されるとfor文の反復子がi++となっているので
iの値が1、2、3、4、5と増えていきます。
iが5になるとfor文の条件を満たしていないので処理終了なります。
iが3、4になった時にはif文の条件を満たしていないので
if文処理されず「みかん」が表示されます。
タグ: みかんは何回表示される?
†
地球の末路!?
†
2018年12月03日
do-while文はwhile文とは少しだけ異なります
使用しているプログラミング言語はJavaです。
do-whileはwhileと違い1回は処理が実行されます。
class DemoSample{
public static void main(String[] args) {
int i = 1;
do{
System.out.println(i);
}while(i > 5);
}
===== 実行結果 =====
1
====================
do-whileだと1と表示されますが
これをwhileに書き換えると何も表示されません。
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i > 5) {
System.out.println(i);
}
}
}
===== 実行結果 =====
====================
do-whileとwhileの違いはこんな感じです。
因みに、()内の条件をtrueにすると無限ループになります。
† 地球の末路!? †
do-whileはwhileと違い1回は処理が実行されます。
class DemoSample{
public static void main(String[] args) {
int i = 1;
do{
System.out.println(i);
}while(i > 5);
}
===== 実行結果 =====
1
====================
do-whileだと1と表示されますが
これをwhileに書き換えると何も表示されません。
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i > 5) {
System.out.println(i);
}
}
}
===== 実行結果 =====
====================
do-whileとwhileの違いはこんな感じです。
因みに、()内の条件をtrueにすると無限ループになります。
† 地球の末路!? †
2018年12月02日
前置・後置インクリメントとwhile文
使用しているプログラミング言語はJavaです。
前置と後置でインクリメントのタイミング少し違うので出力も変わります。
前置インクリメントとwhile文:
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i < 5) {
System.out.println(i++);
}
}
}
===== 実行結果 =====
1
2
3
4
====================
後置インクリメントとwhile文:
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i < 5) {
System.out.println(++i);
}
}
}
===== 実行結果 =====
2
3
4
5
====================
† 地球の末路!? †
前置と後置でインクリメントのタイミング少し違うので出力も変わります。
前置インクリメントとwhile文:
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i < 5) {
System.out.println(i++);
}
}
}
===== 実行結果 =====
1
2
3
4
====================
後置インクリメントとwhile文:
class DemoSample{
public static void main(String[] args) {
int i = 1;
while(i < 5) {
System.out.println(++i);
}
}
}
===== 実行結果 =====
2
3
4
5
====================
† 地球の末路!? †
2018年11月19日
複合代入演算子
複合代入演算子は代入演算子「=」と算術演算子を
組み合わせたもので5種類あります。
「+=」「-+」「*=」「/=」「%=」
「x += y」は「x = x + y」と同じ。
「x -= y」は「x = x - y」と同じ。
「x *= y」は「x = x * y」と同じ。
「x /= y」は「x = x / y」と同じ。
「x %= y」は「x = x % y」と同じ。
class DemoSample {
public static void main(String[] args) {
int i = 5;
i += 3;//i = i + 3と同じ。
int j = 8;
j /= 2;//i = i / 2と同じ。
int a = 5;
a %= 2;//i = i % 2と同じ。商ではなく余りが表示されます。
System.out.println(i);
System.out.println(j);
System.out.println(a);
}
}
=== 実行結果 ===
8
4
1
===============
複合代入演算子って最初は少しややこしい感じがするけど
プログラミングをしているうちに慣れてきます。
組み合わせたもので5種類あります。
「+=」「-+」「*=」「/=」「%=」
「x += y」は「x = x + y」と同じ。
「x -= y」は「x = x - y」と同じ。
「x *= y」は「x = x * y」と同じ。
「x /= y」は「x = x / y」と同じ。
「x %= y」は「x = x % y」と同じ。
class DemoSample {
public static void main(String[] args) {
int i = 5;
i += 3;//i = i + 3と同じ。
int j = 8;
j /= 2;//i = i / 2と同じ。
int a = 5;
a %= 2;//i = i % 2と同じ。商ではなく余りが表示されます。
System.out.println(i);
System.out.println(j);
System.out.println(a);
}
}
=== 実行結果 ===
8
4
1
===============
複合代入演算子って最初は少しややこしい感じがするけど
プログラミングをしているうちに慣れてきます。
タグ: 複合代入演算子
†
地球の末路!?
†
2018年11月18日
前置・後置インクリメントとデクリメント
1を加算・減算する処理は自体は同じなのですが
前置と後置では処理のタイミングが少し違います。
class DemoSample {
public static void main(String[] args) {
int i = 5;
int j = 3;
int a = 9;
int b = 7;
//前置・後置インクリメント
System.out.println("インクリメント:");
System.out.println( "前置インクリメント:" + ++i);
System.out.println( "前置インクリメント:" + i);
System.out.println( "後置インクリメント:" + j++);
System.out.println( "後置インクリメント:" + j);
System.out.println();
System.out.println("デクリメント:");
System.out.println( "前置デクリメント:" + --a);
System.out.println( "前置デクリメント:" + a);
System.out.println( "後置デクリメント:" + b--);
System.out.println( "後置デクリメント:" + b);
}
}
=== 実行結果 ===
インクリメント:
前置インクリメント:6
前置インクリメント:6
後置インクリメント:3
後置インクリメント:4
デクリメント:
前置デクリメント:8
前置デクリメント:8
後置デクリメント:7
後置デクリメント:6
===============
前置インクリメント・デクリメントは処理を実行してから1を加算・減算。
後置インクリメント・デクリメントは1加算・減算してから処理を実行。
前置・後置インクリメントとデクリメントのお話でした。
† 地球の末路!? †
前置と後置では処理のタイミングが少し違います。
class DemoSample {
public static void main(String[] args) {
int i = 5;
int j = 3;
int a = 9;
int b = 7;
//前置・後置インクリメント
System.out.println("インクリメント:");
System.out.println( "前置インクリメント:" + ++i);
System.out.println( "前置インクリメント:" + i);
System.out.println( "後置インクリメント:" + j++);
System.out.println( "後置インクリメント:" + j);
System.out.println();
System.out.println("デクリメント:");
System.out.println( "前置デクリメント:" + --a);
System.out.println( "前置デクリメント:" + a);
System.out.println( "後置デクリメント:" + b--);
System.out.println( "後置デクリメント:" + b);
}
}
=== 実行結果 ===
インクリメント:
前置インクリメント:6
前置インクリメント:6
後置インクリメント:3
後置インクリメント:4
デクリメント:
前置デクリメント:8
前置デクリメント:8
後置デクリメント:7
後置デクリメント:6
===============
前置インクリメント・デクリメントは処理を実行してから1を加算・減算。
後置インクリメント・デクリメントは1加算・減算してから処理を実行。
前置・後置インクリメントとデクリメントのお話でした。
† 地球の末路!? †
2018年11月11日
for文と拡張for文と昇順に並び替え
class ExtensionDemo {
public static void main(String[] args) {
int[] num = {6,8,1,3,9,7};//配列宣言・初期化
//for文で出力
for(int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
System.out.println();//改行用
//拡張for文
for(int j: num) {
System.out.print(j + " ");
}
System.out.println();//改行用
//昇順に並べ替えてみる
Arrays.sort(num);
system.out.print(Arrays.toString(num));
}
}
=== 実行結果 ===
6 8 1 3 9 7
6 8 1 3 9 7
[1, 3, 6, 7, 8, 9]
===============
Arrays.sorは基本データ型(プリミティブ型)にしか使えない。
しかも、昇順にしか並べ替えることができない。
Arrays.sortでもComparatableを実装すると降順に
並べ替えることもできますが基本データ型が使えないので
配列宣言・初期化はintではなくIntegerにする必要があります。
昇順:Arrays.sort(配列変数, Comparator.naturalOrder());
降順:Arrays.sort(配列変数, Comparator.reverseOrder());
Collections.sortを使用して昇順・降順出力するやり方もあります。
† 地球の末路!? †
public static void main(String[] args) {
int[] num = {6,8,1,3,9,7};//配列宣言・初期化
//for文で出力
for(int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
System.out.println();//改行用
//拡張for文
for(int j: num) {
System.out.print(j + " ");
}
System.out.println();//改行用
//昇順に並べ替えてみる
Arrays.sort(num);
system.out.print(Arrays.toString(num));
}
}
=== 実行結果 ===
6 8 1 3 9 7
6 8 1 3 9 7
[1, 3, 6, 7, 8, 9]
===============
Arrays.sorは基本データ型(プリミティブ型)にしか使えない。
しかも、昇順にしか並べ替えることができない。
Arrays.sortでもComparatableを実装すると降順に
並べ替えることもできますが基本データ型が使えないので
配列宣言・初期化はintではなくIntegerにする必要があります。
昇順:Arrays.sort(配列変数, Comparator.naturalOrder());
降順:Arrays.sort(配列変数, Comparator.reverseOrder());
Collections.sortを使用して昇順・降順出力するやり方もあります。
† 地球の末路!? †