首页 > 编程语言 >Java第十二课_常用类

Java第十二课_常用类

时间:2023-12-18 22:15:50浏览次数:34  
标签:第十二 常用 Java String int stringBuilder System println out

  • 基本数据类

    package com.msr.lesson01;
    
    import org.junit.Test;
    // 测试单元 JUnit 4.12 : 测试时无需使用main函数. 在@Test中不需要main函数, 且函数可以一个个测.
    //     注意 : 被测试函数不能有返回值也不能有形参,并且必须 public 修饰
    
    public class Practice {
    
        @Test
        public void m1(){
            /*
                Number : 是六个数值型类型的父类,要求子类有相互转换的功能.
    
                封装类/包装类
                    byte    Byte
                    short   Short
                    int     Integer
                    long    Long
                    float   Float
                    double  Double
                    boolean Boolean
                    char    Character
    
                通用功能 :
                    1.对应的基本数据类型 和 引用数据类型之间的转换
                    2.负责 基本数据类型 和 String 之间的转换
             */
            // 1.对应的基本数据类型 和 引用数据类型之间的转换
            // int ---> Integer, 自动完成
            // 手动装箱
            Integer integer1 = Integer.valueOf(3306);// 引用类型.valueOf(基础类型)
            // 自动装箱
            integer1 = 3306;
            print(123);
    
            // Integer  -->  int
            // 手动拆箱
            int num = integer1.intValue();// 引用类型.***Value()
            // 自动拆箱
            num = integer1;
    
            // 2.负责 基本数据类型 和 String 之间的转换
            // *** ---> String
            String s = Integer.toString(8080);// 引用类型.toString(基础类型)
    
            // String  --->  ***
            // static int	parseInt​(String s)	默认十进制
            int i = Integer.parseInt("456");// 引用类型.parse***("")
    
            // static Integer	valueOf​(String s)
            Float aFloat = Float.valueOf("3.14");// 引用类型.valueOf("")
    
            // Integer类 :
            // 十进制 --->  其他进制
            // static String	toBinaryString​(int i)
            // static String	toHexString​(int i)
            // static String	toOctalString​(int i)
            String s1 = Integer.toBinaryString(3306);
            System.out.println("s1 = " + s1);
            String s2 = Integer.toOctalString(3306);
            System.out.println("s2 = " + s2);
            String s3 = Integer.toHexString(3306);
            System.out.println("s3 = " + s3);
    
            // static String	toString​(int i, int radix)
            System.out.println(Integer.toString(3306,2));
            System.out.println(Integer.toString(3306,8));
            System.out.println(Integer.toString(3306,10));
            System.out.println(Integer.toString(3306,16));
    
            // 其他进制 ---> 十进制
            // static Integer	valueOf​(String s, int radix)
            System.out.println(Integer.valueOf("110011101010", 2));
            System.out.println(Integer.valueOf("6352", 8));
            System.out.println(Integer.valueOf("cea", 16));
            // static int	parseInt​(String s, int radix)
            int i1 = Integer.parseInt("110011101010", 2);
            System.out.println("i1 = " + i1);
            System.out.println(Integer.parseInt("cea",16));
    
            // 数值型的极值 :
            System.out.println(Double.MAX_VALUE);
            System.out.println(Float.MIN_VALUE);
        }
    
        public static void print(Object o){
            System.out.println("o = " + o);
        }
    
        @Test
        public void m2(){
            // Integer 带有缓冲区 : -128 ~ 127的数值直接有, 且指向同一个地址. 但是使用new创建, 或者是其他数值时, 依然是在堆内存开辟新空间.
            Integer integer1 = 127;// Integer integer1 = new Integer(127) ;
            Integer integer2 = 127;
            Integer integer3 = new Integer(0);
            Integer integer4 = -129;
            Integer integer5 = -129;
            System.out.println(integer1 == integer2);// true
            System.out.println(integer1 == integer3);// false
            System.out.println(integer4 == integer5);// false
    
            // 只有七个基本数据类型可以进行计算
            Integer a = 10;
            int num = 11;
            num += a;// a ---> int  ;  num = num + a
        }
    }
    
  • String类

    public class Practice02 {
        @Test
        public void m1(){
            /*
                字符串 :
                    可变字符串/字符串缓冲区 : StringBuffer / StringBuilder
                    不可变字符串 : String
             */
            // String类表示字符串。
            // Java程序中的所有字符串文字,如“abc”,都是作为此类的实例实现的。
            // 字符串是常量;
            String s1 = "abc";
            String s2 = "abc";
            System.out.println(s1 == s2);// 字符串都是先在方法区创建字符,再把地址赋给变量.同一字符串地址值一致
            String s3 = new String("abc");// 使用new关键字创建时,是在堆内存创建, 将地址值存放在方法区, 再赋给变量(栈内存)
            System.out.println(s1 == s3);
            // 它们的值在创建后不能更改, 但是变量可以指向新字符串
            s1 = "xyz";
            // 字符串缓冲区支持可变字符串。
            // 因为String对象是不可变的,所以它们可以共享。
    
            s1 = "a";// 1 : 方法区里创建"a"
            s2 = "x" + "y";// 3 : 方法区里"x","y","xy"各一个
            s3 = new String("z");// 2 : 堆内存"z",方法区里存地址.
        }
    
        @Test
        public void m2() throws UnsupportedEncodingException {
            //  String类常见的操作:
            String s = "abcdEFG";
            //  1. 获取:
            //   		1.1  字符串中的包含的字符数,也就是字符串的长度:
            //   			int length():获取长度
            System.out.println(s.length());
            //   		1.2  根据位置获取位置上某个字符:
            //   			char charAt(int index) :找返回值为char的方法
            System.out.println(s.charAt(3));
            //   		1.3 根据字符获取该字符在字符中的位置:(总共八个方法)
            //   			int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
            //   			int indexOf(int ch,int fromIndex):从formIndex指定位置开始,获取ch在字符串中第一次出现的位置
            //   			int indexOf(String str):返回的是str在字符串中第一次出现的位置
            //   			int indexOf(String str,int fromIndex):从formIndex指定位置开始,获取str在字符串中第一次出现的位置
            //
            //   			int lastIndexOf(int ch) :倒着找,但是位置值不变
            System.out.println(s.indexOf('E'));
            //   2. 判断
            //   		2.1 字符串是否包含某一个子串
            //   			boolean contains(str) ;
            //   			特殊之处:indexOf(str):可以索引第一次出现个位置,如果返回-1,表示str不在字符串中。
            //   				所以可以用于判断是否包含。
            //   				if(str.indexOf("aa") != -1)
            //   				而且可以用于获取位置
            System.out.println(s.contains("E"));
            //   		2.2字符串是否有内容
            //   			boolean isEmpty():原理就是判断长度是否为零;""
            //   		2.3字符串是否以指定内容开头
            //   			boolean startsWith(str) ;
            //   		2.4字符串是否是以指定内容结束
            //   			boolean endsWith(str) ;
            //   		2.5判断字符串内容是否相同。复写了Object类中equals方法。
            //   			boolean equals(str) ;
            //   		2.6判断内容是否相同,并忽略大小写。原理: 全部转换成大写或小写再比较
            //   			boolean equalsIgnoreCase(str) ;
            System.out.println(s.equalsIgnoreCase("abcdefg"));
            //   3. 转换
            //   		3.1 将字符数组转成字符串
            //   			构造函数:	String(char[])
            //   					String(char[],offset,count):将字符数组中的一部分转成字符串
            char[] a = new char[]{'a','b','c','d','e'};
            System.out.println(new String(a, 1, 3));// 从1开始,一共3个
            //   			静态方法:
            //   					static String copyValueOf(char[]) ;
            //   					static String copyValueOf(char[] data,int offset,int count) ;
            //  					static String valueOf(char[]) ;
            //  		3.2 将字符串转成字符数组
            //  					char[] toCharArray() :
            for (char c : s.toCharArray()) {
                System.out.println(c);
            }
            //  		3.3 将字节数组转成字符串
            //  					String(byte[])
            //  					String(byte[],offset,count):将字符数组的一部分转成字符串
            //  		3.4 将字符串转成字节数组
            //  					byte[] getBytes() ;
            byte[] bytes;
    
            bytes = "华夏ABC".getBytes();// 默认utf-8 : 一个汉字 三个字节  一个字母  一个字节
            System.out.println(Arrays.toString(bytes));
    
            // UnsupportedEncodingException : 不支持的编码格式异常
            bytes = "华夏ABC".getBytes("GBK");// GBK : 一个汉字 两个字节  一个字母  一个字节
            System.out.println(Arrays.toString(bytes));
    
            bytes = "华夏ABC".getBytes("UTF-16be");// UTF-16be : 一个汉字 两个字节  一个字母  两个字节
            System.out.println(Arrays.toString(bytes));
            //  		3.5 将基本数据类型转成字符串
            //  			static String valueOf(int)
            //  			static String valueOf(double)
            //
            //  			3+"";//就是String.valueOf(3) ;//专业写法
            //
            //  		特殊: 字符串和字节数组在转换过程中,是可以指定编码表的。
            //  4. 替换
            //  		String replace(oldchar,newchar) ;
            System.out.println(s.replace('a','A'));
            //  5. 切割:
            //  		String[] split(regex) ;
            String[] split =s.split("d");
            System.out.println(Arrays.toString(split));
            Arrays.stream(split).forEach(System.out::println);
            //  6. 子串。获取字符串的一部分
            //  		String substring(begin) ;
            //  		String substring(begin,end) ;
            System.out.println(s.substring(3));
            System.out.println(s.substring(3,4));// Java中参数是两个索引值时,通常包含头不包含尾
            //  7. 转换,去除空格,比较
            //  		7.1 将字符串转成大写或小写
            //  			String toUpperCase() ;
            //  			String toLowerCase() ;
            System.out.println(s.toUpperCase());
            //  		7.2 将字符串两端的空格都去除
            //  			String trim() ;
            //  		7.3 对两个字符串进行自然顺序的比较
            // 			int compareTo(string) ;
            System.out.println("aaa".compareTo("abc"));// -1 比abc在前一位
            System.out.println("abc".compareTo("abc"));// 0
            System.out.println("abc".compareTo("aaa"));// 1 比aaa在后一位
        }
    }
    
  • 字符串缓冲区

        public static void main(String[] args) {
            /*
                字符串缓冲区 :
                    StringBuffer : 线程安全的可变字符序列。字符串缓冲区类似于字符串,但可以修改。在任何时间点,它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来更改。
                    StringBuilder :  线程不安全的可变字符序列。多线程时不好处理多个同时的修改请求. 用于 单线程 ;
             */
    
            StringBuilder stringBuilder = new StringBuilder("abcdefg");
            // 查
            System.out.println(stringBuilder);
            // int	capacity() 获取理论容量
            // int	length()  获取实际容量
            System.out.println("stringBuilder.capacity() = " + stringBuilder.capacity());
            System.out.println("stringBuilder.length() = " + stringBuilder.length());
    
            // char	charAt​(int index) 获取指定的索引值对应的字符
            System.out.println(stringBuilder.charAt(stringBuilder.length() - 1));
            // int	indexOf​(String str) 获取指定字符的索引值
            // int	indexOf​(String str, int fromIndex)
            System.out.println("stringBuilder.indexOf(\"j\") = " + stringBuilder.indexOf("j"));
            // int	lastIndexOf​(String str)
            // int	lastIndexOf​(String str, int fromIndex)
            System.out.println(stringBuilder.lastIndexOf("j"));
    
            // 增
            // StringBuilder	append​(boolean b)
            stringBuilder.append(123)
                    .append(true)
                    .append("abc")
                    .append(3.14)
                    .append('a')
                    .append(new Object());
            System.out.println(stringBuilder);
    
            // 删
            // StringBuilder	delete​(int start, int end)	从start索引值开始,删除到 end 索引值
            // StringBuilder	deleteCharAt​(int index)  删除指定索引值对应的字符
            stringBuilder.delete(1, 4);
            // void	trimToSize() 尝试减少空间容量 : 释放多余空间, 让capacity空间和length长度一致
            stringBuilder.trimToSize();
            System.out.println(stringBuilder);
            System.out.println("stringBuilder.capacity() = " + stringBuilder.capacity());
            System.out.println("stringBuilder.length() = " + stringBuilder.length());
    
            // 改
            // StringBuilder	insert​(int offset, boolean b) 在指定位置插入元素
            stringBuilder.insert(stringBuilder.length() - 1, "xyz");
            System.out.println(stringBuilder);
            // StringBuilder	replace​(int start, int end, String str)	 替换
            stringBuilder.replace(10, stringBuilder.length(), "hello");
            System.out.println(stringBuilder);
            // StringBuilder	reverse() 反转
            System.out.println(stringBuilder.reverse());
    
            // void	setCharAt​(int index, char ch) 改变对应索引值上的值
            stringBuilder.setCharAt(3, 'Y');
            System.out.println(stringBuilder);
    
            // void	setLength​(int newLength)
            System.out.println("stringBuilder.capacity() = " + stringBuilder.capacity());
            System.out.println("stringBuilder.length() = " + stringBuilder.length());
            stringBuilder.setLength(8);
            System.out.println(stringBuilder);
            System.out.println("stringBuilder.capacity() = " + stringBuilder.capacity());
            System.out.println("stringBuilder.length() = " + stringBuilder.length());
            // String	substring​(int start)
            // String	substring​(int start, int end)
            System.out.println(stringBuilder.substring(1, 3));
        }
    
  • Math类(数学类)

        public static void main(String[] args) {
            // static double	abs​(double a) 绝对值
            System.out.println("Math.abs(-10/3) = " + Math.abs(-10 / 3));
            // static double	cbrt​(double a) 立方根
            System.out.println("Math.cbrt(8) = " + Math.cbrt(8));
            // static double	ceil​(double a) 天花板函数 / 向上取整
            System.out.println("Math.ceil(13.11) = " + Math.ceil(13.11));// 14
            System.out.println("Math.ceil(-13.11) = " + Math.ceil(-13.11));// -13
            // static double	floor​(double a) 地板函数 / 向下取整
            System.out.println("Math.floor(13.99) = " + Math.floor(13.99));// 13
            System.out.println("Math.floor(-13.99) = " + Math.floor(-13.99));// -14
    
            // static double	max​(double a, double b)
            // static float	max​(float a, float b)
            // static int	max​(int a, int b)
            // static long	max​(long a, long b)
            // static double	min​(double a, double b)
            // static float	min​(float a, float b)
            // static int	min​(int a, int b)
            // static long	min​(long a, long b)
    
            // static double	pow​(double a, double b)
            System.out.println(Math.pow(2,8));
    
            // static long	round​(double a)	 四舍五入
            // static int	round​(float a)
            System.out.println("Math.round(13.49999) = " + Math.round(13.49999));
            System.out.println("Math.round(13.555555) = " + Math.round(13.55555));
    
            // static double	sqrt​(double a) 平方根
            System.out.println("Math.sqrt(5) = " + Math.sqrt(5));
    
            // static double	random()
            // Random :
        }
    
  • Date类

        public static void main(String[] args) throws ParseException {
            // java.sql 用于和 数据库进行数据交换的包
            // java.util 工具包
            // java.util.Date : 类Date表示一个特定的时间瞬间,精度为毫秒。
    
            // 构造器
            // Date()
            // Date​(long date)
    
            // 方法
            Date date = new Date();
            int year = date.getYear();//当前年份 - 1900 不推荐使用的函数
            System.out.println("year = " + year);
    
            // boolean	after​(Date when)
            // boolean	before​(Date when)
    
            // Object	clone()
    
            // int	compareTo​(Date anotherDate)
    
            // boolean	equals​(Object obj)
    
            // static Date	from​(Instant instant)
    
            // Instant	toInstant()
    
            // long	getTime()
    
            // Date ---> String
            System.out.println(new Date());
            // DateFormat是日期/时间格式化子类的抽象类,它以独立于语言的方式格式化和解析日期或时间。
            // String	format​(Date date)
            DateFormat dateFormat = new SimpleDateFormat();
            String s = dateFormat.format(new Date());
            System.out.println(s);
    
            dateFormat = new SimpleDateFormat("yyyy.MMMMM.dd GGG hh:mm aaa");
    
            System.out.println(dateFormat.format(new Date()));
    
            dateFormat = new SimpleDateFormat("yyyy年MM月dd日 kk:mm:ss SSS");
    
            System.out.println(dateFormat.format(new Date()));
    
            System.out.println(new SimpleDateFormat("yyyy/MM/dd kk:mm:ss SSS").format(new Date()));
    
            // String --->  Date : 2023/12/18 17:46:46 273
            // Date	parse​(String source)
            // ParseException
            Date date1 = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss SSS").parse("2023/12/18 17:46:46 273");
            System.out.println("date1 = " + date1);
        }
    

