DAY01オブジェクトクラスタイムライブラリなど

01.第1章:オブジェクトClass_Overview
1)。「Javaクラスライブラリ」とは:特定のアプリケーション向けのプログラマ向けに公式Java言語によって記述された「クラス」の一部を指します。これらのクラスは、 JDKの
リリースにより、私たちの雇用クラスの主な段階は、これらの一般的に使用されるクラスをクラスライブラリで学習することです。
2)。Java.lang.Object(クラス):Javaのすべてのクラスの「親クラス」です。Javaのクラス(クラスライブラリのクラス、定義したクラス、配列を含む)
は、そのサブクラスです。
3)。継承されたメソッド:
1)。Public String toString():このオブジェクトを文字列表現に変換します。
2)。public boolean equals(Object obj):このオブジェクトとパラメーターobject-compareを「比較」して、2つのオブジェクト内のすべての属性値が完全
に同じかどうかを確認します
02.第1章:オブジェクトクラス_toStringメソッド
1)。Public String toString():このオブジェクトを文字列表現に変換します。
デフォルトの実装:
class Object {
public String toString(){
return "full namequalified class name" + @ + address of the runtime class;
}
}
2)。System.out.println(object)、println( )このメソッドは、暗黙的に「オブジェクト」のtoString()メソッドを呼び出して、オブジェクト
の属性値を出力します。これには、retotoString()メソッドが必要です。
3)。再作成方法:alt + insert-> toString->(デフォルトではすべての属性が選択されています)-> Enter
public class Student {
String name;
int age;

public Student(String name, int age) {
    this.name = name;
    this.age = age;
}

@Override
public String toString() {
    return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}

}

03.第1章:オブジェクトクラス_equalsメソッド
1)。public boolean equals(Object obj):このオブジェクトをパラメーターobject-compareで「比較」して、2つのオブジェクト内のすべての属性値が
同一かどうかを確認します
2)。レビュー==演算子、この演算子は2つの「値」が等しいかどうかを判断でき、2つの「オブジェクト」を判断するためにも使用できます
。Stueent stu1 = new Student();
Student stu2 = new Student();
System。 out.println(stu1 == stu2); // OK-「アドレスが同じかどうかを比較する」
3)通常、2つのオブジェクトのすべての属性値がまったく同じかどうかを判断する必要があります。 (別のオブジェクト):
4)。書き換える方法は?alt + insert-> e(equals + hashCode)->すべて次へ-> OK
public class Student {
String name;
int age;
public Student(String name、int age){
this.name = name;
this.age = age;
}
@Override
public String toString(){
return“ Student {” +
“ name = '” + name +' '' +
「、age =」+ age +
'}';
}
//重写equals
@Override
public boolean equals(Object o){

    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Student student = (Student) o;
    return age == student.age &&
            Objects.equals(name, student.name);
}

}

04.第1章:オブジェクトクラス_Objectsクラス
1)。Java.util.Objects (クラス):「オブジェクト」操作用のいくつかの「静的メソッド」が含まれ、クラス名で直接呼び出すことができます。
2)。public static boolean equals(Object a、Object b):このメソッドの関数はObjectのequals()と等しく
2つのオブジェクトの属性がまったく同じかどうかを比較できますしかし、このメソッドはnullポインタ例外を回避できます。
3)。サンプルコード:
public class Demo {
public static void main(String [] args){
Student stu1 = new Student( "Zhang
Ziyi "、17); Student stu2 = new Student( "Zhang Ziyi"、17);

    //....
    stu1 = null;
    System.out.println(stu1.equals(stu2));//运行时抛出:NullPointerException(空指针异常)

    System.out.println(Objects.equals(stu1, stu2));//可以避免空指针异常
}

}

05.第2章:日付と時刻クラス_Dateクラス
1)。Java.util.Date (クラス):ミリ秒まで正確な「システム時刻」を表すことができます。JDK1.0以降。
2)。構築方法:
1)。日付():現在のシステム時刻を使用して、日付オブジェクトを構築します。
2).Date(ロングm):「ミリ秒値」を使用して日付を作成します。このミリ秒値は、1970年1月1日0:00から始まるミリ秒値です。
3)。メンバーメソッド:
1)。Public long getTime():現在のDateオブジェクトから、1970年1月1日0:00からこのDateオブジェクトが表す時刻までのミリ秒の値を取得します。
2).public void setTime(long m):現在のDataオブジェクトのミリ秒の値を設定します。この日付で表される日付は変更されます。
4)。サンプルコード:
public static void main(String [] args){
Date date = new Date();
System.out.println(date.toString());
System.out.println( "to the current millisecond value : "+ Date.getTime());

Date date2 = new Date(1000);
System.out.println(date2);
date2.setTime(date.getTime());//将date2的毫秒值设置为当前时间的毫秒值
System.out.println(date2);

}

