前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础学习(3)

Java基础学习(3)

作者头像
爱学习的小超人
发布2022-11-14 16:15:34
3820
发布2022-11-14 16:15:34
举报
文章被收录于专栏:SuperXCRMySQL

创建对象

1.1 Java 包管理器

Java当中导入包语句 import 包含 + 类名 包名+类名组成了完整的包路径

import
代码语言:javascript
复制
import java.time.LocalDate;//包路径


public class DateTest {

  public static void main(String[] args) {
    // 得到当前的完整时间
    LocalDate now = LocalDate.now();//now()指服务器的时间
    // 打印出时间
    System.out.println(now.toString());
  }
}
DateTimeFormatter 自定义时间日期格式

方法

代码语言:javascript
复制
//前提把time转换成字符串
DateTimeFormatter df = DateTimeFormatter.ofpattern("yyyy年MM月dd日");
String timeStr = df.format(time);
System.out.println(timeStr);

年份 月份 日 星期 输出

代码语言:javascript
复制
public static void main(String[] args) {

   LocalDate time = LocalDate.now();

   // 得到当前时间所在年
   int year = time.getYear();
   System.out.println("当前年份 " + year);         //年

   // 得到当前时间所在月
   int month = time.getMonth().getValue();
   System.out.println("当前月份 " + month);        //月

   // 得到当前时间在这个月中的天数
   int day = time.getDayOfMonth();
   System.out.println("当前日 " + day);            //天

   // 得到当前时间所在星期数
   int dayOfWeek = time.getDayOfWeek().getValue();
   System.out.println("当前星期 " + dayOfWeek);    //星期

 }

注:getMonth() 和 getDayWeek() 方法返回值不是具体的数字,而是一个对象(Java官方的设计),所以必须用getValue()得到具体数字

1.2 时间日期类的运用
字符串变成LocalDate类型 prase方法
代码语言:javascript
复制
String date = "2019-01-01";
//把字符串转化为 LocalDate对象,并得到字符串匹配的日期
LocalDate date2 = LocalDate.parse(date);

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

示例②

代码语言:javascript
复制
String date = "2019/01/01";

DateTimeFormatter df = DateTimeFormatter.ofpatern("yyyy/MM/dd");
// 把字符串转化位 LocalDate 对象,并得到字符串匹配的日期
LocalDate date2 = LocalDate.prase(date,df);

System.out,println(date2.toString());
时间日期计算 plusDays(天数) 方法

plusDays 加天数

minusDays 减天数

代码语言:javascript
复制
    LocalDate leaveTime = getLeaveTime("2019-05-01", 4);
    System.out.println(leaveTime.toString());
  }

  /**
   * 根据入住时间和入住天数得到离店时间
   *
   * @param checkInTime
   * @param days
   * @return
   */
  public static LocalDate getLeaveTime(String checkInTime, int days) {
    // 把字符串转化为 LocalDate 类型
    LocalDate time = LocalDate.parse(checkInTime);
    // 使用 plusDays 添加天数,得到新的时间
    LocalDate leaveTime = time.plusDays(days);
    return leaveTime;
  }

}
两个日期时间的判断

注意判断方法

代码语言:javascript
复制
import java.time.LocalDate;

public class DateTest11 {

  public static void main(String[] args) {

    LocalDate now = LocalDate.now();

    // 可以对两个 LocalDate 进行比较,
    // 可以判断一个日期是否在另一个日期之前或之后,
    // 或者判断两个日期是否是同年同月同日。

    boolean isBefore = now.minusDays(1).isBefore(LocalDate.now());

    System.out.println("是否在当天之前:" + isBefore);

    boolean isAfter = now.plusDays(1).isAfter(LocalDate.now());
    System.out.println("是否在当天之后:" + isAfter);


    // 判断是否是当天
    boolean sameDate = now.isEqual(LocalDate.now());
    System.out.println("是否在当天:" + sameDate);
  }

}
1.3 面向对象—抽象

对象的建立

