第十八章:常用类
一、main方法解读:
 public static void main(String[] args)
//当点击运行时,JVM会自动调用main方法
//public: 被JVM调用的方法,他的权限要足够大
//static: 被JVM调用的方法,不需要创建对象,直接通过类名调用
//void: 被JVM调用的方法,不需要返回值
//main: 方法的名称,只能这样写,不然jvm识别不了
//String [] args:以前指的是键盘的录入

二、Scanner类:

 Scanner sc = new Scanner(System.in);
//等待从键盘录入一个int类型的数,
int i = sc.nextInt();
System.out.println(i);
三、System类:
1、Arraycopy
public static void main(String[] args) {
// src - 源数组。
//srcPos - 源数组中的起始位置。
//dest - 目标数组。
//destPos - 目标数据中的起始位置。
//length - 要复制的数组元素的数量。
int [] src = {1,2,3,4,5,6};
int [] desc = new int[10];
System.arraycopy(src, 3, desc, 3, 3);
System.out.println(Arrays.toString(src));
System.out.println(Arrays.toString(desc));
//结果:
// [1, 2, 3, 4, 5, 6]
// [0, 0, 0, 4, 5, 6, 0, 0, 0, 0]

2、System.currentTimeMillis() ;   计算代码耗时

public static void main(String[] args) {
//获取当前时间的毫秒值 1s等于1000毫秒
//从197----现在的时间
long time1 = System.currentTimeMillis();
for(int i=0;i<10000;i++){
System.out.println(i);
}
long time2 = System.currentTimeMillis();
long time3 = time2-time1;
System.out.println("总耗时:"+time3);

3、退出程序:System.exit(0);

//终止当前正在运行的 Java 虚拟机。
System.exit(0);

4、启动自动立即回收机制:

new SystemMethod();
new SystemMethod();//匿名对象,匿名对象只运行一次, 之后就等大gc回收。
//立即运行垃圾回收器。
System.gc();
四、Math类:
1、求两个数的最大值:
//求两个数的最大值,最小值用min同理
int res = Math.max(10,20);
System.out.println(res);

2、开平方根:

//求4的平方根
double res = Math.sqrt(4);
System.out.println(res);

3、Math.random();

//返回[0 1) 之间的一个随机数
Math.random();

4、大精度小数BigDecimal:

//float  double  只能表示小数,不能表示精确的小数
public static void main(String[] args) {
//表示金钱都用BigDecimal
BigDecimal big1 = new BigDecimal("0.01");
BigDecimal big2 = new BigDecimal("0.09");
BigDecimal big3 = big1.add(big2);
System.out.println(big3);
}
五、字符串:
1、什么是字符串?
    把多个字符串起来。
2、字符串创建:
String str = "myxq";//直接创建
String str = new String("myxq");//通过构造器创建

3、字符串分类:

1.不可变字符串:String           效率低, 定义好之后就不能改变(内存地址)
2.可变字符串:StringBuilder/StringBuffer        效率高,StirngBuilder更高,但是StringBuffer安全,定义好之后还能进行修改地址

4、字符串为空的两种形式:

String str = null;
String str = "";

5、比较两个字符串是否相等:

 //方法一
if(str == str2){
System.out.println("是相等的");
}else{
System.out.println("其实不相等");
}
//方法二
if(str.equals(str2)){
System.out.println("是相等的");
}else{
System.out.println("其实不相等");
}

6、字符串内存分析:

 String str1 = "ABCD";
String str2 = "ABCD";
String str3 = "abc"; String str4 = new String("ABCD");
String str5 = new String("myxq");

7、char 数组转换成字符串:

 //把一个char数组转换成字符串
char[] c1 = new char[]{'A','b','c'};
String str1 = new String(c1);
System.out.println(str1);

8、字符串转换为char数组:

String str1 = "abc";
char[] c2 = str1.toCharArray();
System.out.println(c2);

9、获取字符串当中指定位置的字符:

//获取字符串当中的信息
String str2 = "myxq";
System.out.println(str2.charAt(2));

10、获取字符串的长度:

 //获取字符串当中的信息
String str2 = "myxq";
//返回字符串长度
System.out.println(str2.length());

11、返回一个子字符串在另一个字符串中第一次出现的位置:

 //返回一个字符串在另一个字符串当中出现的第一个位置
String str3 = "ABCDEFGCDOOL";
String str4 = "CD";
System.out.println(str3.indexOf(str4));

12、返回一个子字符串在另一个字符串中最后一次出现的位置:

 String str3 = "ABCDEFGCDOOL";
String str4 = "CD";
//返回一个字符串在另一个字符串当中出现的最后一个位置
System.out.println(str3.lastIndexOf(str4));

13、把所有字母变成大写:

 System.out.println(str3.toUpperCase());//小写的话方法名变为toLowerCase

14、忽略大小写比较两个字符串是否相等:

 System.out.println(str4.equalsIgnoreCase(str5));

15、用一个字符可以对字符串做一个分割,返回的是一个数组:

 String fileNames = "abc.java;hello.java;hello.txt;hello.java.txt";
String[] res = fileNames.split(";");
System.out.println(Arrays.toString(res));

16、是否以指定的字符串开头:

 String str = "myxq123";
boolean res = str.startsWith("my");
System.out.println(res);

17、获取从指定位置开始,到指定位置结束之间的字符

 String str = "myxq123";
String res = str.substrign(1,4);
System.out.println(res);

18、去掉字符串两端的空格:

 String str = " my xqqq ";
str = str.trim();

19、使用一个新字符替换字符串中的老字符:

 String str = " my xqqq ";
String newStr = str.replace("d","q");// 用新的字符代替旧的字符

六、UUID

 //UUID  通用唯一识别符
//在一台机器上,生成的数字
//根据当前的时间,,电脑的网卡,生成的一段字符
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);

JAVA知识点总结(五)(常用类)的更多相关文章

  1. Java集合框架(常用类) JCF

    Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...

  2. Java && Python 算法面试常用类以及方法总结

    数据结构 逻辑结构上: 包括集合,线性结构,非线性结构. 存储结构: 顺序存储,链式存储,索引存储,散列存储. Java 常见数据结构 大专栏  Java && Python 算法面试 ...

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

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  4. Java基础——6种常用类讲解

    本文主要介绍几种Java中常用类的应用. 一.System类 从API当中我们可以看出,public final class System exends Object.System类包含一些有用的字段 ...

  5. Java(三)常用类

    @ 目录 Java常用类 一.字符串相关的类 1.String类 2.StringBuffer类 3.StringBuilder类 二.JDK8以前的日期时间API 1.java.lang.Syste ...

  6. JAVA基础知识之IO——Java IO体系及常用类

    Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...

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

    package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...

  8. Java中几个常用类

    1.1 包装类 把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lang包中 Number 类 ...

  9. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  10. Java基础11一常用类

    1.包装类 byte---java.lang.Byte char---java.lang.Character short—java.lang.Short int---java.lang.Integer ...

随机推荐

  1. 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的

    前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...

  2. 随笔编号-16 MySQL查看表及索引大小方法

    目标:阿里云OS数据库DMS,单个主库最大存储空间为2T.最近公司业务扩展很快,一天数据量达到7.9G左右.要求备份清理历史数据,备份到其他磁盘. 准备: 如果想知道MySQL数据库中每个表占用的空间 ...

  3. Selenium3 + Python3自动化测试系列九——cookie操作

    cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...

  4. python 32 操作系统与进程

    目录 1. 操作系统 1.1 作用 1.2 操作系统的发展 2. 进程的理论 2.1 相关名词 2.2 进程的创建 2.3 进程的状态: 1. 操作系统 ​ 管理.控制.协调计算机硬件与软件资源的计算 ...

  5. 线程、进程的区别,Java的几个线程状态

    线程.进程的区别        进程的定义:进程就是程序在一个数据集合上的一次执行过程.他与程序的区别在于程序是静态的代码,而进程是动态的执行过程. 进程的特性:1.结构性,进程由程序块.数据块.进程 ...

  6. GO.Web服务

    Web基础 Web服务器的一般工作原理可以简单地归纳为: 客户机浏览器通过TCP/IP协议建立到服务器的TCP连接 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档 服务器向客户机发送HT ...

  7. fiddler的安装与使用(二)使用fiddler捕获会话信息

    前章回顾: 上一遍文章我们已经安装好了fiddler,并解了fiddler的工作原理,接下来开始使用fiddler捕获浏览器会话信息. fiddler基本界面: 首先启动fiddler,然后打开浏览器 ...

  8. B-xor_2019牛客暑期多校训练营(第四场)

    题意 给出n个数组(每组数个数不定),m个询问 l, r, x 序号在区间\([l,r]\)的每个数组是否都可以取出任意个数异或出x 题解 判断一个数组能否异或出x,是简单的线性基问题 判断多个线性基 ...

  9. 2018宁夏邀请赛 Continuous Intervals(单调栈 线段树

    https://vjudge.net/problem/Gym-102222L 题意:给你n个数的序列,让判断有几个区间满足排完序后相邻两数差都不大于1. 题解:对于一个区间 [L,R],记最大值为 m ...

  10. Codeforces Round #480 (Div. 2) C - Posterized

    题目地址:http://codeforces.com/contest/980/problem/C 官方题解: 题解:一共256个像素网格,可以把这个256个分组,每个分组大小<=k.给出n个像素 ...