Skip to content

Instantly share code, notes, and snippets.

@teachingprogramming
Created December 10, 2017 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save teachingprogramming/3e60604ef2cfa1aa4d04ce4c433b4d21 to your computer and use it in GitHub Desktop.
Save teachingprogramming/3e60604ef2cfa1aa4d04ce4c433b4d21 to your computer and use it in GitHub Desktop.
「変数は初期化されていない可能性があります」というエラーについて
public class Example {
// [OK] aに値が入っているのでエラーにならない。
public int example01() {
int a;
a = 1;
return a;
}
// [NG] aに値が入っていないのでエラーになる。
public int example02() {
int a;
return a;
}
// [NG] aに値が入らない場合があり得るのでエラーになる。
public int example03() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
}
return a;
}
// [OK] aに値が入るのが確実なのでエラーにならない。
public int example04() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
} else {
a = 2;
}
return a;
}
// [NG] aに値が入るのが確実だが、コンパイラが判断できないのでエラーになる。
public int example05() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
} else if (0.5 <= x) {
a = 2;
}
return a;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment