java number string_java基础系列(一):Number,Character和String类及操作

这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String。

1、Number类

在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形。所以,java语言为每个内置数据类型都提供了对应的包装类。六种内置数据类型:byte, short, int, long, float, double分别对应Number抽象类的子类:Byte,Short,Integer,Long,Float,Double

装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。例:Integer a = 1;

拆箱:将引用类型的对象简化成内置类型的数据。例:int b = a ;

(1).Number&Math类常用方法

1.XXValue():将Number对象转换为相应的类型

Double num= 1.5;int intNum =num.intValue();2.compareTO():同类型比较,小于参数返回-1,等于参数返回0,大于参数返回13.equals():返回boolen值4.valueOf():返回一个Number对象指定的内置数据类型,参数可以是字符串,字符

Double dou= Double.valueOf('1') 返回49.0Double dou= Double.valueOf(“1”) 返回1.0

5.toString():转换为字符串6.parseXXX():将字符串解析为Number对象

Integer a= Integer.parseInt("123");7.Math.random():返回一个0-1的随机数

2、Character常用方法

1.isLetter()2.isDigit()3.isWhitespace()4.isUpperCase()5.isLowerCase()6.toUpperCase()7.toLowerCase()8.toString()1-7方法参数为操作的Character实列对象,由Character类调用;方法7由实例对象调用。

3、String类

String对象一旦创建就无法修改,如果对字符修改可以使用StringBuffer类或StringBuider类。StringBuilder类有速度优势,StringBuffer类是线程安全的。

(1)String常用方法

1.charAt():返回指定索引处的字符串2.compareTo():比较字符串,返回第一个不相等字符的ASCII差值,如果字符都相等,则返回字符串长度差值3.copyValueOf(char[],offset,count):参数是一个数组,返回的是一个String对象,将数组中的元素考到一个String对象中;getChars()方法正好与之相反,将特定位置的字符串,变为数组。

String b= "aghvjhg";char[] a = new char[12];

b.getChars(0,4,a,0);a = [a,g,h,v,(int)0,....]

String c= String.copyValueOf(a,0,3);c = "agh"

4.endsWith(),startWith():判断字符串是否以指定的字符串结尾或是开头5.equals():判断字符串是否相等6.getBytes():将字符串以指定字符集编码为byte序列,将结果存储到一个新的Byte数组中7.getChars():将字符串复制到指定的数组中8.indexOf():返回指定字符第一次出现的索引;lastIndexOf():从后向前查找9.length()10.matches():判断字符串是否匹配给定的正则表达式11.reginMatches(int offset,String str,int offset,intlen)判断指定区域的字符串是否相等12.replace(),replaceAll(),replaceFirst()后两种方法参数可以是正则表达式13.split():切分字符串14.subString():返回子字符串15.trim():忽略前导和尾部空白16.toString()

(2)StringBuffer主要方法

1.增

append():在目标字符串后追加字符串

insert():将字符串插入到指定的位置2.删

delete():删除指定的字符串3.改

replace():替换字符串4.反转

reverse():反转字符串

(3)String,StringBuffer和StringBuilder的区别

String:字符串常量,字符串长度不可变。在java底层中,String是char数组构成的,并且被声明为final类型。

StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 StringBuffer,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 线程安全的可变字符序列。在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。

StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。

使用原则:

1.如果操作少量的数据用String

2.单线程操作大量数据用StringBuilder

3.多线程操作大量数据用StringBuffer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谁参加了JavaScript 2018状况调查?

by Sacha Greif由Sacha Greif 谁参加了JavaScript 2018状况调查? (Who Took the State of JavaScript 2018 Survey?) 我们如何努力使调查更具代表性 (How we’re working to make the survey more representative) I was recently listening to a podcast episode…

机器学习 建立模型_建立生产的机器学习系统

机器学习 建立模型When businesses plan to start incorporating machine learning to enhance their solutions, they more often than not think that it is mostly about algorithms and analytics. Most of the blogs/training on the matter also only talk about taking …

CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库

背景从业务发展需求,大数据平台须要使用spark作为机器学习、数据挖掘、实时计算等工作,所以决定使用Cloudera Manager5.2.0版本号和CDH5。曾经搭建过Cloudera Manager4.8.2和CDH4,在搭建Cloudera Manager5.2.0版本号的时候,发现对…

leetcode 455. 分发饼干(贪心算法)

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]…

压缩/批量压缩/合并js文件

