zoukankan      html  css  js  c++  java
  • 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类常用方法:

    1. .random() :生成0~1的随机数
    2. .abs() :获取数值的绝对值
    3. .max() : 比较两个数字谁最大
    4. .min() : 比较两个数字谁最小
    5. .ceil() :向上取整
    6. .floor() : 向下取整
    7. .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              指示一个星期中的某天
  • 相关阅读:
    [CF1284E]New Year and Castle Construction
    [BZOJ2178]圆的面积并(格林公式)
    [CF1146H]Satanic Panic(dp)
    [CF1019D]Large Triangle
    [ICPC World Finals 2018][LOJ6409]熊猫保护区(voronoi图)
    [CF gym 101471A][LOJ6470]Airport Construction
    [BZOJ2809]dispatching(左偏树)
    [HDU5784]How Many Triangles
    [CF372E]Drawing circles is fun(反演)
    [NOI2005][BZOJ1502][洛谷P4207]月下柠檬树(自适应Simpson积分)
  • 原文地址:https://www.cnblogs.com/big-data-sky/p/11031412.html
Copyright © 2011-2022 走看看