java学习系列4--常用类

1. 基本数据类型的包装类

//类型:Byte,Short,Integer,Character,Boolean,Long,Float,Double

//自动装箱,本质上,编译器编译时为我们添加了:Integer i = Integer.valueOf(100);
Integer i = 100;
//自动拆箱:本质上,编译器编译时为我们添加了:int a = new Integer(100).intValue();
int a = new Integer(100);

2. 字符串相关类

String str = "abca";
String str2 = "def";
//String类常用方法
char cha = str.charAt(0);//取第0个字符
boolean b1 = str.equals(str2);//比较内容是否相等
boolean b2 = str.equalsIgnoreCase(str2); //忽略大小写,比较是否内容相等
int i1 = str.indexOf("a"); //取str中字符串a的位置
int i2 = str.lastIndexOf("a"); //取str中字符串a最后一个出现的位置,没有返回-1
int len = str.length(); //返回字符串长度
String str3 = str.replace("a","ddd");//返回替换后的字符串
boolean b3 = str.startsWith("a");//返回是否字符串以a开头
boolean b4 = str.endsWith("a"); //返回字符串是否以a结尾
String str4 = str.substring(1); //截取字符串下标为1,到末尾
String str5 = str.substring(1,3); //截取字符串下标为1,2
str.toLowerCase();
str.toUpperCase(); //将字符串中的所有大小写进行转换
str.trim();//去掉字符串头部和尾部的空格

//String,StringBuilder,StringBuffer比较
String: 不可变字符序列
StringBuilder:可变字符串序列、效率高、线程不安全
StringBuffer: 可变字符串序列、效率低、线程安全

3. 时间处理相关类

//Date时间类:标准纪元1970.1.1 0点开始到某个时刻的毫秒数,类型是long。
Date  d = new Date(2000);

//DateFormat和SimpleDateFormat:完成字符串和时间对象的转化。

//把时间对象按照“格式字符串指定的格式”转成相应的字符串
DateFormat  df  = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");
String str  =  df.format(new Date(4001100));

//把字符串按照“格式字符串指定的格式”转成相应的时间对象
DateFormat  df2 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");

Date  date = df2.parse("1983年5月10日 10时45分59秒");

//测试其他的格式字符。比如:利用D,获得本时间对象是所处年份的第几天。
DateFormat  df3  = new SimpleDateFormat("D");
String str3  =  df3.format(new Date());

//Calendar日历类,GregorianCalendar公历类
//获得日期的相关元素
Calendar calendar = new GregorianCalendar(2999,10,9,22,10,50);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int  day = calendar.get(Calendar.DATE);        //也可以使用:DAY_OF_MONTH。
int weekday = calendar.get(Calendar.DAY_OF_WEEK);    //星期几。 1-7.  1:星期日,2星期一,。。。7是星期六。
//设置日期的相关元素
Calendar c2 = new GregorianCalendar();
c2.set(Calendar.YEAR, 8012);
//日期的计算
Calendar c3 = new GregorianCalendar();
c3.add(Calendar.YEAR, -100);
//日期对象和时间对象的转化
Date  d4 =  c3.getTime();
Calendar c4 = new GregorianCalendar();
c4.setTime(new Date());

4. 枚举类

只能够取特定值中的一个;

使用enum关键字;

所有的枚举类型隐形的继承自java.lang.Enum,每个枚举的成员默认都是public static final,可以直接通过枚举类型名直接使用他们;

强烈建议当你需要定义一组常量时,使用枚举类型;

尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要引入复杂性。

5. Math类和Random类

//取整相关操作
System.out.println(Math.ceil(3.2));
System.out.println(Math.floor(3.2));
System.out.println(Math.round(3.2));
System.out.println(Math.round(3.8));
//绝对值、开方、a的b次幂等操作
System.out.println(Math.abs(-45));
System.out.println(Math.sqrt(64));
System.out.println(Math.pow(5, 2));
System.out.println(Math.pow(2, 5));
//Math类中常用的常量
System.out.println(Math.PI);
System.out.println(Math.E);
//随机数
System.out.println(Math.random());// [0,1)

random() 生成[0,1)之间的随机浮点数
• 生成:0-10之间的任意整数:
  int a = (int)(10*Math.random());
• 生成:20-30之间的任意整数:
 int b = 20 + (int)(10*Math.random());

