学习Java第十二天

一、String

1.1转换形

方法的名称

方法的描述

public byte[] getBytes()

将字符串转换为字节数组

public char[] toCharArray()

将字符串转换为字符数组

public String toLowerCase()

将所有的字符转换为小写

public String toUpperCase()

将所有的字符转换为大写

public String concat(String str)

在字符串末尾进行拼接(+)

public String replace(char oldChar, charnewChar)

替换字符串指定的内容

public String[] split(String regex)

根据指定的字符来进行拆分

public String trim()

去除首尾的空格

public static String valueOf(boolean b)

将各种数据类型的数据转换为字符串类型的数据

1.2案例

step01 键盘录入一串字符 将字符中大写转换为小写 将小写转换为大写 数字以***来代替 例如:abc123KKAa ==>ABC***kkaA

step02 分析

A.将字符串拆分一个字符数组

B.遍历数组获取数组中每一个元素> 'a' < 'z' ==>转换为大写> 'A' < 'Z' ==>转换为小写> '0' < '9' ******

C.定义一个字符串进行重新拼接toLowerCase() toUpperCase() *

step03 代码

1.3字符串比较规则

二、StringBuffer

2.1简介

2.2StringBuffer与String比较

A.String是不可变的字符序列 StringBuffer 是可变的字符序列

B.String操作字符串的效率较低 StringBuffer 操作字符串的效率比较高

2.3StringBuffer与StringBuilder比较

A.版本不一样 StringBuffer 1.0 StringBuilder 1.5

B.多线程安全性 StringBuffer 多线程安全 StringBuilder 多线程不安全

C.操作字符效率 StringBuffer 效率低 StringBuilder 效率高

2.4构造方法

构造方法的名称

构造方法的描述

public StringBuffer()

构建一个StringBuffer,初始容量为 16 个字符

public StringBuffer(intcapacity)

构建一个StringBuffer,指定初始容量的字符串缓冲区

publicStringBuffer(String str)

将字符串构建成一个StringBuffer对象,字符串的初始容量为 16 加上字符串参数的长度

2.5常用的方法

方法名称

方法描述

public StringBuffer append(boolean b)

在末尾进行追加

public StringBuffer insert(int offset, boolean b)

在指定的位置插入值

public int indexOf(String str)

查找指定字符的索引值

public int capacity()

获取内容的容量

public char charAt(int index)

获取指定索引的内容

public StringBuffer deleteCharAt(int index)

根据索引删除单个字符

public StringBuffer delete(int start, int end)

根据区间来进行删除

public StringBuffer reverse()

控制反转

public String substring(int start, int end)

截取指定的字符

public String toString()

转换为字符串

public int length()

获取StringBuffer中内容的长度

public StringBuffer replace(int start, int end, String str)

替换指定区间的内容

2.6案例

step01需求

step02分析

A.第一步只拼接数组中数据如果是最后一个元素 省略逗号如果是其它元素 拼接 元素 +"," append()

B.第二步 拼接:insert(int offset, boolean b)

C.控制反转: reverse()

step03代码

