java基础(常用类)

常用API

API 应用程序编程接口

Object类的toString()方法

/**
 * object :是类层次的根类,所有类都直接或间接继承该类
 *
 * 直接输出对象名,输出底层调用的是该对象的toString()
 *
 * 查看api,建议所有子类都重写tostring
 *
 *
 * ==:
 *      可以比较基本数据类型,比较基本数据类型的时候比较的是基本数据类型的值是否相同
 *
 *
 * object默认的eqials()方法默认比较的是对象的地址是否相同
 *
 * 如果我们想比较对象的内容是否相同,就必须自己重写该方法
 * ctrl+o  可以自动生成
 *
 */

String类的概述和构造方法

/**
 * srting : 代表字符串类
 *
 *  string 类创建对象的特点:
 *          1、 通过构建方法创建对象  String s1 = new String("hellow");
 *          2. 通过直接赋值创建对象   String s1 = "hellow";
 *
 *  第一种 创建 是真的重新创建一个
 *  第二种 是在常量池创建一个,以后相同的值都会指向这里
 */
package com.company;

import java.util.Scanner;
/**
 *  需求:模拟登陆,给三次机会,并提示还有几次
 *  分析:
 *          1. 定义两个字符串对象,存储已经存在的用户名和密码
 *          2. 键盘录入用户名和密码
 *          3. 拿键盘录入的用户名和密码跟已经存在的用户名和密码进行比较
 *              如果相同,提示登陆成功
 *              如果不同,就提示登陆失败,并提示还有几次机会
 *
 *
 */
public class Main {

    public static void main(String[] args) {
        //定义两个字符串对象,用于存储已经存在的用户名和密码
        String username = "admin";
        String password = "admin";

        for(int x=0; x<3; x++) {
            //键盘录入用户名和密码
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String name = sc.nextLine();
            System.out.println("请输入密码:");
            String pwd = sc.nextLine();

            //拿键盘录入的用户名和密码去跟已经存在的用户名和密码进行比较
            if(username.equals(name) && password.equals(pwd)) {
                System.out.println("登录成功");
                break;
            }else {
                if((2-x) == 0){
                    System.out.println("你的帐号被锁定,请与管理员联系");
                }else {
                    System.out.println("登录失败,你还有"+(2-x)+"次机会");
                }
            }
        }
    }
}

package com.company;

import java.util.Scanner;
/*
 * 需求:把数组中的数据按照指定个格式拼接成一个字符串
 * 举例:int[] arr = {1,2,3};
 * 输出结果:[1, 2, 3]
 *
 * 分析:
 * 		A:定义一个int类型的数组
 * 		B:写方法实现把数组中的元素按照指定的格式拼接成一个字符串
 * 		C:调用方法
 * 		D:输出结果
 */

public class Main {

    public static void main(String[] args) {
        //定义一个int类型的数组
        int[] arr = {1,2,3};

        //写方法实现把数组中的元素按照指定的格式拼接成一个字符串

        //调用方法
        String result = arrayToString(arr);

        //输出结果
        System.out.println("result:"+result);
    }

    /*
     * 两个明确:
     * 		返回值类型:String
     * 		参数列表:int[] arr
     */
    public static String arrayToString(int[] arr) {
        String s = "";
        //[1, 2, 3]
        s+="[";

        for(int x=0; x<arr.length; x++) {
            if(x==arr.length-1) {
                s += arr[x];
            }else {
                s += arr[x];
                s += ", ";
            }
        }

        s+="]";
        return s;
    }
}

StringBuilder的概述

String 的内容是固定的
StringBuilder的内容是可变的

A:构造方法:
public StringBuilder()
public StringBuilder(String str)
B:成员方法:
public String toString():返回此序列中数据的字符串表示形式。
public StringBuilder append(任意类型):添加数据,并返回对象本身。
public StringBuilder reverse():字符串本身进行反转

小测验:

package com.company;


/**
 * 把数组拼接成一个字符串
 * 举例:int[] arr = {1,2,3};
 * 输出结果:[1, 2, 3]
 *
 * 分析:
 * 		A:定义一个int类型的数组
 * 		B:写方法实现把数组中的元素按照指定的格式拼接成一个字符串
 * 		C:调用方法
 * 		D:输出结果
 *
 */


