compile
$ javac MyApp.java
$ java MyApp
basic
public class MyApp {
public static void main(String[] args){
System.out.println("Hello world!");
}
}
variable
String msg;
msg = "Hello world!";
System.out.println(msg);
variable
L primitiveなデータ型はメモリ領域を確保する
L String, arrayなど参照型はメモリの番地を確保して、番地を参照している
public static void main(String[] args){
// String, char
char a = 'a';
// byte short int long
int x = 10;
long y = 55555555L;
// 浮動小数点数 float double
double d = 23423.334;
float f = 32.33F;
// 論理値
boolean flag = true;
// \n
String msg = "Hello wo\nr\tld";
System.out.println(msg);
}
int i;
i = 10 / 3;
System.out.println(i);
i = 10 % 3;
System.out.println(i);
int x = 5;
x++;
System.out.println(x);
x--;
System.out.println(x);
cast
double d = 52343.213;
int i = (int)d;
int i = 10;
double d = (double)i / 4;
System.out.println(d);
if
int score = 85;
if(score > 80){
System.out.println("great");
} else if (score > 60){
System.out.println("good");
} else {
System.out.println("soso");
}
int score = 25;
String msg = score > 80 ? "great!": "soso ...!";
System.out.println("soso");
switch
String signal = "red";
switch(signal) {
case "red":
System.out.println("stop!");
break;
case "blue":
System.out.println("go!");
break;
case "yellow":
System.out.println("caution!");
break;
default:
System.out.println("wrong signal!");
break;
}
while
int i = 0;
while(i < 10){
System.out.println(i);
i++;
}
do {
System.out.println(i);
i++;
}while(i < 10);
for
for(int i = 0; i < 10; i++) {
if (i == 5){
continue;
}
System.out.println(i);
}
配列
int[] sales;
sales = new int[3];
sales[0] = 100;
sales[1] = 200;
sales[2] = 300;
System.out.println(sales[1]);
sales[1] = 1000;
System.out.println(sales[1]);
sales = new int[] {100, 200, 300};
int[] sales = {100, 200, 300};
int[] sales = {100, 200, 300};
for(int i = 0; i < sales.length; i++){
System.out.println(sales[i]);
}
for (int sale : sales){
System.out.println(sale);
}
基本データ型と参照型
int[] a = {3, 5, 7};
int[] b = a;
b[1] = 8;
System.out.println(a[1]);
System.out.println(b[1]);
// 文字列の場合は、別の領域にメモリを確保する
String s = "hello";
String t = s;
t = "world";
System.out.println(s);
System.out.println(t);
method
public static void sayHi(String name){
System.out.println("Hi!" + name);
}
public static void main(String[] args){
sayHi("Tom");
sayHi("Bob");
}
public static String sayHi(String name){
return "hi!" + name;
}
public static void main(String[] args){
String msg = sayHi("Steve");
System.out.println(msg);
}
// overload
public static void sayHi(){
System.out.println("Hi! Nobody!");
}
public static void main(String[] args){
sayHi("Steve");
sayHi();
}
class
class User {
String name = "Me!";
void sayHi(){
System.out.println("Hi!");
}
}
public class MyApp {
public static void main(String[] args){
User tom;
tom = new User();
System.out.println(tom.name);
tom.sayHi();
}
}
constructor
L thisはclassのcontructorという意味
class User {
String name;
User(String name){
this.name = name;
}
void sayHi(){
System.out.println("Hi!" + this.name);
}
}
public class MyApp {
public static void main(String[] args){
User tom;
tom = new User("Tom");
System.out.println(tom.name);
tom.sayHi();
}
}
継承
class AdminUser extends User{
AdminUser(String name){
super(name);
}
void sayHello(){
System.out.println("Hello!" + this.name);
}
}
public class MyApp {
public static void main(String[] args){
User tom;
tom = new User("john");
System.out.println(tom.name);
tom.sayHi();
AdminUser bob = new AdminUser("bob");
System.out.println(bob.name);
bob.sayHello();
}
}