栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaSE中的常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE中的常用类

一、Date日期类

示例代码

二、构造方法与重载

1、构造方法与重载在Java基础中的作用

2、示例代码

三、包装类与基本数据类型

四 、字符串的本质与使用

五、实现商品批发总金额显示(三种方式存储数据)

------------------------------------------------------------------------------------------------------------------------------

一、Date日期类的使用

示例代码DateDemo

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateDemo {
    public static void main(String[] args) throws ParseException {
        //日期类
        Date date = new Date();
        System.out.println(date);
        System.out.println(date.getTime());
        System.out.println(date.getYear());

        //日期格式化类
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = dateFormat.format(date);
        System.out.println(format);

        String newDate = "2008-08-08 08:08:08";
        Date parse = dateFormat.parse(newDate);
        System.out.println(parse);

        //日历类
//        Calendar calendar = Calendar.getInstance();
        Calendar calendar = new GregorianCalendar();
        System.out.println(calendar.getTime());
        calendar.setTime(parse);
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH) + 1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println(calendar.get(Calendar.MINUTE));
        System.out.println(calendar.get(Calendar.SECOND));
    }
}

二、构造方法与重载

1、构造方法与重载在Java基础中的作用

构造方法与重载:

定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。

在建立类的实例时把以上三个信息都作为构造函数的参数输入,

其中用户 ID 和用户密码存在时,email缺省时 ,email地址是用户 ID 加上字符串"@gameschool.com"。

public class NetUser {
    private String ID;

    private String password;

    private String email;

    public NetUser(String ID,String password,String email){
        this.ID = ID;
        this.password = password;
        this.email = email;
    }

    public NetUser(String ID, String password) {
        this.ID = ID;
        this.password = password;
    }

    public void checkEmail(){
        if(this.email != null){
            this.email = email;
        }else{
            this.email = this.ID + "@gameschool.com";
        }
    }