public class Main {

    public static void main(String[] args) {
        //定义一个int类型的数组
        int[] arr = {1,2,3};

        //写方法实现把数组中的元素按照指定的格式拼接成一个字符串

        //调用方法
        String result = arrayToString(arr);

        //输出结果
        System.out.println("result:"+result);
    }

    /*
     * 两个明确:
     * 		返回值类型:String
     * 		参数列表:int[] arr
     */
    public static String arrayToString(int[] arr) {
        StringBuilder sb = new StringBuilder();
        //[1, 2, 3]
        sb.append("[");

        for(int x=0; x<arr.length; x++) {
            if(x==arr.length-1) {
                sb.append(arr[x]);
            }else {
                sb.append(arr[x]).append(", ");
            }
        }

        sb.append("]");

        String s = sb.toString();

        return s;

    }
}

package com.company;


import java.util.Scanner;

/**
 * 把字符串反转
 * 举例:键盘录入”abc”
 * 输出结果:”cba”
 *
 * 分析:
 * 		A:键盘录入一个字符串数据
 * 		B:写方法实现字符串数据的反转
 * 			String -- StringBuilder -- reverse() -- String
 * 		C:调用方法
 * 		D:输出结果
 */



public class Main {
    public static void main(String[] args) {
        //键盘录入一个字符串数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s = sc.nextLine();

        //写方法实现字符串数据的反转

        //调用方法
        String result = myReverse(s);

        //输出结果
        System.out.println("result:"+result);

    }

    /*
     * 两个明确:
     * 		返回值类型:String
     * 		参数列表:String s
     */
    public static String myReverse(String s) {
        //String -- StringBuilder -- reverse() -- String
		/*
		StringBuilder sb = new StringBuilder(s);
		sb.reverse();
		String ss = sb.toString();
		return ss;
		*/

        return new StringBuilder(s).reverse().toString();
    }
}

Arrays类

package com.company;

import java.util.Arrays;

/*
 * Arrays:提供了对数组操作的各种方法。
 * public static String toString(int[] a):把数组转成字符串
 * public static void sort(int[] a):对数组进行升序排序
 */
public class Main {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = {24,69,80,57,13};

        //public static String toString(int[] a):把数组转成字符串
        System.out.println("排序前:"+Arrays.toString(arr));

        //public static void sort(int[] a):对数组进行升序排序
        Arrays.sort(arr);

        System.out.println("排序后:"+Arrays.toString(arr));
    }
}

Arrays类中有构造方法,只不过构造方法被private修饰,外界是无法使用的。
Arrays类的这种设计是常用的工具类的设计思想:
构造方法私有。
成员都用static修饰。

基本类型包装类

package com.company;



/*判断一个数据是否在int范围内
基本类型包装类:
		Byte	byte
		Short	short
		Integer	int
		Long	long
		Float	float
		Double	double
		Character	char
		Boolean	boolean
基本数据类型包装类最常见的用法就是用于和字符串之间进行相互转换
 */
public class Main {
    public static void main(String[] args) {
        //public static final int MAX_VALUE
        //static 修饰可以用类名直接访问
        System.out.println(Integer.MAX_VALUE);
        //public static final int MIN_VALUE
        System.out.println(Integer.MIN_VALUE);
    }
}

Integer类

package com.company;

/*
 * Integer:Integer类在对象中包装了一个基本类型 int 的值。
 *
 * 构造方法:
 * 		Integer(int value)
 * 		Integer(String s)
 * 			注意:这个字符串必须由数字字符组成
 */

public class Main {
    public static void main(String[] args) {
        //Integer(int value)
        int value = 100;
        Integer i = new Integer(value);
        System.out.println(i); //100
        System.out.println("------------");

        //Integer(String s)
        String s = "100";
        //NumberFormatException:数据格式化异常
        //String s = "abc";
        Integer ii = new Integer(s);
        System.out.println(ii);

    }
}

package com.company;

/*
 * int类型和String类型的相互转换
 *
 * int	--	String
 * 		String类中:public static String valueOf(int i)
 *
 * String	--	int
 * 		Integer类中:public static int parseInt(String s)
 */

