Java的基础(面向对象、字符串、数学相关的工具类)

2023-11-19

面向对象

  • 面向过程:当需要实现一个功能的时候,每一具体的步骤都要亲力亲为,详细处理每一个细节(强调步骤)

  • 面向对象:当需要实现一个功能时,不关心具体步骤,而是找一个已经具有该功能的人,来帮我做事(强调对象)

    三大特征:封装性、继承性、多态

类:是一组相关,属性和行为的集合。

属性:就是该事物的状态信息。

行为:就是该事物能够做什么。

类与对象的关系

  • 类是对一类事物的描述,是抽象的。
  • 对象是一类事物的实例,视具体的。
  • 类是对象的模板,对象是类的实体
成员变量(属性):

String name;//姓名

int age;//年龄
成员方法:
public void eat(){}//吃饭

public void sleep(){}//睡觉

public void study(){}//学习
注意事项:

1、成员变量是直接定义在类中的,在方法外

2、成员方法不要写static关键字

通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用

标准的类

1、所有的成员变量都要使用private关键字修饰

2、为每一个成员变量生成一个Getter/Setter方法

3、编写一个无参数的构造方法

4、编写一个有参数的构造方法

字符串

特点:

1、内容永远不可变

2、因为字符串的内容不可变,所以字符串是共享使用的

3、字符串的效果上相当是char[]字符数组,但是底层原理byte【】字节数组

三种创建方法:

public String():创建一个空白字符串,不含任何内容

public String(char[] array):根据字节数组的内容,来创建对应的字符串

字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池

1、对于引用类型来说”==“进行的是地址值的比较

2、双引号直接写的字符串在常量池当中,new的不在池当中

3、字符串内容的比较:public void equals(Object obj)

String当中与获取相关的常用方法:

public int length():获取字符串当中含有的字符个数,得到字符串长度。

public String concat():将当前字符串和参数字符串拼接成为返回值新的字符串。

public char charAt():获取指定索引位置的单个字符。(索引从0开始)。

public int indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值)。

字符串的截取方法

public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串。

public String substring(int begin,int end):截取从begin开始,一直到end结束,中间的字符串

String 当中与转换相关的常用方法

public char[] toCharArray():将当前字符串拆分成为字符数组作为返回值。

public byte[] getByte():获得当前字符串底层的字节数组。

分割字符串的方法

public String [] split(String regex):按照参数的规则,将字符串切分成为若干部分。

注意:split方法的参数其实是一个“正则表达式”,如果要按照英文字符“.”进行分割,要加上“\"

静态代码块

格式:

public class 类名称{

static{

//静态代码块

}

**}**

特点:当第一次用到本类时,静态代码块执行是唯一的,静态代码块优先于非静态

java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作。

