首页 > 编程语言 >Java基础--实用类(完整版)

Java基础--实用类(完整版)

时间:2024-07-20 08:56:00浏览次数:10  
标签:Java String -- System println new 完整版 public out

实用类

在这里插入图片描述

方法一:条件判断

方法二:使用枚举

枚举

性别的枚举

package Practicalclass;

/**
 * 性别的枚举
 */
public enum Sex {
    男,女;
}

学生类

package Practicalclass;

public class Student {
        String chname;
        Sex sex;
        public Student(String chname,Sex sex){
            this.chname=chname;
            this.sex=sex;
        }

    public void setSex(Sex sex) {
        this.sex = sex;
    }

    public Sex getSex() {
        return sex;
    }

    public String getChname() {
            return chname;
        }

        public void setChname(String chname) {
            this.chname = chname;
        }


    }

测试类

package Practicalclass;

public class TestStudent {
    public static void main(String[] args) {
        Student student=new Student("wang",Sex.男);
        Student student1=new Student("wang",Sex.女);
        System.out.println(student.getSex()+student.getChname());
    }
}

包装类

在这里插入图片描述

在这里插入图片描述

java.lang

包装类 基本类型

Boolean boolean

Character char

Number

Byte byte

Double double

Float float

Long long

Integer int

1.构造方法

所有包装类都可以将与之对应的 基本数据类型作为参数,来构造他们的实例

public Type(type value)

如:Interger i=new Interger(1);

除了Character类之外,其他包装类都可将字符串作为参数构造他们的实例

public Type (String value)

如 Interger i=new Interger(“123”)\

注意

Number类型的构造时,参数必须能转换成相应的数字,不然NumberFormatException

Boolean类型构造时,除了ture(大小写)其余的都是false

2.常用方法

Number包装类

在这里插入图片描述

Boolean 包装类型转换成基本数据类型

Character 包装类型转换成基本数据类型(charValue())

在这里插入图片描述

**加粗样式
**
在这里插入图片描述

装箱和拆箱

在这里插入图片描述

在这里插入图片描述

Math类

在这里插入图片描述

radom():0(包括)-1(不包括)之间的随机数

Random类

在这里插入图片描述

Random random=new Random(种子);//种子固定生成的数就固定了

random.nextInt();

操作字符串的实用类

String类

在这里插入图片描述

引用数据类型要Newc出来

String:常用方法

String.length();确定字符串长度返回的时int值

对比:数组.length 属性

String equals()

在这里插入图片描述

在这里插入图片描述

equalsIgnoreCase():忽略大小写

toLowerCase():转化为小写

toUpperCase():转换为大写

equal()与==

在这里插入图片描述

一开始,equals()与==作用一致,是否为同一对象

后来,字符串类对equals进行重写,equals变成了比较两个字符串内容是否相等

System.out.println(q==w);
String s1=("123");
String s2=("123");
String s3=new String("123");
System.out.println(s1==s2);
System.out.println(s1==s3);

true
true
false

在这里插入图片描述

创建了几个对象

字符串的连接

concat()

字符串方法操作(产生变化的方法:变大写,小写连接,截取…)变化都作用于字符串的副本,而不是本身

字符串常用的提取方法

在这里插入图片描述

String subString(3,9)包含第三位不包含第九位进行截取

在这里插入图片描述

package Practicalclass;

import java.util.Scanner;