package com.gkd.test01; public class Test03 { public static void main(String[] args) { //定义一个StringBuffer对象 StringBuffer sb=new StringBuffer(); //定义int数组 int [] arr={10,20,30,40,50,60}; //使用循环遍历数组先把数据使用append进行拼接 for (int i=0;i<arr.length;i++){ if(i==arr.length-1){ sb.append(arr[i]); }else{ sb.append(arr[i]+","); } } //再把前面后面使用insert插入,反转使用reverse System.out.println(sb.insert(0,"Arrays[").insert(sb.length(),"]")); } }

2.7StringBuffer与String之间的转换

1、StringBuffer==>String

A.public String toString() toString()

B.public String(StringBuffer buffer) 构造方法

2、String ==>StringBuffer

A.public StringBuffer(String str) 构造方法

B.new StringBuffer().append(String str);

三、包装类

3.1简介

1.概念:将基本数据类型的数据封装成一个类 可以使用类的方法以及属性

2、罗列

3、特点:

int类型与char类型的包装比较特殊外 其他包装类都是首字母变为大写

基本数据类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

double

Double

float

Float

boolean

Boolean

char

Character

3.2Integer

3.2.1简介

A.Integer 类在对象中包装了一个基本类型 int 的值

B.该类提供了多个方法,能在 int 类型和 String 类型之间互相转换

C.提供了处理 int 类型时非常有用的其他一些常量和方法

3.2.2 常量

常量的名称

常量的描述

public static final int MAX_VALUE

值为 231-1 的常量,它表示 int 类型能够表示的最大值

public static final int MIN_VALUE

值为 -231 的常量,它表示 int 类型能够表示的最小值

public static final int SIZE

表示 int 值的比特位数

public static final Class TYPE

表示基本类型 int 的 Class 实例

3.2.3 构造方法

构造方法的名称

构造方法的描述

public Integer(int value)

将int的值包装成包装类Integer

public Integer(String s)

将一个字符串的数值包装成Integer

3.2.4 常用方法

方法的名称

方法的描述

public static StringtoBinaryString(int i)

将十进制的整数转换为二进制字符串

static String toOctalString(int i)

将十进制的整数转换为八进制字符串

public static StringtoHexString(int i)

将十进制的整数转换为十六进制字符串

public int xxxValue()

将Integer转换各种基本数据类型(xxx各种基本数据类型(整数类型))

public static int parseInt(String s)(重点)

将字符串转换为整数类型

public static Integer valueOf(int i)

返回一个表示指定的 int 值的 Integer 实例

public static IntegervalueOf(String s)

指定的 String 的值的 Integer 对象

代码

3.2.5自动拆箱与自动装箱

1、装箱:将基本数据类型包装成包装类(引用数据类型)的过程(打包快递)

2、拆箱:将包装类(引用数据类型)拆成基本数据类型的过程拆快递(

3、在jdk1.5之后 自动拆箱与自动装箱

4、自动装箱:也就是将基本数据类型的变量(赋值给包装类的引用)

5、自动拆箱:将包装类的引用 赋值给基本数据类型的变量

3.2.6案例

step01

step02

A.根据空格来进行分割 split()

B.使用循环来遍历数组 String [] arrays将String转换Integer ==>parseInt()定义一个数组存入数组

C.冒泡排序

step03代码:

package com.gkd.test02; import java.util.Arrays; public class Test02 { public static void main(String[] args) { //定义一个字符串 String s="11 -11 -1 -101 123 21 12 101"; //根据空格啦进行拆分 String [] in =s.split(" "); //定义一个int数组 Integer [] arrays=new Integer[in.length]; //使用循环遍历数组 for(int i=0;i<in.length;i++){ arrays[i]=Integer.parseInt(in[i]); } //使用冒泡排序 // for(int i=0;i< arrays.length-1;i++){ // for (int j=0;j<arrays.length-1-j;j++){ // if(arrays[j]>arrays[j+1]){ // int temp=arrays[j]; // arrays[j]=arrays[j+1]; // arrays[j+1]=temp; // } // } // } //使用方法 Arrays.sort(arrays); System.out.println(Arrays.toString(arrays)); } }

四、Math

4.1简介

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。数学函数的操作类

4.2常量

常量名称

常量描述

public static final double E

比任何其他值都更接近 e(即自然对数的底数)的 double 值。

public static final double PI

比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。

4.3常用的方法

方法名称

方法描述

public static double abs(xxx a)

xxx值的绝对值(数据类型)

public static double cbrt(double a)

立方根

public static double sqrt(double a)

正平方根

public static double ceil(double a)

向上取整

public static double floor(double a)

向下取整

public static long round(double a)

四舍五入

public static double max(double a, double b)

较大值

public static long min(long a, long b)

较小值

public static double pow(double a, double b)

返回第一个参数的第二个参数次幂的值

public static double random()(重点)

于等于 0.0 且小于 1.0

代码:

package com.gkd.test02; public class Test03 { public static void main(String[] args) { //绝对值 System.out.println(Math.abs(10)); System.out.println(Math.abs(-10)); //正平方根 System.out.println(Math.sqrt(4)); //立方根 System.out.println(Math.cbrt(8)); System.out.println(); //比较大与比较小 System.out.println(Math.max(10,20)); System.out.println(Math.min(10,20)); //次方 System.out.println(Math.pow(2,3)); //随机数 System.out.println(Math.random()*10); //四舍五入 System.out.println(Math.round(1.2)); System.out.println(Math.round(1.8)); //向下取整 System.out.println(Math.floor(2.3)); System.out.println(Math.floor(2.6)); //向上取整 System.out.println(Math.ceil(2.3)); System.out.println(Math.ceil(2.6)); } }

五、System

5.1简介

A.System 类包含一些有用的类字段和方法。它不能被实例化 只提供了一个私有的构造方法

B. 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;

5.2常量

方法的名称

方法的描述

public static final PrintStream err

“标准”错误输出流。此流已打开并准备接受输出数据

public static final InputStream in

“标准”输入流。此流已打开并准备提供输入数据。

public static final PrintStream out

“标准”输出流。此流已打开并准备接受输出数据。

代码:

package com.gkd.test02; import java.util.Scanner; public class Test04 { public static void main(String[] args) { System.out.println("嘿嘿嘿"); System.err.println("呵呵呵"); //实例化 Scanner input =new Scanner(System.in); System.out.println("请输入您的兴趣爱好:"); String s = input.next(); System.out.println(s); } }

5.3常用的方法

方法的名称

方法的描述

public static long currentTimeMillis()

返回以毫秒为单位的当前时间

public static void exit(int status)

终止当前正在运行的 Java 虚拟机。非 0 的状态码表示异常终止。

public static void gc()

运行垃圾回收器。

代码:

package com.gkd.test02; public class Test05 { public static void main(String[] args) { System.out.println("今天的天气很热!"); System.out.println("小姐姐都穿着超短裤上街"); // System.exit(0); System.out.println("老王邀请凤舞上街去看大白腿………………"); long time = System.currentTimeMillis(); System.out.println(time/1000/60/60/24/365+"年"); } }

六、Date

6.1简介

1、类 Date 表示特定的瞬间,精确到毫秒。时间类

2、构造方法:

public Date() 初始化data 表示当前系统时间

public Date(long date) 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数

3、常用方法

public void setTime(long time)

设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点

public long getTime()

返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数

七、Calendar

7.1简介

A.Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

B.瞬间可用毫秒值来表示 1970 年 1 月 1 日的 00:00:00.000

C.日历字段

public static final int YEAR 年

public static final int MONTH 月

public static final int DAY_OF_MONTH 日

public static final int HOUR 时

public static final int MINUTE 分钟

public static final int SECOND 秒钟

D.常用的方法

public static Calendar getInstance() 返回的 Calendar 基于当前时间

public final Date getTime() 将 Calendar 转换为Date

public final void setTime(Date date) 使用给定的 Date 设置此 Calendar 的时间

public void set(int field,int value) 将给定的日历字段设置为给定值

public int get(int field) 返回给定日历字段的值

public abstract void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量

代码:

package com.gkd.test02; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] args) { //获取Calendar Calendar cal=Calendar.getInstance(); //set-get cal.setTime(new Date()); //获取年 int y=cal.get(Calendar.YEAR); //获取月 int m=cal.get(Calendar.MONDAY); //获取日 int d=cal.get(Calendar.DAY_OF_MONTH); //获取时分秒 int h=cal.get(Calendar.HOUR_OF_DAY); int mi=cal.get(Calendar.MINUTE); int s=cal.get(Calendar.SECOND); System.out.println(y+"-"+m+"-"+d+"\t"+h+":"+mi+":"+s); Date d1=cal.getTime(); System.out.println(d1); //设置时间偏移 //小时 cal.add(Calendar.HOUR_OF_DAY,-5); System.out.println(cal.get(Calendar.HOUR_OF_DAY)); //小时 cal.add(Calendar.DAY_OF_MONTH,-5); System.out.println(cal.get(Calendar.DAY_OF_MONTH)); cal.add(Calendar.YEAR,-5); System.out.println(cal.get(Calendar.YEAR)); } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值