写在前面 如果文件少的话,直接去网站转化一下就行。 http://tool.oschina.net/jscompress?type3 1.压缩单个js文件 cnpm install uglify-js -g 安装 1>压缩单个js文件打开cmd,目录引到当前文件夹,cduglifyjs inet.js -o inet-min.js 或者 uglifyjs i…

angular依赖注入_Angular依赖注入简介

angular依赖注入by Neeraj Dana由Neeraj Dana In this article, we will see how the dependency injection of Angular works internally. Suppose we have a component named appcomponent which has a basic and simple structure as follows:在本文中,我们将看…

leetcode 85. 最大矩形(dp)

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“…

如何查看系统版本

1. winR,输入cmd,确定,打开命令窗口,输入msinfo32,注意要在英文状态下输入,回车。然后在弹出的窗口中就可以看到系统的具体版本号了。 2.winR,输入cmd,确定,打开命令窗口,输入ver&am…

java activemq jmx_通过JMX 获取Activemq 队列信息

首先在 activemq.xml 中新增以下属性在broker 节点新增属性 useJmx"true"在managementContext 节点配置断开与访问服务iP配置成功后启动下面来看测试代码/*** Title: ActivemqTest.java* Package activemq* Description: TODO(用一句话描述该文件做什么)* author LYL…

风能matlab仿真_发现潜力:使用计算机视觉对可再生风能发电场的主要区域进行分类(第1部分)

风能matlab仿真Github Repo: https://github.com/codeamt/WindFarmSpotterGithub回购: https : //github.com/codeamt/WindFarmSpotter This is a series:这是一个系列: Part 1: A Brief Introduction on Leveraging Edge Devices and Embedded AI to …

【Leetcode_easy】821. Shortest Distance to a Character

problem 821. Shortest Distance to a Character 参考 1. Leetcode_easy_821. Shortest Distance to a Character; 完转载于:https://www.cnblogs.com/happyamyhope/p/11214805.html

tdd测试驱动开发课程介绍_测试驱动开发的实用介绍

tdd测试驱动开发课程介绍by Luca Piccinelli通过卢卡皮奇内利 测试驱动开发很难! 这是不为人知的事实。 (Test Driven Development is hard! This is the untold truth about it.) These days you read a ton of articles about all the advantages of doing Test …

软件安装(JDK+MySQL+TOMCAT)

一,JDK安装 1,查看当前Linux系统是否已经安装了JDK 输入 rpm -qa | grep java 如果有: 卸载两个openJDK,输入rpm -e --nodeps 要卸载的软件 2,上传JDK到Linux 3,安装jdk运行需要的插件yum install gl…

leetcode 205. 同构字符串(hash)

给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己…

Java core 包_feilong-core 让Java开发更简便的工具包

## 背景在JAVA开发过程中,经常看到小伙伴直接从网上copy一长段代码来使用,又或者写的代码很长很长很长...**痛点在于:*** 难以阅读* 难以维护* sonar扫描结果债务长* codereview 被小伙伴鄙视* ....feilong-core focus on J2SE,是[feilong platform](https://github.com/venusd…

TensorFlow 2.X中的动手NLP深度学习模型准备

简介:为什么我写这篇文章 (Intro: why I wrote this post) Many state-of-the-art results in NLP problems are achieved by using DL (deep learning), and probably you want to use deep learning style to solve NLP problems as well. While there are a lot …

静态代码块

静态代码块 静态代码块:定义在成员位置,使用static修饰的代码块{ }。位置:类中方法外。执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。格式:作用: 给类变量进行初始化赋值…

异步api_如何设计无服务器异步API

异步apiby Garrett Vargas通过Garrett Vargas 如何设计无服务器异步API (How To Design a Serverless Async API) I recently ran a workshop to teach developers how to create an Alexa skill. The workshop material centered around a project to return car rental sear…

C# 序列化与反序列化json

与合作伙伴讨论问题,说到的c与c#数据的转换调用,正好就说到了序列化与反序列化,同样也可用于不同语言间的调用,做了基础示例,作以下整理: 1 using System.Data;2 using System.Drawing;3 using System.Linq…

学java 的要点_零基础学Java,掌握Java的基础要点

对于程序员群体来说,了解一定的技巧会对学习专业技能更有帮助,也更有助于在自己的职业发展中处于有利地位,无限互联Java培训专家今天就为大家总结Java程序员入门时需要掌握的基础要点:掌握静态方法和属性静态方法和属性用于描述某…