public static String toString(数组):将参数数组变成字符串(按照默认格式:{元素1,元素2,元素3…}

public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。

注:

1、如果是数值,sort默认按照升序从小到大。

2、如果是字符串,sort默认按照字母升序。

3、如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持。

数学相关的工具类

public static double abs(double num):获取绝对值,有多种重载

public static double ceil(double num):向上取整

public static double floor(double num):向下取整

public static long round(double num):四舍五入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java的基础(面向对象、字符串、数学相关的工具类) 的相关文章

随机推荐

  • 问题(四)No matching distribution found for anyjson==0.3.3

    前言 本章主要讲述安装anyjson时提示 No matching distribution found for anyjson 0 3 3 的解决方案 一 问题描述 描述 批量下载第三方包时 提示 找不到anyjson0 3 3的匹配分布
  • 卷积神经网络识别花卉并分类另保存

    本篇博客转载自卷积神经网络训练花卉识别分类器 本篇博客的所有代码已上传至GitHub仓库 后续会更新各个文件夹及文件的详细说明 用者自取 由于卷积神经网络训练花卉识别分类器博客已将模型的训练 测试代码写好 且可以通过这篇博客获取到大神训练好
  • 获取,设置HTML控件位置

    得到HTML控件的位置 var v document all oo getBoundingClientRect 设置HTML控件的位置 dd style top v top dd style left v left
  • 关于2018网易游戏web前端实习生面试经历

    去年报名的网易前端面试 没想到过了3个月居然收到了面试的通知 心里也是激动 花了一天时间面试 自己总结一下面试过的问题 问题可能不全 但是这些是我所能记起来的问题 一面 1 css高度坍塌 两个盒子 一个下边据20px 一个上边据50px
  • Vue3项目创建

    1 新建一个文件夹 存放路径 2 Ctrl A选中路径 输入cmd 3 打开之后 输入vue create my project my project可以任意定义 这里作者用的vue3 study Please pick a preset
  • 基础目标检测算法CNN、RCNN、Fast RCNN、Faster RCNN

    基础目标检测算法介绍 CNN RCNN Fast RCNN和Faster RCNN 1 CNN 问题 输入尺寸固定 对于普通的CNN网络 由于输入图片中的物体可能有不同的长宽比 空间位置 目标物体可能占据图片的大部分 也可能是一小部分 目标
  • XSS挑战之旅平台通关练习level1-level6

    部署容器 进入XSS挑战之旅 首先需要关闭防火墙 输入以下命令进行关闭 gt systemctl stop c gt firewall cmd h c gt systemctl stop firewalld service gt syste
  • mssql数据库和Oracle数据库注入

    MS SQL Server注入 简介 MS SQL Server是微软推出的一款数据库产品 主要面向中小企业 其最大的优势就是在于集成了微软公司的各类产品及资源 提供了强大的可视化界面 高度集成的管理开发工具 在快速构建商业智能 BI 方面
  • java解决redis缓存与数据库一致性问题

    一 如何利用Redis缓存优化数据库性能 使用 Redis 缓存可以有效地提升数据库的性能和响应速度 下面是一些常见的 Redis 缓存优化技巧 对热点数据进行缓存 通过分析系统的访问模式 找出经常被访问的热点数据 缓存到 Redis 中
  • 设置背景图片不平铺

    图片路径 background image url static demo jpg 不平铺 background repeat no repeat 居中显示 background position center 拉伸占满整个容器 backg
  • C++ 实例化对象

    实例化对象 意味着一定有调用构造函数 实例化就是给 数据成员分配内存 构造对象 对象的成员函数和普通函数的区别就是 成员函数有个指向当前对象的this指针 可以访问对象的成员变量 其依赖于对象 静态函数就更像一个全局函数 没有this指针
  • 1031 查验号码

    一个号码由17位地区 日期编号和顺序编号加1位校验码组成 校验码的计算规则如下 首先对前17位数字加权求和 权重分配为 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 然后将计算的和对11取模得到值Z 最后按照以下关
  • 数字经济发展报告 附下载地址

    数字经济是以数字化的知识和信息作为关键生产要素 以数字技术为核心驱动力量 以现代信息网络为重要载体 通过数字技术与实体经济深度融合 不断提高经济社会的数字化 网络化 智能化水平 加速重构经济发展与治理模式的新型经济形态 关注公众号 互联互通
  • Java程序员编写代码的技巧

    这样说吧 系统学Java底层 是大多数Java初学者都会缴的智商税 为什么这样说呢 1 初级开发做的是增删改查 没必要了解底层 了解了对开发帮助也不大 2 中级开发要求的是熟悉业务 能排查大多数问题 这时也无需系统学习底层技能 3 架构师确
  • 那些年Google公开的大数据领域论文

    摘要 Google于2004年公布了MapReduce论文 为数据领域工作者开启了大数据算法之门 然而Google的大数据脚步显然不止于此 其后公布了Percolator Pregel Dremel Spanner等多篇论文 没有止步的不仅
  • K - Birthday Puzzle Gym - 102267K (遍历子集的位运算)

    Today is the Birthday of a beautiful girl she s happy and she s telling her friends loudly to bring her birthday gifts O
  • 递归方法相关题目

    目录 70 爬楼梯 70 爬楼梯 简介 这里是java的解法 描述 假设你正在爬楼梯 需要 n 阶你才能到达楼顶 每次你可以爬 1 或 2 个台阶 你有多少种不同的方法可以爬到楼顶呢 注意 给定 n 是一个正整数 示例 1 输入 2 输出
  • 使用 Java 操作 Git-验证相关

    背景 日常工作中 有时候需要用代码去操作gitlab 或者github实现自动化部署 持续集成 持续部署等功能 本文就 Java 操作 git 相关的权限验证进行实践总结 工具 使用的工具为eclipse的jgit pom为目前最新版本
  • Unity3d提升效率的高级技巧(二)

    11 在层次视图中选中某个游戏对象 按快捷键 Cmd Ctrl D 即可复制该对象 对于检视面板中的数组字段也可已同样的方式来复制元素 12 检视面板中所有的颜色字段都是支持复制和粘贴的 只需右键点击颜色字段既可选择操作 13 如果觉得在场
  • Java的基础(面向对象、字符串、数学相关的工具类)

    面向对象 面向过程 当需要实现一个功能的时候 每一具体的步骤都要亲力亲为 详细处理每一个细节 强调步骤 面向对象 当需要实现一个功能时 不关心具体步骤 而是找一个已经具有该功能的人 来帮我做事 强调对象 三大特征 封装性 继承性 多态 类