Day10

Day10

冒泡排序

冒泡排序:就是相邻的两个元素进行两两比较,把元素值大的元素依次向后排

public static void sort(int[] arr) {
    for(int x=0; x<arr.length-1; x++) {
        for(int y=0; y<arr.length-1-x; y++) {
            if(arr[y] > arr[y+1]) {
                int temp = arr[y];
                 arr[y] = arr[y+1];
                    arr[y+1] = temp;
               }
           }
      }
    }

Arrays工具类

Arrays:提供了对数组操作的各种方法

public static String toString(int[] a):把数组转成字符串
public static void sort(int[] a):对数组进行升序排序

包装类

包装类为了对基本数据类型进行更多更方便的操作,Java就针对每一种基本数据类型提供了一个对应的引用类型 基本数据类型包装类最常见的用法就是用于和字符串之间进行相互转换。

对应包装类

byte        Byte
short       Short
int         Integer
long        Long
float       Float
double      Double
char        Character
boolean     Boolean

类型转换

Integer i = new Integer(100);
Integer i = new Integer("100"); //字符串必须是数字字符串

//基本数据类型和字符串之间转换
int -- String
int a = 10;
String s = a+"";
String s = String.valueOf(a);//任意的数据类型转成String

String -- int
int a = Integer.parseInt("100");
char c = "abcd".charAt(0);自动装箱,拆箱自动 装箱 :把基本数据类型转成对应的包装类类型  int -- Integer \
自动 拆箱 :把包装类类型转成对应的基本数据类型  Integer -- int在使用包装类类型的新特性的时候,如果做操作,最好先判断是否为null。开发中的原则只要是对象,在使用前就必须进行不为null的判断。

Integer i = 100;

int a = i;

## Date类和SimpleDateFormat类

> Date
* Date日期类,表示特定的瞬间,精确到毫秒 
    + Date date = new Date();表示当前时间 
    + Date date = new Date(1000*60*60);表示的是自1970年1月1日 00时00分00秒 又经过了1个小时的时间,东八区,还要加上8小时

> 设置和获取时间的方法:操作的都是毫秒值long

* date.setTime(1000);
* long l = date.getTime();

## SimpleDateFormat类的概述和使用

> SimpleDateFormat:是一个以与语言环境有关的方式来格式化和解析日期的具体类 
>
> 目的:为了能更好的表示时间让所有人看能看懂
>
> 它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)

```bash
// 格式化(日期 -> 文本): Date -- String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE");
Date date = new Date();
String s = sdf.format(date);
// 解析(文本 -> 日期):  String -- Date
String str = "2080-08-08 12:23:45";
Date date2 = sdf.parse(s);

Calendar概述

由于日期类对年月日的单独获取和加减运算不太方便可使用Calender

    //1.创建对象 
    Calendar cal = Calendar.getInstance();//表示当前时间
    // 方法
    int year = cal.get(Calendar.YEAR); // 年
    int month = cal.get(Calendar.MONTH)+1; // 第几个月
    int day = cal.get(Calendar.DAY_OF_MONTH); //这个月的第几天(几号)
    int week = cal.get(Calendar.DAY_OF_WEEK)-1: // 周几

    // 设置年份
    cal.set(Calendar.YEAR,1000);

    // 转换 Date -- Calendar
    Date date = new Date();
    cal.setTime(date);

    // 转换 Calendar -- Date
    Date date = cal.getTime();

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏好好学java的技术栈

“365算法每日学计划”:04打卡-自己动手写一个单链表

1433
来自专栏Java帮帮-微信公众号-技术文章全总结

【Java提高十七】Set接口集合详解

三、Set接口 Set是一种不包括重复元素的Collection。它维持它自己的内部排序,所以随机访问没有任何意义。与List一样,它同样运行nu...

3649
来自专栏皮皮之路

【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap

984
来自专栏皮皮之路

【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap

34614
来自专栏专注 Java 基础分享

从源码看集合ArrayList

     可能大家都知道,java中的ArrayList类,是一个泛型集合类,可以存储指定类型的数据集合,也知道可以使用get(index)方法通过索引来获...

1876
来自专栏技术小站

(转)JAVA HashSet 去除重复值原理

Java中的set是一个不包含重复元素的集合,确切地说,是不包含e1.equals(e2)的元素对。Set中允许添加null。Set不能保证集合里元素的顺序。

2321
来自专栏有趣的Python

4-Java常用工具类-集合

问题: 存储20名学生的学生信息。20是不变的,就是这么多。 问题: 存储商品信息。不知道自己要买多少商品。

1542
来自专栏LeetCode

LeetCode <Stack>84&85. Maximal Rectangle&Largest Rectangle in Histogram

Given n non-negative integers representing the histogram's bar height where the ...

1415
来自专栏武培轩的专栏

剑指Offer-二进制中1的个数

package Other; /** * 二进制中1的个数 * 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 */ public c...

2554
来自专栏Java技术栈

Java集合从菜鸟到大神演变

先来看一张集合概况图,这里从上到下列举了几个最经常用的集合 ? 1、集合接口 java.util.Collection 是一个集合接口。它提供了对集合对象进行基...

4256

扫码关注云+社区