Java实用类
Posted big-data-sky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实用类相关的知识,希望对你有一定的参考价值。
.枚举
- 使用enum关键字来修饰是的它成为一个枚举类型
- 由一组固定的常量组成的类型,可以视枚举为一组长量的集合
- 枚举中不能存在普通函数与普通变量。
public enum WeekEnum //表示周一到周日 MON,THES,WEB,THUR,FRI,STA,SUN
.包装类
每个基本类型在java.lang包中都有一个相应的包装类
int —– Integer【特别】
char —– Character【特别】
byte —– Byte
short —– Short
long —– Long
float —– Float
double —— Double
boolean —– Boolean
拆箱和自动装箱: Integer integer=5;//装箱:基本类型转换为包装类型的对现 int inValue =integer;//拆箱:包装类对象转换为基本类型的值
1 package baoZhuangLei; 2 3 public class Demo1 4 public static void main(String[] args) 5 //包装类---》基本类型*****Value(); 6 Integer i= new Integer(9); 7 int j = i.intValue(); 8 System.out.println(j); 9 10 11 Boolean b = new Boolean(true); 12 boolean b1 =b.booleanValue(); 13 System.out.println(b1); 14 15 //基本类型---》字符串(1)toString() (2) +"" 16 int num = 9; 17 String strNum=Integer.toString(num); 18 String strNum2=num+""; 19 20 //字符串--》基本类型 parse*****()Character类除外 21 String s = "89"; 22 int num2= Integer.parseInt(s); 23 boolean bNum = Boolean.parseBoolean("true"); 24 25 //valueOf():(1)如何把基本数据类型变成包装类(所有包装类都有这个方法) 26 Integer iNum = Integer.valueOf(89); 27 Character cNum = Character.valueOf(‘z‘); 28 Boolean BNum =Boolean.valueOf(true); 29 //(2)如何把字符串变成包装类(除Character外) 30 Integer iNum2 =Integer.valueOf("89"); 31 32 Boolean bNum2 = Boolean.valueOf(true); 33 34 35 //拆箱和自动装箱 36 Integer integer=5;//装箱:基本类型转换为包装类型的对现 37 int inValue =integer;//拆箱:包装类对象转换为基本类型的值 38 39 40 41 42
Math类常用方法:
- .random() :生成0~1的随机数
- .abs() :获取数值的绝对值
- .max() : 比较两个数字谁最大
- .min() : 比较两个数字谁最小
- .ceil() :向上取整
- .floor() : 向下取整
- .round() : 四舍五入
package cn.demo; public class MathDemo /** * @param args */ public static void main(String[] args) Math.abs(-3.5);//返回3.5 Math.max(2.5, 5.3);//返回5.3 int random= (int)(Math.random()*10);//生成一个0~9之间的随机数
Random可以用来产生随机数
1.种子每次都不一样
2.不同的种子构造的Random对象生成的随机数是不一样
3.相同的种子构造的Random对象生成的随机数都是相同的
Random random=new Random(56);
Random random2=new Random(56);
4.一般放时间毫秒
Random random2=new Random(时间的毫秒);
package cn.Random; import java.util.Random; public class RandoDemo /** * @param args */ public static void main(String[] args) //1.种子 每次都不一样 //2.不同的种子构造的Random对象生成的随机数是不一样的 /** * 3.相同的种子构造的Random对象生成的随机数都是相同的 * Random random=new Random(56); * Random random2=new Random(56); * 4.一般放时间毫秒 * Random random2=new Random(时间的毫秒); */ Random random=new Random();//创建一个Random对象 Random random2=new Random(); for (int i = 0; i < 20; i++) //随机生成20个随机数,并显示 int num= random.nextInt(10);//返回下一个伪随机数,整型的 System.out.println("第"+(i+1)+"个随机数是:"+num);
String()方法:
- String类位于java.lang包中,具有丰富的方法
- 计算字符串的长度、比较字符串、连接字符串、提取字符串
- String类提供了length()方法,确定字符串的长度
- 返回字符串中的字符数
- String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致
- equals()方法比较原理
- 检查组成字符串内容的字符是否完全一致
- ““和equals()的区别
- “”判断两个字符串在内存中的地址,即判断是否是同一个字符串对象
- 字符串比较的其他方法:忽略大小写的字符串比较
package cn.String; //字符串连接:concat(); public class Concat public static void main(String[] args) int num=9; System.out.println("num的值是:"+num); String s="你好:"; String s2="张三!"; String newString=s.concat(s2); System.out.println(newString);
package cn.String; public class EqualsDemo /** * @param args */ public static void main(String[] args) String str1="tom"; String str2="TOM"; System.out.println(str1.equals(str2));//false //不区分大小写 System.out.println(str1.equalsIgnoreCase(str2));//true //全变为小写 System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));//true //全变为大写 System.out.println(str1.toUpperCase().equals(str1.toUpperCase()));//true String s= " admin "; System.out.println(s.trim());//输出admin 去掉两端的空格
字符串常用提取方法
搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1 public int indexOf(int ch) public int indexOf(String value) 搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1 public int lastIndexOf(int ch) public int lastIndexOf(String value) 提取从位置索引开始的字符串部分 public String substring(int index) 提取beginindex和endindex之间的字符串部分 public String substring(int beginindex, int endindex) 返回一个前后不含任何空格的调用字符串的副本 public String trim()
package cn.String; import java.util.Scanner; public class StrDemo // 字符串截取:indexOf() lastIndexOf() substring(begin) substring(begin,end) public static void main(String[] args) // String s ="hello,my name is yangFan!,ok";//空格也算位置 // System.out.println(s.indexOf("o"));//4 // System.out.println(s.lastIndexOf("o"));//26 // // System.out.println(s.substring(4));//包含起始位置,到最后 // System.out.println(s.substring(4,5));//包含起始位置,不包含结束位置 // !!!!!String 的所有操作并不影响字符串本身,影响的是字符串的一个副本 String s = "I love you!"; System.out.println(s.substring(2, 6));// love System.out.println(s);// I love you! boolean nameFlag = false; Scanner inScanner = new Scanner(System.in); System.out.println("****************欢迎提交作业********************"); System.out.println("请输入作业名:"); String name = inScanner.next(); System.out.println("请输入邮箱:"); String email = inScanner.next(); // 检查文件名:必须以.java为后缀 int index = name.indexOf("."); if (index != -1 && index != 0 && name.substring(index).equals(".java")) // 文件名正确 nameFlag = true; else System.out.println("文件名无效"); boolean emailFlag = false; // 检查邮箱@ int index1 = email.indexOf("@"); int index2 = email.indexOf("."); if (index1 != -1 && index2 != -1 && index1 < index2) emailFlag = true; else System.out.println("邮箱名无效"); if (nameFlag && emailFlag) System.out.println("作业提交成功!"); else System.out.println("作业提交失败");
StringBuffer
- 在字符串拼接上,效果要比String高
- toString() 将对象内容转成字符串
- append() 追加和拼接字符串
- insert() 在指定的位置插入指定的符号
- StringBuffe是对原有字符串操作而String是不会对自己原有的字符串进行操作的
对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
StringBuffer声明
StringBuffer strb = new StringBuffer(); StringBuffer strb = new StringBuffer("aaa"); StringBuffer的使用 sb.toString(); //转化为String类型 sb.append("**"); //追加字符串 sb.insert (1, "**"); //插入字符串
ackage stringbufferDemo; import java.util.Scanner; public class Demo1 //对原有字符串操作 public static void main(String[] args) /* //(1)string->stringBuffer StringBuffer s1=new StringBuffer("hello"); //追加 append s1.append("world!"); System.out.println(s1);//helloworld! //插入 insert s1.insert(1, ","); System.out.println(s1);//h,elloworld! System.out.println(s1); //(2)stringBuffer->string String s=s1.toString();*/ Scanner inputScanner=new Scanner(System.in); System.out.println("请输入一串数字"); String num=inputScanner.next(); StringBuffer numsBuffer=new StringBuffer(num); for (int i = numsBuffer.length();i>0; i=i-3) numsBuffer.insert(i, ","); System.out.println(numsBuffer);
日期类
java.util.Date类:表示日期和时间 提供操作日期和时间各组成部分的方法 java.text.SimpleDateFormat类 用于定制日期时间的格式 //创建日期对象 Date date = new Date(); //定制日期格式 SimpleDateFormat formater = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss"); String now = formater.format(date); System.out.println(now);
import java.text.SimpleDateFormat; import java.util.Date; public class DateDemo /** * @param args */ public static void main(String[] args) //当前的日期和时间 Date date=new Date(); System.out.println(date); //将日期和时间格式化变成我们要求的格式"年-月-日" SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间 //用SimpleDateFormat对象的format方法去拿到一个字符串formater.format(date) //.format(date)参数为Date类返回String String sdateString=formater.format(date); System.out.println(sdateString);
Calender类
- 抽象类,java.util.Calendar
- **用于设置和获取日期/时间数据的特定部分
package cn.date; import java.util.Calendar; public class CalendarDemo public static void main(String[] args) //Calendar是抽象类 Calendar t=Calendar.getInstance(); //月加1是因为他的一月是从0开始的 System.out.println(t.get(Calendar.YEAR)+"-"+(t.get(Calendar.MONTH)+1)+"-"+t.get(Calendar.DAY_OF_MONTH));//月里的日 //减去1一周是星期日开始的 System.out.println("今天是星期"+(t.get(Calendar.DAY_OF_WEEK)-1));
int get(int field) 返回给定日历字段的值 MONTH 指示月 DAY_OF_MONTH 指示一个月中的某天 DAY_OF_WEEK 指示一个星期中的某天
以上是关于Java实用类的主要内容,如果未能解决你的问题,请参考以下文章