    @Override
    public String toString() {
        return "NetUser{" +
                "ID='" + ID + ''' +
                ", password='" + password + ''' +
                ", email='" + email + ''' +
                '}';
    }

    public static void main(String[] args) {
        NetUser netUser = new NetUser("10001","6666666","ilovejava@sina.com");
        netUser.checkEmail();
        System.out.println(netUser);
        System.out.println("****************************************************");
        NetUser netUser2 = new NetUser("10002","8888888");
        netUser2.checkEmail();
        System.out.println(netUser2);

    }
}

编写 Java 程序用于显示人的姓名和年龄。
定义一个人类Person。
该类中应该有两个私有属性:
姓名 (name) 和年龄 (age) 。
定义构造方法用来初始化数据成员。再定义显示(display()) 方法将姓名和年龄打印出来。
在main 方法中创建人类的实例然后将信息显示。

public class Person {
    private String name;

    private int age;

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

    public void display(){
        System.out.println("姓名:" + this.name + ",年龄:" + this.age);
    }

    public static void main(String[] args) {
        Person person = new Person("小白",22);
        person.display();
    }
}

三、包装类与基本数据类

包装类是将基本数据类型封装成一个类,包含属性和方法

 使用:

 在使用过程中,会涉及到自动装箱和自动拆箱

 装箱:将基本数据类型转换成包装类

 拆箱:将包装类转换成基本数据类型

public class TestInteger {
    public static void main(String[] args) {
//        int a = 10;
        //自动装箱
//        Integer a1 = Integer.valueOf(a);
//        Integer i = new Integer(10);
        //自动拆箱
//        i = i.intValue();
//        System.out.println(a == i);

//        Integer i1 = 100;
//        Integer i2 = 100;
//        Integer i3 = 200;
//        Integer i4 = 200;
//        System.out.println(i1 == i2);
//        System.out.println(i3 == i4);

//        Double d1 = 10.0;
        //自动装箱
//        Double d1 = Double.valueOf(10.0);
//        Double d2 = 10.0;
//        Double d3 = 20.0;
//        Double d4 = 20.0;
//        System.out.println(d1 == d2);
//        System.out.println(d3 == d4);

        //字符串类型转化成Integer类型
//        String s = "123";
//        Integer i1 = Integer.valueOf(s);
//        int i2 = Integer.parseInt(s);
//        Integer i3 = new Integer(s);
//        System.out.println(i3 + 1);

//        String s = "abc";
//        int i = Integer.parseInt(s);


        //Integer类型转化成字符串类型
        Integer i = 10;
        String s1 = i.toString();
        String s2 = String.valueOf(i);
        String s3 = i + "";
        System.out.println(s3 + 1);

        //String-->double  ?

    }
}

四 、字符串的本质与使用

注意:常量池在1.7之后放置在了堆空间之中
       字符串的使用:
           1、创建
               String str = "abc";
               String str2 = new String("abc");
               两种方式都可以用,只不过第一种使用比较多
          2、字符串的本质
                字符串的本质是字符数组或者叫做字符序列
                String类使用final修饰,不可以被继承
                使用equals方法比较的是字符数组的每一个位置的值
                String是一个不可变对象

public class TestString {

    public static void main(String[] args) {
//        String s1 = "abc";
//        String s2 = new String("abc");
//        s2 = s2.intern();
//        System.out.println(s1 == s2);
//        System.out.println(s1.equals(s2));


//        String s = "abcdefghijkalmnopqrst";
        //取出指定下标的字符
//        System.out.println(s.charAt(2));
        //数组拷贝的操作
//        System.out.println(s.concat("123"));
        //获取指定字符在字符串中第一次出现的索引值
//        System.out.println(s.indexOf("a"));
//        System.out.println(s.length());
        //获取一个从指定下标开始一直到结尾的子字符串
//        System.out.println(s.substring(2));
        //截头不结尾
//        System.out.println(s.substring(2,6));

//        String s1 = "abc";
//        String s2 = new String("abc");
//        s2 = s2.intern();
//        System.out.println(s1 == s2);

//          String a = "abc";
//          String b = "def";
//          String c = "abcdef";
//          String d = (a + b).intern();
//          String e = "abc" + "def";
//          System.out.println(c == d);
//          System.out.println(c == e);

//        String s = "a" + "b" + "c";
//        String s1 ="a";
//        String s2 = "b";
//        String s3 = "c";
//        String ss = s1 + s2 + s3;

    }
}

五、实现商品批发总金额显示

Product.java

public class Product {
    private  int proId;

    private String proName;

    private double price;

    public Product() {
    }

    public Product(int proId, String proName,double price) {
        this.proId = proId;
        this.proName = proName;
        this.price = price;
    }

    public int getProId() {
        return proId;
    }

    public void setProId(int proId) {
        this.proId = proId;
    }

    public String getProName() {
        return proName;
    }

    public void setProName(String proName) {
        this.proName = proName;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return
               "t" +proName + "t"
                ;
    }
}

Goods.java(定义数组存储数据)

package Goods;

import java.util.Scanner;

public class Goods {

    //定义数组存储商品名称
    String[] products = new String[]{"电风扇","洗衣机","电视机","冰箱","空调机"};

    //定义数组存储商品价格
    double[] prices = new double[]{124.23,4500.0,8800.9,5000.88,4456.0};

    //登录验证
    public boolean login(){
        //标识登录是否成功
        boolean flag = false;
        Scanner input = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String username = input.next();
        System.out.print("请输入密码:");
        String password = input.next();
        //验证
        if("TOM".equals(username) && ("123").equals(password)){
            System.out.println("登录成功");
            //修改标志位
            flag = true;
        }
        return flag;
    }

    //指定格式显示总金额
    public String change(double price){
        StringBuffer stringBuffer = new StringBuffer(String.valueOf(price));
        //处理价格的字符串,每三位加,
        for (int i = stringBuffer.indexOf(".") - 3; i > 0 ; i = i-3) {
            //添加,
            stringBuffer.insert(i,",");
        }
        return stringBuffer.toString();
    }

    //显示商品列表
    public void show(){
        System.out.println("****************欢迎进入商品批发城****************");
        System.out.println("tt编号t商品t价格");
        //遍历数组
        for (int i = 0; i < products.length; i++) {
            System.out.print("tt" + (i+1));
            System.out.print("tt" + products[i]);
            System.out.print("tt" + change(prices[i]) + "n");
        }
    }

    //测试
    public static void main(String[] args) {
        //创建对象
        Goods goods = new Goods();
        Scanner input = new Scanner(System.in);
        //验证用户是否合法
        if(goods.login()){
            //显示商品列表
            goods.show();
            System.out.print("请输入您批发的商品编号:");
            int proId = Integer.parseInt(input.next());
            System.out.print("请输入批发数量:");
            int proNum = Integer.parseInt(input.next());
            //定义一个变量来存储最终的总价格
            double totalPrice = goods.prices[proId-1] * proNum;
            System.out.println("您需要付款:" + goods.change(totalPrice));
        }
    }

}

Goods2.java(定义对象数组存储数据)

package Goods;

import java.util.Scanner;

public class Goods2 {

    //    定义对象数组存储数据
    Product[] products = new Product[]{
            new Product(1, "电风扇", 124.23),
            new Product(2, "洗衣机", 4500.0),
            new Product(3,"电视机",8800.9),
            new Product(4,"冰箱",5000.88),
            new Product(5,"空调机",4456.0)
    };

    //    登录验证
    public boolean login() {
//        标识登录是否成功
        boolean flag = false;
        Scanner inPut = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String Username = inPut.next();
        System.out.print("请输入密码:");
        String password = inPut.next();
        if ("TOM".equals(Username) && "123".equals(password)) {
//            修改标志位
            flag = true;
            System.out.println("登录成功!");
        }
        return flag;
    }

    //    指定格式显示总金额
    public String change(double price){
        StringBuffer stringBuffer = new StringBuffer(String.valueOf(price));
        //处理价格的字符串,每三位加,
        for (int i = stringBuffer.indexOf(".") - 3; i > 0 ; i = i-3) {
            //添加,
            stringBuffer.insert(i,",");
        }
        return stringBuffer.toString();
    }

    //显示商品列表
    public void show() {
        System.out.println("***************欢迎进入商品批发城***************");
        System.out.println("tt编号t商品t价格");
//        遍历数组
        for (int i = 0; i < products.length; i++) {
            System.out.print("tt" + products[i].getProId());
            System.out.print("t" +  products[i].getProName());
            System.out.print("t" + change(products[i].getPrice()) + "n");
        }
        System.out.println("***************************************");
    }

    public static void main(String[] args) {
//        创建对象
        Goods2 goods = new Goods2();
        Scanner input = new Scanner(System.in);
//        验证登录是否合法
        if (goods.login()) {
//            显示商品列表
            goods.show();
            System.out.print("请输入您批发的商品编号:");
            int proId = Integer.parseInt(input.next());
            System.out.print("请输入批发数量:");
            int proNum = Integer.parseInt(input.next());
            //定义一个变量来存储最终的总价格
            double totalPrice = goods.products[proId - 1].getPrice() * proNum;
            System.out.print("您需要付款:" + goods.change(totalPrice));
        }
    }
}

Goods3.java(定义集合存储数据)

package Goods;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class Goods3 {

    //    定义集合存储数据
    List list =new ArrayList();
    public Goods3(){
        list.add(new Product(1, "电风扇", 124.23));
        list.add(new Product(2, "洗衣机", 4500.0));
        list.add(new Product(3,"电视机",8800.9));
        list.add(new Product(4,"冰箱",5000.88));
        list.add(new Product(5,"空调机",4456.0));
    }


    //    登录验证
    public boolean login() {
//        标识登录是否成功
        boolean flag = false;
        Scanner inPut = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String Username = inPut.next();
        System.out.print("请输入密码:");
        String password = inPut.next();
        if ("TOM".equals(Username) && "123".equals(password)) {
//            修改标志位
            flag = true;
            System.out.println("登录成功!");
        }
        return flag;
    }

    //    指定格式显示总金额
    public String change(double price) {
        StringBuffer stringBuffer = new StringBuffer(String.valueOf(price));
        //处理价格的字符串,每三位加,
        for (int i = stringBuffer.indexOf(".") - 3; i > 0; i = i - 3) {
            //添加,
            stringBuffer.insert(i, ",");
        }
        return stringBuffer.toString();
    }

    //    显示商品列表
    public void show() {
        System.out.println("***************欢迎进入商品批发城***************");
        System.out.println("tt编号" + "t商品" + "t价格");
//        遍历数组
        for (Product product :list) {
            System.out.print("tt" + product.getProId());
            System.out.print("t" + product.getProName());
            System.out.print("t" + change(product.getPrice()) + "n");
        }
        System.out.println("***************************************");
    }

    public static void main(String[] args) {
//        创建对象
        Goods3 goods = new Goods3();
        Scanner input = new Scanner(System.in);
//        验证登录是否合法
        if (goods.login()) {
//            显示商品列表
            goods.show();
            System.out.print("请输入您批发的商品编号:");
            int proId = Integer.parseInt(input.next());
            System.out.print("请输入批发数量:");
            int proNum = Integer.parseInt(input.next());
            //定义一个变量来存储最终的总价格
            double  price= 0;
            //遍历集合,取出对应商品编号的价格
            for (Iterator iterator = goods.list.iterator();iterator.hasNext();){
                Product product = iterator.next();
                //根据输入的商品编号获取对应商品的价格
                if(proId == product.getProId()){
                    price = product.getPrice();
                }
            }
            double totalPrice =price* proNum;
            System.out.print("您需要付款:" + goods.change(totalPrice));
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号