public class jobSubmission {
    public static void main(String[] args) {
        System.out.println("****欢迎你进入作业提交系统****");
        Scanner input=new Scanner(System.in);
        int i=0;
        while (i<3){
            System.out.println("请输入Java文件名");
            String jobName=input.next();
            System.out.println("请输入邮箱");
            String email=input.next();

            int index=jobName.lastIndexOf(".");//提取出最后一个点的位置
            String a=jobName.substring(index);//用a来接收.和它之后的字符
            int index1=email.lastIndexOf("@");
            int index2=email.lastIndexOf(".");

            if(index==-1||index==0||!(a.equals(".java"))){
                System.out.println("作业名有误");
                i++;
            }else if (index1==-1||index2==-1||index1>index2){
                System.out.println("邮箱有误");
                i++;
            }else{
                System.out.println("作业提交成功");
                break;
            }

        }

    }
}
splot()对字符串进行拆分
String info="长亭外 古道边 芳草碧连天";
String[]a=info.split(" ");
System.out.println(info);
for (String s:a){
    System.out.println(s);
练习

在这里插入图片描述

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class strPractice {
    public static void main(String[] args) {
        int c=0;
        Scanner input=new Scanner(System.in);
        List <String> str=new ArrayList();
        System.out.println("请输入一个字符串");
        String s1=input.next();
        System.out.println("请输入要查找的字符");
        String s2=input.next();
        for (int i=0;i<s1.length();i++){
            String a=s1.substring(i,i+1);
            str.add(a);
        }
        for (String b:str){
            if (b.equals(s2)){
                c++;
            }
        }
        System.out.println("在"+s1+"中有"+c+"个"+s2);

    }
}

StringBuffer类:操作字符串

频繁修改字符串的操作,效率比String高

StringBuffer对字符串本身进行操作

StringBuffer s=new StringBuffer();

在这里插入图片描述

在这里插入图片描述

日期类

java.util.Date

在这里插入图片描述

package Practicalclass;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;

public class DataDemo {
    public static void main(String[] args) {
        Date date=new Date();
        /**
         * 定制日期时间格式
         */
        SimpleDateFormat formatter=new SimpleDateFormat ("yyyy--MM-dd HH:mm:ss");
      String a=  formatter.format(date);
        System.out.println(date);
        System.out.println(a);
    }


}

标签:Java,String,--,System,println,new,完整版,public,out
From: https://blog.csdn.net/whc15059539669/article/details/140552645

相关文章

  • 【Java】同步方法
    文章目录一、总述二、练习三、StringBuffer一、总述刚刚我们已经学习完了同步代码块,就是将一段代码锁起来,这样就可以解决多线程操作共享数据时带来的数据安全问题。但是如果我们想要将一个方法里面所有的代码全部锁起来,此时就没有必要去用同步代码块了,我们可以直接......
  • java多线程
    程序,进程,线程,并行,并发程序是静态的,进程process是动态的一个进程至少有一个线程多线程程序优点提高应用程序的响应提高CPU利用率改善程序结构并行parallel,指两个或多个事件在同一时刻发生并发concurrency,两个或多个事件在同一个时间段内发生,宏观上是多个进程同步进行......
  • 循环执行语句:do while语句、for语句、while语句
    什么是循环执行语句循环执行语句在百度之中的意思是一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环语句是由循环体及循环的终止条件两部分组成的。要使用循环语句时,必须要确定循环体及条件(布尔表达式)两个重要因素。简单来说,当你在打游戏的时......
  • 继电器模块的使用与代码示例
     目录前言继电器简介模块接线工作原理驱动代码relay.hrelay.cmain.c参考手册继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出......
  • Datawhale AI 夏令营——电力需求挑战赛——Task3学习笔记
        这一期学习进阶的特征提取与分析,构建深度学习方案,拿下更高分数,冲冲冲。项目链接:‌​​‬​‍​​​‌​‬‬⁠​​⁠​⁠​​​​⁠​​‍​​‍​​‌⁠‬​⁠​⁠‍‌​‌​​‍​Task3:尝试使用深度学习方案-飞书云文档(feishu.cn)    前两期介绍了......
  • 【序列化和反序列化】
    序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在Java中,这通常意味着将对象转换为字节流,以便可以将其保存到磁盘上或通过网络传输到另一个网络节点。相反,反序列化(Deserialization)是将已序列化的数据恢复为对象的过程。序列化的基本概念为了能......
  • 线程池 --- 基础总结
    使用线程池主要为了解决一下几个问题:通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。一、Executor接口关系Executor是一个接口,跟线程池有关的基本都要跟他打交道。下面是常用的ThreadPoolExecu......
  • 生成式 AI:Chat 与 Agent 的发展博弈
    生成式AI的发展方向,是Chat还是Agent?随着生成式AI技术的不断进步,关于其未来发展方向的讨论也愈发激烈。究竟生成式AI的未来是在对话系统(Chat)中展现智慧,还是在自主代理(Agent)中体现能力?这一问题引发了广泛的讨论和探索。你怎么看待生成式AI的未来发展方向?什么是AIAgent(......
  • 2439. 最小化数组中的最大值
    题目链接:看到“最小化最大值”想到二分答案。我们猜测一个上界\(\rmlimit\),\(\rmlimit\)越大越符合条件,越小越不易符合条件,满足单调性。由于当前维护的是数组经过操作是否满足最大值为\(\rmlimit\),可以从后往前遍历,遇到比\(\rmlimit\)大的就把大的那部分减去加到前一个......
  • k8s 集群安装
    决定重新搭建一个k8s集群,记录一下过程。本次使用三台主机,分别是master节点和两个worker节点。主机配置统一如下:配置项配置OSUbuntu22.04.4LTSx86_64Kernel5.15.0-102-genericCPUAMDRyzen75700X(16)@3.399GHzMemory8GDisk100GClust......