创建Java类文件有四个规范需要遵守

  • 文件名由 类名 + .java组成,比如 HelloWorld.java
  • 类名遵循大驼峰命名法,首字母大写,另外类名里不能有中文和特殊符号(比如:&,#,@,*,等),只有字母和数字。比如: HelloWorld,Text,Text40
  • Java 类内容遵守固定格式
代码语言:javascript
复制
public class 类名称{

}
1.4 面向对象 — 包
创建包和包下面的类

com.superxcr.text 对应 str/main/java/com/superxcr/text

注意包名输入

SuperXCR域名:liqur.xyz

包名:com.superxcr

代码语言:javascript
复制
com.superxcr.testl.Hello.java
包名:com.youkeda.text
package com.superxcr.test;//包,一般只有一个,且在第一行

public class Hello {

}
如何引入自定义的类
代码语言:javascript
复制
package com.superxcr.test;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
//引入 House 类对象
import com.superxcr.model.House;

public class Hello {

}
1.5 面向对象—属性/方法

特征称为 对象属性 行为称为 对象方法

完整抽象过程分别是抽象对象名称,对象属性,对象方法。

对象属性
代码语言:javascript
复制
public class House {
    // 房子的颜色是绿色
    public String color = "green";
    // 房子的卧室有2间
    public int bedRooms = 2;
}

public 代表公共变量的意思。除了public,还有protected,private

对象方法
代码语言:javascript
复制
public class House {
    // 房子的颜色是绿色
    public String color = "green";
    // 房子的卧室有2间
    public int bedRooms = 2;

    /**
     * 打开水龙头
     */
    public void runWater(){

    }

    /**
     * 打开电灯
     */
    public void turnLightsOn(){

    }
}

没有static的方法就叫做对象方法,有static的方法就称为静态方法。

例如

代码语言:javascript
复制
/**
 * 打开电灯
 */
public void turnLightsOn(){

}
1.6 实例化对象
实例化
代码语言:javascript
复制
//我的房子
House myHouse = new House();

//你的房子
House youHouse = new House();

//她的房子
House herHouse = new House();

在实例化后才可以执行命令

代码语言:javascript
复制
youHouse.tirnLightOn();
代码语言:javascript
复制
herHouse.color = "red";
构造函数
代码语言:javascript
复制
new 构造函数();

①它的类名是和类名一样

比如House.java这个类的构造函数名称就是House,绝大多数情况下构造函数都是由Java系统自动创建

②构造函数这个方法是没有返回值的

代码语言:javascript
复制
public class House{
    //这就是默认的构造函数
    public House(){
    }
}

③构造函数一般配合实例化一起使用的,可以把构造函数当作类对象的初始化方法

1.7 构造函数
带参数构造函数
代码语言:javascript
复制
House myHouse = new House();
myHouse.color = "red";
代码语言:javascript
复制
myHouse.color = "red";
代码语言:javascript
复制
public class House {
    // 房子的颜色是绿色
    public String color = "green";

    // 自定义一个带 color 参数的构造函数
    public House(String color){
      this.color = color;//等同于myHouse.color = "red";
    }
}
File

首先要 import java.io.File

代码语言:javascript
复制
// 实例化一个文件实例,指向到 d:/img/a.png 文件
File file = new File("d:/img/a.png");

代码语言:javascript
复制
//根据parent路径名字符串和child路径名字符串创建一个新 File 实例
File(String parent, String child)

//通过给定的父文件对象和子路径名字符串创建一个新的File实例
File(File parent, String child)

代码语言:javascript
复制
// 返回字节数
public long length()

代码语言:javascript
复制
//得到文件大小的字节数
long size = file.length();

File 对象的其他方法:

​ | | |

​ v v v

详细请看最下方
1.8 ArrayList
ArrayList语法

ArrayList 本质上就是一个动态组对象,可以方便的存储集合对象,一般会把同类型的数据存储在ArrayList里,使用ArryayList就要实例化,使用new关键词,并且要指定对象

代码语言:javascript
复制
// 这里的 Java 对象类型可以是任意的对象类型
// 比如 String、Integer、House 等
// 这里的 <> 是 Java 泛型的规范,记住这个语法就行了
ArrayList<Java 对象类型> list = new ArrayList<>();

注意一下,ArrayList这个对象放在java.util包下,所以要用import

代码语言:javascript
复制
import java.util.ArrayList;
Add方法
代码语言:javascript
复制
import java.util.ArrayList;

public class ArrayListTest1{

  public static void main(String[] args){
    // 创建一个 ArrayList 存储字符串集合
    ArrayList<String> strs = new ArrayList<>();

    // 添加数据到 ArrayList 实例里
    strs.add("张三");
    strs.add("李四");
  }
}

get/size方法

ArrayList 是动态数组,具备数组特点

  • 可以获取长度
  • 可以根据索引获取具体值get(索引),ArrayList的索引是从0开始的 一般用index来索引
for循环的两种写法
代码语言:javascript
复制
for(int i=0;i<size;i++){
     // 根据索引获取值,值的类型是 String
     String str = strs.get(i);
     System.out.println(str);
  }

代码语言:javascript
复制
// 使用 for 循环迭代每一条记录
  for(String str : strs){
     System.out.println(str);
  }

分析

代码语言:javascript
复制
ArrayList<String> strs = new ArrayList<>();
for(String str : strs){
  System.out.println(str);
}

代码语言:javascript
复制
for( 集合变量的类型 变量名称 : 集合变量 )

格式

代码语言:javascript
复制
for(String str : strs){
    
}
Map
img
img

Map(映射)是遵循key:value这样的形式的集合。key,value的类型可以是任何Java对象

代码语言:javascript
复制
import java.util.Map;
import java.util.HashMap;

// key value 得是 Java 类型
Map<key,value> map = new HashMap<>();
代码语言:javascript
复制
// 实例化Map对象
Map<Integer,String> map = new HashMap<>();

map.put(1,"Monday");
map.put(2,"Tuesday");
map.put(3,"Wednesday");
map.put(4,"Thursday");
map.put(5,"Friday");
map.put(6,"Saturday");
map.put(7,"Sunday");

map.get(key)

代码语言:javascript
复制
String weekText = map.get(3);
System.out.println(weekText);

代码语言:javascript
复制
int size = map.size();
System.out.println(size);

Map遍历

因为是key :value格式

代码语言:javascript
复制
for (Map.Entry<Integer,String> entry : map.entrySet()){

  System.out.println("Key = " + entry.getKey() +
                 ", Value = " + entry.getValue());
}

调用reply方法传入send()方法接受信息

代码语言:javascript
复制
public String send(String message) {
        String reply = robot.reply(message);
        return reply;
    }
File 对象的其他方法:
代码语言:javascript
复制
File 对象的其他方法
1 public String getName()
返回由此抽象路径名表示的文件或目录的名称。

2 public String getParent()、
返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null。

3 public File getParentFile()
返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null。

4 public String getPath()
将此抽象路径名转换为一个路径名字符串。

5 public boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。

6 public String getAbsolutePath()
返回抽象路径名的绝对路径名字符串。

7 public boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件。

8 public boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件。

9 public boolean exists()
测试此抽象路径名表示的文件或目录是否存在。

10 public boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。

11 public boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。

12 public long lastModified()
返回此抽象路径名表示的文件最后一次被修改的时间。

13 public long length()
返回由此抽象路径名表示的文件的长度。

14 public boolean createNewFile() throws IOException
当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。

15 public boolean delete()
删除此抽象路径名表示的文件或目录。

16 public void deleteOnExit()
在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。

17 public String[] list()
返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。

18 public String[] list(FilenameFilter filter)
返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。

19 public File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。

20 public File[] listFiles(FileFilter filter)
返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。

21 public boolean mkdir()
创建此抽象路径名指定的目录。

22 public boolean mkdirs()
创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。

23 public boolean renameTo(File dest)
重新命名此抽象路径名表示的文件。

24 public boolean setLastModified(long time)
设置由此抽象路径名所指定的文件或目录的最后一次修改时间。

25 public boolean setReadOnly()
标记此抽象路径名指定的文件或目录,以便只可对其进行读操作。

26 public static File createTempFile(String prefix, String suffix, File directory) throws IOException
在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。

27 public static File createTempFile(String prefix, String suffix) throws IOException
在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。

28 public int compareTo(File pathname)
按字母顺序比较两个抽象路径名。

29 public int compareTo(Object o)
按字母顺序比较抽象路径名与给定对象。

30 public boolean equals(Object obj)
测试此抽象路径名与给定对象是否相等。

31 public String toString()
返回此抽象路径名的路径名字符串。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建对象
    • 1.1 Java 包管理器
      • import
      • DateTimeFormatter 自定义时间日期格式
    • 1.2 时间日期类的运用
      • 字符串变成LocalDate类型 prase方法
      • 时间日期计算 plusDays(天数) 方法
      • 两个日期时间的判断
    • 1.3 面向对象—抽象
      • 1.4 面向对象 — 包
        • 创建包和包下面的类
        • 如何引入自定义的类
      • 1.5 面向对象—属性/方法
        • 对象属性
        • 对象方法
      • 1.6 实例化对象
        • 实例化
        • 构造函数
      • 1.7 构造函数
        • 带参数构造函数
        • File
        • File 对象的其他方法:
        • 详细请看最下方
      • 1.8 ArrayList
        • ArrayList语法
        • Add方法
        • get/size方法
        • for循环的两种写法
        • Map
      • File 对象的其他方法:
      相关产品与服务
      数据保险箱
      数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档