6. File类

文件和目录路径名的抽象表示形式。一个File对象可以代表一个文件或目录;

可以实现获取文件和目录属性等功能;

可以实现对文件和目录的创建、删除等功能;

File不能访问文件内容;

File file = new File("d:\\test\\java.txt");
File file = new File("d:/test/java.txt");
File file = new File("java.txt");
路径可以是绝对路径和相对路径,分隔符采用\\或者/

通过File对象可以访问文件的属性;

public String getName() public String getPath()
public boolean isFile() public boolean isDirectory()
public boolean canRead() public boolean canWrite()
public boolean exists() public long length()
public boolean isHidden() public long lastModified()
public File [] listFiles();

通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

public boolean createNewFile()throws IOException
public boolean delete()
public boolean mkdir(), mkdirs() 注意两个的区别!!

原文地址:https://www.cnblogs.com/Emking/p/12149124.html

时间: 2024-08-03 02:28:26

java学习系列4--常用类的相关文章

【原】Java学习笔记031 - 常用类

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 /* 6 * 类 Math:包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 7 * 8 * Math类的常用字段: 9 * static double E :比任何其他值都更接近 e(即自然对数的底数)的 double 值. 10 * static double PI :比任何其他

Java基础复习笔记系列 五 常用类

Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String s2 = “hello”:结论:s1 == s2. 字符串常量放在data区. 3. String s3 = new String("hello"); String s4 = new String("hello");结论:s3 != s4.但s3.equals(s4).

【小白的java成长系列】——String类的深入分析(基于源码)

接着前面面向对象来说吧~今天来说说String类..其实String类也包含很多面向对象的知识的~ 首先来问一个问题:我们在开发过程中,如果要使用一个类的话,就要创建对象,这句话没什么问题吧~在实际开发的时候确实是这样的,只有创建了对象才能真正的去使用一个普通的类,我们一般创建对象,几乎所有的类创建对象都是要通过new关键字来创建的~ 问题就来了..为什么我们的String可以直接写成String str = "abc";这样子呢? 当然String类也可以通过new来创建对象的...

Java学习-005-初学常用的几个经典循环控制源代码

最近一段时间公司 App 改版,一直处在需求评审.代码评审.测试计划.测试用例.用例评审.用例执行.缺陷管理.测试总结的循环中,因而博客也好久没有更新了.虽然工作确实忙了点,但是也是自己懒惰了,从今天开始陆续整理之前学习 Java 时写的 Java 程序,并记录在博客中,供自己查阅,也希望能给初学 Java 的亲们一份参考,希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 此文主要讲述在初学 Java 时,常用的几个经典的循环控制程序的源码整理.源代码测试通过日

Java学习中,常用的命令管理(Java 学习中的小记录)

Java学习中,常用的命令管理      作者:王可利(Star·星星) 一.Window中常见的dos命令 在哪里操作dos命令: Win7 ---> 开始  ---->所有程序--->附件---->命令提示符 Win7-->  开始  --->运行  ---->输入cmd 1.1 盘符的切换: 盘符眀+冒号  格式: 盘符: 例子: 想从C盘到D盘 C:/User/xxxx  D: 1.2 文件夹的操作 dir :显示当前文件夹中的所有文件和文件夹. cd 路

Java学习-049-正则工具类

自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: 1 public class RegUtils { 2 private static Logger logger = Logger.getLogger(RegUtils.class.getName()); 3 private static String msg = ""; 4 privat

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

【小白的java成长系列】——顶级类Object源码分析

首先来说一下api文档使用,api这个词对有一定开发经验的java编程人员来说是很喜爱的~ java当然也提供了api开发文档,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 找到下面的: 下载自己喜爱的版本即可,解压,点击~/jdk-7u60-apidocs/api/index.html就可以查看其api了: 跟上网一样一样的,点击相应链接就可以查看其信息了. 进入正题,说说Object这个类: 先

Java多线程系列十——BlockingQueue类

参考资料:http://ifeve.com/java-synchronousqueue/http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.htmlhttp://ifeve.com/java-blocking-queue/ BlockingQueue的几个API认识 方法 说明 add(E e) 添加元素,超出队列size上限后抛异常 offer(E e) 添加元素,超出队列size上限后抛异常,相比add官方更建议使用offer方