06.第2章:日付と時刻Class_DateFormat Class_Convert日付を文字列に
変換1).java.text.DateFormat(抽象クラ​​ス):「日付」をフォーマットできます。これは抽象クラスであり、オブジェクトを作成できません。そのサブクラスである
SimpleDateFormat を使用します。
2)。SimpleDateFormat クラスの使用:
1)。構築メソッド:
SimpleDateFormat(文字列パターン):「日付パターン文字列」を使用してオブジェクトを構築します。
「日付パターン文字列」のヘルプドキュメントを参照してください。
3)。日付を文字列に変換:
1)。SimpleDateFormat–> public String format(Date date)
4)。サンプルコード:
public class Demo {
public static void main(String [] args){
SimpleDateFormat sdf = new SimpleDateFormat( " MM月dd日yy年HH時間mm分ss秒 ");
// 1. Dateオブジェクトを作成します
Date date = new Date();
// System.out.println(date); //表示する必要があります:2019- 04-09 09:58:55
文字列str = sdf.format(date);
System.out.println(str);
}
}

07.第2章:日付と時刻クラス_DateFormatクラス_文字列を日付に変換
1)。メンバーメソッド:
public Date parse(文字列str):文字列をDateオブジェクトに変換できます。
2)。サンプルコード:
public static void main(String [] args)throws ParseException {
String strDate = "1998-04-09";
// Convert to Date
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd");
日付date = sdf.parse(strDate);
System.out.println(date);
}

08.第2章:日付と時刻
Class_Exercise 1_文字列の日付形式の変換1)。文字列「2019-04-09」を「2019年4月9日」の形式に変換します。
2)。アイデア:「2018-04-09」-「日付に変換-」「yyyy年MM月dd日」に変換
3)。コード実装:
パブリッククラスデモ{
public static void main(String [] args)throws ParseException {
文字列str1 = "2019-04-09";

    //将str1转换为Date
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdf.parse(str1);

    //将Date转换为"yyyy年MM月dd日"的字符串
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
    String str2 = sdf2.format(date);
    System.out.println(str2);//2019年04月09日
}

}

09.第2章:日付と時刻_演習2_世界に来る日数を計算する
1)分析図:

2).示例代码:

public class Demo {
public static void main(String [] args)throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println( "誕生日を入力してください(yyyy-MM-dd形式): ");
String birthDay = sc.next(); //" 1998-04-09 "
// 1.文字列を日付に変換する
SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd ");
//
日付を変換するdate = sdf.parse(birthDay);
//ミリ秒の
長さを抽出m1 = date.getTime();

    //2.获取当前系统时间的毫秒值
    long m2 = new Date().getTime();
    System.out.println("你从出生到现在一共经历了:" + ((m2 - m1) / 1000 / 3600 / 24) + " 天");
}

}

