• Java入门 实用类 (二)(第二十四天)


    Math() 类(数学算术)

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

    方法:
    Math.max();//比较两个最大值
    Math.min();//比较两个最小值
    Math.abs();//求绝对值;负为正,正为正
    Math.sin();//返回角度的正弦值

    Math.floor();//上舍入;返回最大的(最接近正无穷大) double值,该值小于等于参数,并等于某个整数。

    Math.ceil();//下舍入;返回最小的(最接近负无穷大) double值,该值大于等于参数,并等于某个整数。

    Math.round();//四舍五入;返回最接近参数的int值

    1. package Math.Demo02;
    2. public class MathDemo01 {
    3. public static void main(String[] args) {
    4. //Math类, Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
    5. double pi = Math.PI;
    6. System.out.println(pi);
    7. System.out.println(Math.max(100, 200));//比较两个最大值
    8. System.out.println(Math.min(50, 100));//比较两个最小值
    9. System.out.println(Math.abs(-20));//求绝对值;负为正,正为正
    10. System.out.println(Math.sin(0.5));//返回角度的正弦值
    11. System.out.println(Math.floor(9.8));//上舍入;返回最大的(最接近正无穷大) double值,该值小于等于参数,并等于某个整数。
    12. System.out.println(Math.ceil(9.1));//下舍入;返回最小的(最接近负无穷大) double值,该值大于等于参数,并等于某个整数。
    13. System.out.println(Math.round(9.8));//四舍五入;返回最接近参数的int值
    14. //随机数方法:Math.random( ):随机返回一个介于0.0(包括)~1.0(不包括)之间的double类型的数据
    15. double num1 = Math.random();
    16. System.out.println(num1);
    17. /*
    18. *随机返回一个[num1,num2)之间的int类型的整数(num2>num1)
    19. * int num = (int)(Math.random()*(num2-num1)+num1);
    20. */
    21. /*
    22. *枚举有何作用?
    23. *列举出某一个属性所需要的正确值,限制赋值范围
    24. */
    25. }
    26. }

     Random() 类(随机)

    生成随机数的其他方式
      java.util.Random类 

    Random rand=new Random(); //创建一个Random对象
    for(int i=0;i<20;i++){//随机生成20个随机整数,并显示

             int num=rand.nextInt(10);//返回下一个伪随机数,整型的

    System.out.println("第"+(i+1)+"个随机数是:"+num);


    随机数方法:Math.random( ):随机返回一个介于0.0(包括)~1.0(不包括)之间的double类型的数据
            double num1 = Math.random();
            System.out.println(num1);

    随机返回一个[num1,num2)之间的int类型的整(num2>num1)
           int num = (int)(Math.random()*(num2-num1)+num1);

    注意:
    用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的

    1. package Math.Demo02;
    2. import java.util.Random;
    3. public class RandomDemo01 {
    4. public static void main(String[] args) {
    5. //创建Random类对象
    6. Random random =new Random();//无参构造创建对象
    7. int result1= random.nextInt();
    8. System.out.println(result1);
    9. System.out.println(random.nextBoolean());
    10. //创建Random类对象
    11. Random random2 = new Random(10);//有参构造创建对象
    12. System.out.println(random2.nextInt(10));
    13. //创建Random类对象
    14. Random random3= new Random();
    15. System.out.println(random3.nextInt(10));//随机生成一个[0,10)之间的整数
    16. /* 用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方
    17. * 法,得到的随机数也是相同的
    18. */
    19. Random r1= new Random(100);
    20. Random r2= new Random(100);
    21. System.out.println(r1.nextBoolean());
    22. System.out.println(r2.nextBoolean());
    23. }
    24. }

    String() 类(字符串)

    使用String对象存储字符串
    String s = new String();
    String s = "Hello World";
    String s = new String("Hello World");

    String类位于java.lang包中,具有丰富的方法
    计算字符串的长度、比较字符串、连接字符串、提取字符串

    length()方法:
    String类提供了length()方法,确定字符串的长度


    StringBuilder类、StringBuffer类:
         建议优先采用StringBuilder类
         主要操作为:
                 append() 添加字符串到末端
                 insert() 指定点添加字符串
                 reverse() 字符反转

    1. package String.Demo03;
    2. public class StringDemo01 {
    3. public static void main(String[] args) {
    4. String string = "sadqfafad";
    5. //获取字符串的长度
    6. int length=string.length();
    7. System.out.println("字符串长度:"+length);
    8. /*
    9. *获取数组长度:数组名.length
    10. *获取集合长度:集合名.size()
    11. *获取字符串长度:字符串对象名.length()
    12. */
    13. //比较两个字符串的长度是否相同
    14. String str1="qwe";
    15. String str2="qwe";
    16. System.out.println(str1.equals(str2));//值为:true
    17. System.out.println(str1==str2);//值为:true
    18. String str3=new String("asd");
    19. String str4=new String("asd");
    20. System.out.println(str3.equals(str4));//值为:true
    21. System.out.println(str3==str4);//false
    22. //其他比较字符串的方法
    23. String str5="qwert";
    24. String str6="Qwert";
    25. //区分大小写进行比较
    26. System.out.println(str5.equals(str6));//大小写比较:
    27. //equalsIgnoreCase()不区分大小写进行比较
    28. System.out.println(str5.equalsIgnoreCase(str6));//大小写比较
    29. //toLowerCase()大写转小写
    30. String result = str6.toLowerCase();
    31. System.out.println(str6);//Qwert //字符串对象调用方法后,不会改变自身的内容,相当于是对它的复制品进行了修改
    32. System.out.println(result);//qwert
    33. System.out.println(str5.toUpperCase());//QWERT //返回结果值,结果值全部大写
    34. }
    35. }
    36. ---------------------------------------------------------------------------------------
    37. package StringBuffer.Demo04;
    38. import java.util.Scanner;
    39. public class StringBufferDemo02 {
    40. public static void main(String[] args) {
    41. //如:输入1234567890
    42. Scanner sc = new Scanner(System.in);
    43. System.out.println("输入一串数字");
    44. String num =sc.next();
    45. StringBuffer sb = new StringBuffer(num);
    46. for(int i=sb.length()-3;i>0;i-=3){
    47. sb.insert(i, " ");
    48. }
    49. System.out.println(sb);//结果:1 234 567 890
    50. StringBuilder sbl=new StringBuilder(num);
    51. System.out.println(sbl.reverse());
    52. /*
    53. * StringBuilder类:主要操作为append(添加到末端)和insert(指定点添加)方法,
    54. * reverse() 字符反转
    55. *
    56. * StringBuffer类:
    57. *
    58. * 建议优先采用StringBuilder类
    59. */
    60. }
    61. }
    1. package String.Demo03;
    2. import java.util.Arrays;
    3. public class StringDemo03 {
    4. public static void main(String[] args) {
    5. //字符串常用提取方法
    6. String str1="sdfgahjklxcvbnma";
    7. //public int indexOf(int ch)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
    8. //public int indexOf(String value)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
    9. int index = str1.indexOf(97);//ASCII码97对应的是a,a下标为4
    10. System.out.println(index);
    11. System.out.println(str1.indexOf("hj"));//从前往后查找字符;返回下标值:5
    12. //public int lastIndexOf(int ch)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
    13. //public int lastIndexOf(String value)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
    14. System.out.println(str1.lastIndexOf(97));//从后往前查找字符;返回下标值:15
    15. System.out.println(str1.lastIndexOf("nma"));//从后往前查找字符;返回下标值:13
    16. //public String substring(int index)提取从位置索引开始的字符串到末尾部分
    17. System.out.println(str1);//sdfgahjklxcvbnma
    18. System.out.println(str1.substring(3));//截取下标值(包括下标值)之后的字符串:gahjklxcvbnma
    19. //public String substring(int beginindex, int endindex)提取beginindex(包括)和endindex(不包括)之间的字符串部分
    20. System.out.println(str1);//sdfgahjklxcvbnma
    21. System.out.println(str1.substring(3,6 ));//gah
    22. //public String trim()返回一个前后不含任何空格的调用字符串的副本
    23. String str2 = " wdad dmjl ";
    24. System.out.println(str2);//" wdad dmjl "
    25. System.out.println(str2.trim());//trim()去除字符串首尾空格:"wdad dmjl"
    26. //字符串拆分方法
    27. String str3 = "长亭外 古道边 芳草碧连天 晚风拂 柳笛声残 夕阳山外山";
    28. String[] strs = str3.split(" ");
    29. for (String string : strs) {
    30. System.out.println(string);
    31. }
    32. String str4 = "我爱你就像老鼠爱大米";
    33. String[] strs2=str4.split("爱");//遇"爱"拆分:[我, 你就像老鼠, 大米]
    34. System.out.println(Arrays.toString(strs2));
    35. //判断字符串是否以指定内容结尾
    36. String str5 = "HelloWorld.java";
    37. System.out.println(str5.endsWith(".java"));//是返回true,否则false
    38. //判断字符串是否以指定内容开头
    39. System.out.println(str5.startsWith("He"));
    40. //将字符串变成byte类型的数组
    41. byte[] bytes=str5.getBytes();
    42. for (byte b : bytes) {
    43. System.out.print((char)b);//转成字符型char
    44. }
    45. }
    46. }

    equals() 方法(比较)

    equals()方法:
    String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致

    ==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象

    字符串比较的其他方法:
    使用equalsIgnoreCase()方法 
    使用toLowerCase()方法
    使用toUpperCase()方法

    1. package String.Demo03;
    2. public class StringDemo01 {
    3. public static void main(String[] args) {
    4. String string = "sadqfafad";
    5. //获取字符串的长度
    6. int length=string.length();
    7. System.out.println("字符串长度:"+length);
    8. /*
    9. *获取数组长度:数组名.length
    10. *获取集合长度:集合名.size()
    11. *获取字符串长度:字符串对象名.length()
    12. */
    13. //比较两个字符串的长度是否相同
    14. String str1="qwe";
    15. String str2="qwe";
    16. System.out.println(str1.equals(str2));//值为:true
    17. System.out.println(str1==str2);//值为:true
    18. String str3=new String("asd");
    19. String str4=new String("asd");
    20. System.out.println(str3.equals(str4));//值为:true
    21. System.out.println(str3==str4);//false
    22. //其他比较字符串的方法
    23. String str5="qwert";
    24. String str6="Qwert";
    25. //区分大小写进行比较
    26. System.out.println(str5.equals(str6));//大小写比较:
    27. //equalsIgnoreCase()不区分大小写进行比较
    28. System.out.println(str5.equalsIgnoreCase(str6));//大小写比较
    29. //toLowerCase()大写转小写
    30. String result = str6.toLowerCase();
    31. System.out.println(str6);//Qwert //字符串对象调用方法后,不会改变自身的内容,相当于是对它的复制品进行了修改
    32. System.out.println(result);//qwert
    33. System.out.println(str5.toUpperCase());//QWERT //返回结果值,结果值全部大写
    34. }
    35. }

    字符串连接

    方法1:使用“+”

    方法2:使用String类的concat()方法
    String str1="qwert";
    String str2="tyuu";
    String result= str1.concat(str2);
    System.out.println(result);

    SimpleDateForma()  类(时间、日期)

    "yyyy-MM-d HH:mm:ss E "中国时区格式

    1. package SimpleDateFormat.Demo05;
    2. import java.text.SimpleDateFormat;
    3. import java.util.Date;
    4. public class DataDemo01 {
    5. public static void main(String[] args) {
    6. //日期时间
    7. //创建Date类对象
    8. Date date = new Date();
    9. System.out.println(date);//Thu Aug 18 01:45:29 CST 2022
    10. //Date类中很多方法都已过时,使用Calendar类替代
    11. /*System.out.println(date.getYear()+1900);
    12. System.out.println(date.getMonth()+1);*/
    13. //中国时间格式
    14. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d HH:mm:ss E D");
    15. String str = sdf.format(date);
    16. System.out.println(str);//2022-08-18 02:00:22 星期四 230(8月十八号是一年中的第230天)
    17. }
    18. }

  • 相关阅读:
    达梦数据守护搭建测试遇到create link to dmwatcher() error问题
    【滤波跟踪】基于IMM多模实现目标跟踪附matlab代码
    Socks5代理与IP代理:网络安全与爬虫中的应用
    百万年薪架构师谈:掌握这【6+2】学习路线 进BAT拿月薪40k真不难
    http和https的区别
    3、动态库与静态库
    开源的BLE_SPP OTA协议
    Hello Java,Java简介及第一个Java程序
    spline本地运行的方法
    ChatGPT王炸升级GPT-4 Turbo:更强大还更便宜
  • 原文地址:https://blog.csdn.net/m0_70516782/article/details/126402334