标签:第十二,常用,Java,String,int,stringBuilder,System,println,out
From: https://www.cnblogs.com/shinya/p/17912408.html

相关文章

  • .NET 开发常用的10个.NET库
    .NET开发常用的10个.NET库qqhfeng每天重新立志,振兴中华!​关注他 12人赞同了该文章一、AutoMapperAutoMapper是一个对象映射工具,用于简化.NET应用程序中不同类型对象之间的转换和映射。功能:AutoMapper提供了自动化的对象映射功能,可以将一个对象的......
  • pandas常用方法总结
    pandas常用方法总结|pandas是用于数据分析的Python库,包含许多有用的方法,以下是pandas中一些主要的方法和功能:1.数据读取与写入2.DataFrame基本操作3.数据选择4.数据清洗与处理5.数据转换6.数据筛选与排序7.数据汇总与统计8.合并与连接9.缺失数据处理10.重塑与透视熟练掌握这些p......
  • Java登陆第二十五天——Tomcat、认识JavaWeb项目
    Java项目开发后,需要部署到服务器中,服务器需要有最基本的操作系统。单一的操作系统还不够,因为Java项目经过JVM编译后的是.class文件(字节码文件)。字节码文件的运行需要Java运行环境(JRE)。有了JRE还是不够。不是所有的项目都可以直接运行,还需要服务器软件服务器软......
  • 录制课程的设备有什么?常用录制方法又有哪些?
    在线课程课件对网络教学的重要性不言而喻,然而,很多的人不知道录制课程的设备有什么。随着用户对于网络课件的要求越来越高,比如高清,移动端播放等等。因此跟以前所用的设备是大不相同的。接下来小编为大家做详细介绍。课程录制设备1、合一智能交互平板,交互平板的出现,解决......
  • 无涯教程-Java - Set 集合接口函数
    Set集合是不能包含重复元素的集合,Set接口仅包含从Collection继承的方法,并增加了禁止重复元素的限制。下表总结了Set声明的方法-Sr.No.Method&Remark1add()将对象添加到集合中。2clear()从集合中删除所有对象。3contains()如果指定对象是集合中的元素,则返回t......
  • JavaScript高频题整理(附答案背诵版)
    1、简述JavaScript中map和foreach的区别?map和forEach都是JavaScript数组的迭代方法,但它们之间存在一些关键区别。返回值:map方法会返回一个新的数组,这个新数组是由原数组通过某个函数处理后的结果组成的。而forEach方法则没有返回值,它仅仅是对数组中的每个元素执行一次给定的函......
  • 总结篇:SpringBoot常用注解总结
    使用springboot开发的优点,就是不用部署war文件因为内部嵌入了tomcat的,允许通过maven来根据需要的starter,非常的方便,可以自动配置spring,为程序员减少大量时间用于写业务逻辑,更不用担心使用某个依赖的版本问题,springboot全部为你自己选择。springboot的常用注解:1、@SpringBootAppl......
  • 无涯教程-Java - Collection 接口函数
    Collection接口是构建收集框架的基础。它声明了所有集合将拥有的核心方法。下表总结了这些方法。Sr.No.Method&Remark1booleanadd(Objectobj)将obj添加到调用集合中。如果将obj添加到集合中,则返回true。如果obj已经是集合的成员,或者该集合不允许重复,则返回false。2......
  • Java、Kotlin、Flutter、HarmonyOS基本数据类型
    一.Java数据类型基本数据类型整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)1.1整数类型整型是Java中最基本的数据类型之一。它可以用来存储整数值,包括正数、负数和0。Java中的整型有四种类型:byte、short、int和long。byte:占用1个字节,范围从-128......
  • 无涯教程-Java - Properties 类函数
    Properties是Hashtable的子类。它用于维护值列表,其中键是字符串,并且值也是字符串。属性(Properties)定义以下变量。此变量保存与Properties对象关联的默认属性列表。Propertiesdefaults;以下是properties类提供的构造函数的列表。Sr.No.Constructor&Remark1Properties......