public class Main {
    public static void main(String[] args) {
        //int	--	String
        int number = 100;
        //方式1
        String s1 = "" + number;
        System.out.println(s1);
        //方式2
        //public static String valueOf(int i)
        String s2 = String.valueOf(number);
        System.out.println(s2);
        System.out.println("--------------");

        //String  -- int
        String s = "100";
        //方式1
        //String -- Integer -- int
        Integer i = new Integer(s);
        //public int intValue()
        int x = i.intValue();
        System.out.println(x);
        //方式2
        //public static int parseInt(String s)
        int y = Integer.parseInt(s);
        System.out.println(y);

    }
}

// 练习::
package com.company;

import java.util.Arrays;

/*
 * /*
 * 我有如下一个字符串:”91 27 46 38 50”
 * 请写代码实现最终输出结果是:”27 38 46 50 91”
 * 提示:这里需要参考String类中的方法
 * public String[] split(String regex)
 * * 分析:
 * 		A:定义一个字符串对象
 * 		B:把字符串中的数字数据存储到一个int类型的数组中
 * 		C:对int数组进行排序
 * 		D:把排序后的数组中的元素进行拼接得到一个字符串
 * 		E:输出字符串
 */

public class Main {
    public static void main(String[] args) {
        //定义一个字符串对象
        String s = "91 27 46 38 50";

        //把字符串中的数字数据存储到一个int类型的数组中
        //public String[] split(String regex)
        String[] strArray = s.split(" ");
		/*
		for(int x=0; x<strArray.length; x++) {
			System.out.println(strArray[x]);
		}
		*/

        //定义一个int类型的数组
        int[] arr = new int[strArray.length];
        for(int x=0; x<arr.length; x++) {
            arr[x] = Integer.parseInt(strArray[x]);
        }

        //对int数组进行排序
        Arrays.sort(arr);

        //把排序后的数组中的元素进行拼接得到一个字符串
        StringBuilder sb = new StringBuilder();
        for(int x=0; x<arr.length; x++) {
            if(x==arr.length-1) {
                sb.append(arr[x]);
            }else {
                sb.append(arr[x]).append(" ");
            }
        }
        String result = sb.toString();

        //输出字符串
        System.out.println("result:"+result);

    }
}

package com.company;

import java.util.Arrays;

/*  自动装箱:把基本数据类型转换为对应的包装类类型
    自动拆箱:把包装类类型转换为对应的基本数据类型

 *
 */

public class Main {
    public static void main(String[] args) {
        //创建一个包装类类型的对象
        //Integer i = new Integer(100);
        Integer ii = 100; //自动装箱
        //public static Integer valueOf(int i)
        ii += 200; //ii = ii + 200; 自动拆箱,自动装箱
        //public int intValue()
        System.out.println(ii);

		/*
		Integer ii = Integer.valueOf(100);
		ii = Integer.valueOf(ii.intValue() + 200);
		System.out.println(ii);
		*/

        Integer iii = null;
        if(iii != null) {
            iii += 300; //NullPointerException
            System.out.println(iii);
        }

    }
}

Date类

package com.company;

import java.util.Date;

/*  Date:Date表示特定的瞬间,精确到毫秒。
 *
 * 构造方法:
 * 		Date():根据当前时间创建的日期对象
 * 		Date(long date):根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00

 */

public class Main {
    public static void main(String[] args) {
        //Date()
        Date d = new Date();
        System.out.println(d);

        //Date(long date)
        long date = 1000 * 60 * 60;
        Date dd = new Date(date);
        System.out.println(dd);

    }
}

package com.company;

import java.util.Date;

/*  public long getTime():获取的是毫秒值。从1970年1月1日 00:00:00开始的。
 * public void setTime(long time):设置时间,给的是毫秒值。
 *
 * 从Date得到一个毫秒值:
 * 		getTime()
 *
 * 从一个毫秒值得到一个Date对象
 * 		构造方法
 * 		setTime(long time)

 */

public class Main {
    public static void main(String[] args) {
        //创建对象
        Date d = new Date();

        //public long getTime()
        System.out.println(d.getTime());

        //public void setTime(long time)
        d.setTime(1000*60*60);
        System.out.println(d.getTime());

    }
}

SimpleDateFormat类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值