10.第2章:日付と時刻クラス_Calendar(カレンダー)クラス
1).java.util.Calendar(抽象クラ​​ス):「日付計算」に使用できます。これは抽象クラスであり、そのサブクラスであるGregorianCalendarを使用できます。
2)。GregorianCalendarの使用:
1)。構築方法:
1)。GregorianCalendar():現在のシステム時刻を使用して構築します。
2)。GregorianCalendar(int年、int月、int dayOfMonth):年、月、日の構造を使用します。
3)。GregorianCalendar(int年、int月、int dayOfMonth、int hourOfDay、int分)は、年、月、日、時、分を使用して構築されます。
4)。GregorianCalendar(int年、int月、int dayOfMonth、int hourOfDay、int分、int秒)は、年、月、日、時、分、秒を使用して作成されます。
3)。メンバーメソッド:
1)。Public int get(int field):フィールドの値を取得します。
サンプルコード:
public class Demo {
public static void main(String [] args){
GregorianCalendar c1 = new GregorianCalendar();

    System.out.println(c1.toString());

    int year = c1.get(Calendar.YEAR);
    int month = c1.get(Calendar.MONTH);
    int day = c1.get(Calendar.DAY_OF_MONTH);

    int hour = c1.get(Calendar.HOUR);
    int minute = c1.get(Calendar.MINUTE);
    int second = c1.get(Calendar.SECOND);

    int week = c1.get(Calendar.DAY_OF_WEEK);//返回值:1--7(对应的:星期日,星期一,星期二,...,星期六

    System.out.println(year + " 年 " + (month + 1) + " 月 " + day + " 日 " 
					+ hour + ":" + minute + ":" + second );
    System.out.println(getWeek(week));	
}

//查表
public static String getWeek(int w) {//1--7
    //定义一个"表(数组)"
    String[] weekArray = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
    //查表
    return weekArray[w - 1];

}

}

	2).public void set(int field,int value):将某个字段设置为:value值。
		1).示例代码:

public class Demo {
public static void main(String [] args){
GregorianCalendar c1 = new GregorianCalendar();
// 1.分隊長の誕生日は、曜日です

    c1.set(Calendar.YEAR, 1998);
    c1.set(Calendar.MONTH, 5 - 1);
    c1.set(Calendar.DAY_OF_MONTH, 28);

    //获取那天的星期几
    week = c1.get(Calendar.DAY_OF_WEEK);
    String wStr = getWeek(week);
    System.out.println("班长出生那天是:" + wStr);
}

//查表
public static String getWeek(int w) {//1--7
    //定义一个"表(数组)"
    String[] weekArray = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
    //查表
    return weekArray[w - 1];

}

}
3)。Public void add(int field、int value):フィールド値を増やします:value。
1)。サンプルコード:
public class Demo {
public static void main(String [] args){
// 2.300日後の年、月、日、日
GregorianCalendar gc = new GregorianCalendar();
//日になる、 300
gc.add(Calendar.DAY_OF_MONTH、300)を増やします。

    System.out.println(gc);


}

//查表
public static String getWeek(int w) {//1--7
    //定义一个"表(数组)"
    String[] weekArray = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
    //查表
    return weekArray[w - 1];

}

}

11.第3章:システムクラス_ロールと一般的なメソッド
1)。Java.lang.System(クラス):システム情報を取得できる静的メソッドがいくつか含まれています。
2)。共通メソッド:
1)。Public static void arraycopy(Object src、// "コピーされる元の配列"
int srcPos、//元の配列内の位置
Object dest、// "コピーされる新しい配列"
int destPos、//新しい配列の開始位置
int length)//コピーする要素の数
1)。サンプルコード:
public class Demo {
public static void main(String [] args){
int [] arr = {1,2、 3,4};
int [] arr1 = new int [arr.length];

    //开始复制
    System.arraycopy(arr, 0, arr1, 0, arr.length);
    //验证
    System.out.println(Arrays.toString(arr1));

    //练习:只操作一个数组
    int[] intArray = {10, 0, 20, 30, 40, 50, 60};
    //需求:将2,3,4,5,6挪到1的后面,将0挪到最后
    System.arraycopy(intArray, 2, intArray, 1, 5);
    //处理最后一个60
    intArray[intArray.length - 1] = 0;
    //验证
    System.out.println(Arrays.toString(intArray));
}

}
にcurrentTimeMillis .public静的ロング()と2):ミリ秒単位の現在のシステム時刻を取得します。
1)。サンプルコード:
public class Demo {
public static void main(String [] args){
ArrayList strList = new ArrayList <>();

    long start = System.currentTimeMillis();//获取系统时间的毫秒
    for (int i = 0; i < 5000000; i++) {
        strList.add(i);
    }
    long end = System.currentTimeMillis();//再次获取系统时间的毫秒
    System.out.println("共执行:" + (end - start) + " 毫秒");
}

}
3).public静的な無効終了(INTステータス):また、JVMの終了(我々のプログラムの終了)


