【五日目】Java学習
公開日: 2022/11/21
更新日: 2022/11/21
Java学習5日目
1. クラスライブラリ
JDKの一部として提供されるクラス群をいう
例
java.langパッケージ:基本的なクラス|
java.io:入出力関連 }java baseモジュール
java.net:ネットワーク関連 |
モジュール→パッケージをまとめるもの
例
java.langパッケージ:基本的なクラス|
java.io:入出力関連 }java baseモジュール
java.net:ネットワーク関連 |
モジュール→パッケージをまとめるもの
2. APIドキュメント
・API(アプリケーション・プログラミング・インターフェース)
アプリケーションやプログラム同士をつなぐもの
・クラスライブラリの情報をまとめたAPIドキュメントというものがある
3. Objectクラス(java.lang)
・全てのクラスのルートとなるクラス
→すべてのクラスはObjectクラスを継承している
・boolean equals(Object obj)
自オブジェクトとobjが等しいかを比べる
stu1とstu2に菅原という文字列を入れても異なるメモリに菅原を作成するのでアドレス値が異なる。
Objectクラスのequals()メソッドは変数の中身を比べるため下記の結果になる。
stu1.equals(stu2)→false
equals()メソッドは==と同じ処理をしている。
・String toString()
オブジェクトの情報を文字列で返す
System.out.println(obj)したときは自動的にtoStringメソッドが呼び出される
→すべてのクラスはObjectクラスを継承している
・boolean equals(Object obj)
自オブジェクトとobjが等しいかを比べる
stu1とstu2に菅原という文字列を入れても異なるメモリに菅原を作成するのでアドレス値が異なる。
Objectクラスのequals()メソッドは変数の中身を比べるため下記の結果になる。
stu1.equals(stu2)→false
equals()メソッドは==と同じ処理をしている。
・String toString()
オブジェクトの情報を文字列で返す
System.out.println(obj)したときは自動的にtoStringメソッドが呼び出される
4. Stringクラス(java.lang)
・””で囲まれた文字列はStringオブジェクトになる
・”~”を使うと同じ文字列のオブジェクトが再利用される
Stringオブジェクトは”~”で生成したほうがメモリの使用効率が良い
・boolean equals(Object obj)
自文字列とobjの文字列の内容を比べる
String s1=”Java”;
String s2=”new String(“Java”)”
String s3=”Java”;
s1.equals(s2)→true s1==(s2)→false
s1.equals(s3)→true s1==(s3)→true
文字列の比較はequals()メソッドを使う
使用例:webサイトのログインパスワードを確認するプログラム
・”~”を使うと同じ文字列のオブジェクトが再利用される
Stringオブジェクトは”~”で生成したほうがメモリの使用効率が良い
・boolean equals(Object obj)
自文字列とobjの文字列の内容を比べる
String s1=”Java”;
String s2=”new String(“Java”)”
String s3=”Java”;
s1.equals(s2)→true s1==(s2)→false
s1.equals(s3)→true s1==(s3)→true
文字列の比較はequals()メソッドを使う
使用例:webサイトのログインパスワードを確認するプログラム
5. ラッパークラス
・各基本データ型に対応したクラスのことを言う
ラッパークラスのクラス名は基本データ型の一文字目を大文字にする場合が多い
基本データ型のデータを(キッチンのラップのように)オブジェクトとして包み込むクラス
基本データ型とラッパークラスの間では自動的に変換される
例
int i = 10;
Integer i = new Integer(10);
Integer i =10;でもOK
Integerクラス(java.lang)
・static final int MIN_VALUE
MAX_VALUE
int型で扱える最小値と最大値
・static int parseInt(String s)
sをint型に変換する
(例)int i = Integer.perseInt(“10”);
・static String toString(int i);
iを文字列に変換する
(例)String s = Integer.toString(10);
String s =””+10;でもOK
ラッパークラスのクラス名は基本データ型の一文字目を大文字にする場合が多い
基本データ型のデータを(キッチンのラップのように)オブジェクトとして包み込むクラス
基本データ型とラッパークラスの間では自動的に変換される
例
int i = 10;
Integer i = new Integer(10);
Integer i =10;でもOK
Integerクラス(java.lang)
・static final int MIN_VALUE
MAX_VALUE
int型で扱える最小値と最大値
・static int parseInt(String s)
sをint型に変換する
(例)int i = Integer.perseInt(“10”);
・static String toString(int i);
iを文字列に変換する
(例)String s = Integer.toString(10);
String s =””+10;でもOK
6. ArrayList<E>クラス(jaca:util)
・複数のオブジェクトをまとめて管理できるコレクションクラスの一つ
・サイズが動的に変わる配列
・格納する要素(Element)のデータ型を<>(ジェネリックス)内に指定
・boolean add(E obj):objを最後に追加
・E get(int i):i番目の要素を取得
・int size():リストの要素数を取得
・Iteratoriterator():イテレータを取得
Iteratorインターフェース(java.util)
・イテレータはコレクション内の要素を指し示すカーソルのようなもの
・コレクションクラスのiterator()メソッドで取得できる
・boolean hasNext():次に要素があればtrue
・E next():次の要素を返してカーソルを次に移動
・void remove():最後に返した要素を削除
・サイズが動的に変わる配列
・格納する要素(Element)のデータ型を<>(ジェネリックス)内に指定
・boolean add(E obj):objを最後に追加
・E get(int i):i番目の要素を取得
・int size():リストの要素数を取得
・Iterator
Iterator
・イテレータはコレクション内の要素を指し示すカーソルのようなもの
・コレクションクラスのiterator()メソッドで取得できる
・boolean hasNext():次に要素があればtrue
・E next():次の要素を返してカーソルを次に移動
・void remove():最後に返した要素を削除
7. 本日使用したサンプルコード
public class Student{
private String name;
public Student(String name) {
this.name=name;
}
public String toString() {
return "私の名前は" + name + "です";
}
}
public class StuSample{
public static void main(String[] args) {
Student stu1 = new Student("菅原");
Student stu2 = new Student("菅原");
boolean result = stu1.equals(stu2);
System.out.println(result);
System.out.println(stu1);
}
}
public class StringSample{
public static void main(String[] args){
String s1="Java";
String s2=new String("Java");
String s3="Java";
System.out.println("s1.equals(s2):" +s1.equals(s2));
System.out.println("s1.equals(s3):" +s1.equals(s3));
System.out.println("s1 == s2:" + (s1 == s2));
System.out.println("s1 == s3:" + (s1 == s3));
System.out.println("s1.length():" + s1.length());
System.out.println("s1.substring(1):" + s1.substring(1));
System.out.println("s1.substring(1,3):" + s1.substring(1,3));
}
}
public class IntegerSample{
public static void main(String[] args){
try{
int i = Integer.parseInt(args[0]);
String s = Integer.toBinaryString(i);
System.out.println("二進数に変換:"+ s);
} catch(NumberFormatException e) {
System.out.print(Integer.MIN_VALUE);
System.out.print("から");
System.out.print(Integer.MAX_VALUE);
System.out.println("までの数値を入力してください");
}
}
}
import java.util.ArrayList;
public class ArrayListSample{
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add("Java入門講座");
list.add("ここまで");
list.add("よく頑張りましたね");
for(int i = 0: i < list.size(): i++) {
System.out.println(lis
private String name;
public Student(String name) {
this.name=name;
}
public String toString() {
return "私の名前は" + name + "です";
}
}
public class StuSample{
public static void main(String[] args) {
Student stu1 = new Student("菅原");
Student stu2 = new Student("菅原");
boolean result = stu1.equals(stu2);
System.out.println(result);
System.out.println(stu1);
}
}
public class StringSample{
public static void main(String[] args){
String s1="Java";
String s2=new String("Java");
String s3="Java";
System.out.println("s1.equals(s2):" +s1.equals(s2));
System.out.println("s1.equals(s3):" +s1.equals(s3));
System.out.println("s1 == s2:" + (s1 == s2));
System.out.println("s1 == s3:" + (s1 == s3));
System.out.println("s1.length():" + s1.length());
System.out.println("s1.substring(1):" + s1.substring(1));
System.out.println("s1.substring(1,3):" + s1.substring(1,3));
}
}
public class IntegerSample{
public static void main(String[] args){
try{
int i = Integer.parseInt(args[0]);
String s = Integer.toBinaryString(i);
System.out.println("二進数に変換:"+ s);
} catch(NumberFormatException e) {
System.out.print(Integer.MIN_VALUE);
System.out.print("から");
System.out.print(Integer.MAX_VALUE);
System.out.println("までの数値を入力してください");
}
}
}
import java.util.ArrayList;
public class ArrayListSample{
public static void main(String[] args){
ArrayList
list.add("Java入門講座");
list.add("ここまで");
list.add("よく頑張りましたね");
for(int i = 0: i < list.size(): i++) {
System.out.println(lis