12.第4章:StringBuilderクラス_ Stringクラスの不変性のレビュー
1)。文字列のステッチ:
文字列s1 = "Hello";
s1 = s1 + "World"; //合計生成:3つのオブジェクトスペース->効率比較的低いため、
System.out.println(s1); // HelloWorld
2)。に推奨されていません。将来、文字列を連結するには、StringBuilderクラスを使用します。
13.第4章:StringBuilderクラス_概要と一般的なメソッド
1)。Java.lang.StringBuilder(クラス):
2)。サンプルコード:
public static void main(String [] args){
StringBuilder bld = new StringBuilder();
bld.append( "Hello")。append( "World").append
(3.1415).append(2);

}
。3)を示します。

14.第4章:StringクラスとStringBuilderクラスの違いの概要
1)。String クラス:「文字列」を表します。内部では不変です;
文字列str = "hehe";
2)StringBuilderクラス: "文字列" "ツールクラス"で、文字列を置き換えることはできません。内部的には「可変」です。
StringBuilder bld = new StringBuilder();
bld.append( "Hello")。Append( "World"); //常に同じStringBuilderオブジェクトを操作する

第15章:コンセプト_パッケージ
4 8種類、「クラス」タイプに対応-包装:1)の.java基本データ型
の基本的なタイプのパッケージ
バイトバイト
ショートショート
int型整数
ロングロング
フロートフロート
ダブルをDouble
char Character
boolean Boolean
2)。パッケージクラスの役割:
1)。各パッケージクラスオブジェクトは、このタイプのデータをカプセル化できます;
2)。各パッケージクラスオブジェクトは、このタイプのいくつかのデータを含みますいくつかの操作方法:
たとえば、文字列を基本型に変換します。

16.第5章:
クラスのパッケージング_共通アプリケーションクラスのパッケージ化の役割:特定の基本型と文字列型を相互に変換するには、パッケージングクラスを使用する必要があります。
1)。文字列をいくつかの基本的な型に変換し
ますpublic static void main(String [] args){
String age = "24"; //注:各文字が「数字」であることを確認する必要があります。それ以外の場合は例外をスローします。
文字列の高さ= "1.75";

//要转换为int,就找int的包装类:Integer
int intAge = Integer.parseInt(age);
System.out.println(intAge + 5);

//要转换为double,就找double的包装类:Double
double doubleHeight = Double.parseDouble(height);
System.out.println("身高:" + (doubleHeight + 0.1));

//任何包装类(除Character)都有parseXxxx(String s) :可以将字符串转换为本类型的基本类型的数据

}
2)。基本型を文字列に変換する:
int a = 10;
//最初の方法:
String s = a + "";
// 2番目の方法:よりエレガントな
文字列s1 = Integer.toString (a);
// Characterクラスに加えて、他のパッケージクラスには次のものがあります:String toString(このタイプのデータ):このタイプの値をStringに変換できます。

1).JDK5以前,包装类对象需要new对象:
	Integer intObj = Integer.valueOf(10);
	//取出基本类型的10
	int n = intObj.intValue();
2).JDK5以后:
	Integer intObj = 10;//自动装箱-->编译后:Integer intObj = Integer.valueOf(10);
	//取出:
	intObj++;
	int n = intObj;//自动拆箱-->编译后:int n = intObj.intValue();
	System.out.println(n);
3).自动装箱:将基本类型直接赋值给包装类型。
   自动拆箱:将包装类型直接赋值给基本类型。
   好处:可以将“包装类”和“基本类型”同样看待,使用同样方式操作,编码方便。

ArrayList<Integer> list = new ArrayList<>();
list.add(10);//编译后:list.add(Integer.valueOf(10));
-------------------------------------------------------------------------------------

================================================== ==============================

元の4件の記事を公開 いいね0 訪問数54

おすすめ

転載: blog.csdn.net/lujunskli/article/details/105475085