Java常用函数

6 篇文章 0 订阅
4 篇文章 0 订阅

基本数据类型:

Java提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一个字符类型,一个布尔型。

byte(Byte):-128 ~ 127, 占1字节,默认值是 0;

short(Short ):-32768 ~ 32767,占2字节,默认值是 0;

int(Integer):-2^31 ~ 2^31-1,2开头的10位数,占4字节,默认值是 0;

long(Long):-2^63 ~ -2^63-1,9开头的19位数,占8字节,默认值0L,eg:long a = 100L;

float(Float):单精度,占4字节,存储7位有效数(整数+小数部分不超过7,不算小数点),默认值是 0.0f,eg:float f1 = 12.5f;

double(Double):双精度、占8字节,存储16位有效数,默认值是 0.0d,eg:double d = 1.5; double d = 1.5d;

boolean(Boolean):占1字节,默认值是 false;

char(Character):占2字节,默认值'u0000';

注意:

1、表示货币需使用BigDecimal,不用浮点数,因为浮点数不能表示精确的值;

2、小数默认是 double 型,在定义 float 类型时必须在数字后面跟上 F 或者 f,浮点数推荐用double;

3、常用格式输出:eg:System.out.printf("姓名:%s,年龄:%d,性别:%c。", name, age, sex); str=String.format("Hi,%s", "小超");

%c 字符输出

%s 字符串输出

%d 整数,十进制输出

%x 整数,十六进制

%o 整数,八进制

%f 浮点类型,十进制;%.nf :保留n位小数; %m.nf:输出共占m列,其中有n位小数

通用方法

(1)

基本类型=>包装类:包装类名.valueOf(基本类型)例:

egg:Long.valueOf( 5L );  

Integer.valueOf( n );

包装类=>基本类型:包装类对象.基本类Value();例:

egg:ch.charValue();

bt.byteValue();  f.floatValue();

(2)

包装类=>字符串:包装类对象.toString();例:

egg:ch.toString();

基本类型=>字符串:String.valueOf(基本类型)或者 "" + 基本类型;例:

egg:boolean b = false;

String str = String.valueOf(b); 

String str = "" + b; 

字符:

创建:

  char ch = 'a';
  Character ch = new Character('a');

基本:

  Character.isLetter( ch ) //是否为字母
  Character.isDigit( ch ) //是否为数字
  Character.isUpperCase( 'c' ) //是否为大写字母
  Character.isLowerCase('c') //是否为小写字母
  Character.toString( 'a' ) //返回字符的字符串形式,长度仅为1

字符串:

创建:

  String str = "hello"; //一般用new创建对象,但对于字符串,可以像基本类型一样,可以直接赋值;
  String str2=new String("hello");

基本:

  int length = str.length(); //获取长度
  char result = s.charAt( 6 ); //获取指定索引处的字符;

  String str = str1 + str2 + str3; //拼接字符串
  str1.concat( "hello" ); //拼接

  str1.equals( str2 ); //字符串比较,返回true或false
  str1.equalsIgnoreCase( str2 ); //字符串比较,忽略大小写
  备注:str1==str2 //比较的是引用,而非数值,所以不用此比较;

查找:

  str.indexOf( "a" )   //查找字符串第一次出现的索引,没有则返回-1;
  str.indexOf( "a",5 )   //从指定位置开始查找,没有则返回-1;
  str.lastIndexOf( 'a' )  //查找字符串最后一次出现的索引,没有则返回-1;
  str.lastIndexOf( 'a',5 );

  str.contains( "a" ); //判断是否包含某字符串,返回true或false;

截取:

  str.substring( nStart ); //截取nStart之后的字符串;
  str.substring( nStart, nEnd ); //截取nStart和nEnd之间的字符串;

替换:

  str.replace( "aa","bb" );//把字符串aa全部替换成bb
  str.replaceAll( "[0-9]" ,"bb" );//通过正则表达式替换全部匹配到的字符串;
  str.replaceFirst( "[a-z]","bb" );//通过正则表达式只替换第一个匹配到的;

  str.split( "-" );//把字符串分隔成为数组;
  备注:. $ | * + 等转义字符,必须得加 \\,egg:str.split( "\\$" );如果用"\"作为分隔,就得写成这样:String.split("\\\\");(4个\)

其他:

  str.trim(); //清除头尾空白符,包括空白、换行、tab制表符;
  str.isEmpty() //判断字符串是否为空,即长度为0;
  str.toUpperCase() //转换成大写
  str.toLowerCase() //转换成小写
  str.toCharArray( ); //将str转化为字符数组;

扩展:

  StringBuffer 和 StringBuilder:可变的字符序列。由于String 是不可变的对象, 每次对 String 类型进行改变的时候,都会生成新的对象,然后将指针指向新的对象,所以经常改变内容的字符串最好使用这俩种类型,其中StringBuilder比StringBuffer速度更快,主要方法:

  strBuffer.append( "hello" ) :字符串末尾追加;
  strBuffer.insert( 5 , "hello"):在指定位置插入;
  strBuffer.delete( nStart , nEnd):删除索引nStart和nEnd中间的内容;
  strBuffer.reverse( ):反转字符串顺序
  String、StringBuffer、StringBuilder之间转化可以使用构造方法:
  String str = new String(strBuffer);  StringBuffer stBuf = new StringBuffer(str);
  String 对象可以用操作符 "+ "进行连接,StringBuffer、StringBuilder不能;

数组函数:

创建:

  int [ ] nArr = new int [ 10 ]; //一维数组
  String [ ] [ ] strArr = new String [ 5 ] [ 10 ]; //二维数组
  MyClass [ ] mArr = new MyClass[10]; //自定义类的数组

  char [ ] chArr = { 'a', 'b', 'c', 'd' };  //静态初始化一维数组
  MyClass [ ] mArr = { new MyClass(), new MyClass()};
  double[ ][ ] dArr = {
    { 1.1, 1.2 },
    { 2.1, 2.2 },
    { 3.1, 3.2 }
  }; //静态初始化二维数组

  int len = nArr.length; //获取数组长度

遍历:

for (int i = 0; i < strArr.length; i++) {  //使用下标遍历
  System.out.println( strArr[i] );
}

for (String str : strArr) {  //不使用下标遍历
  System.out.println(str);
}

常用函数:

1、使用java.util.Arrays工具类的方法

  Arrays.asList( strArr ) //将数组转为集合,如果是int[]这些基本数据类型,需要先转化成包装类;

  Arrays.copyOfRange( strArr, nstart, nEnd) //返回原数组中nstart到nEnd(取不到)之间元素组成的新数组;

  Arrays.sort​( nArr ) //对数组元素(基本数据类型)升序排序,对数组本身操作不返回新的;

    Arrays.toString( strArr ) //打印一维数组;  Arrays.deepToString( strArr ) //打印二维数组;

Arrays.deepToString( strArr ) //打印二维数组;

2、转换成ArrayList列表后,利用其丰富的方法,ArrayList是长度可变列表;

创建:

  ArrayList<String> strList = new ArrayList<String>();

  ArrayList<Integer> nList =new ArrayList<>( Arrays.asList(nArr) ); //把普通数组转化成ArrayList
  ArrayList<String> arrayList = new ArrayList<>( Arrays.asList(strArr) ); 

增删改:

  strList.size( ) //获取列表长度
  strList.isEmpty( ) //判断列表是否为空
  strList.clear( ) //清空列表
  strList.toArray( ) //把列表转化为数组

  strList.get( 1 ) //访问元素,开始位置为0;

  strList.subList( nStart, nEnd) //获取nStart和nEnd(不包含)之间的元素;

  strList.add( "hello" ) //在列表末尾添加元素;
  strList.add( 5, "hello" ) //在列表指定位置插入元素;
  strList.set( 5, "hello") //在列表指定位置替换元素;
  strList.remove( ''hello" ) //删除列表中的元素,先查找是否存在,再删除;
  strList.remove( 1 ) //删除列表中的索引下的元素;

查找:

  strList.indexOf ( "hello" ) //查找元素第一次出现的索引,没有返回-1
  strLIst.lastIndexOf ( obj ) //查找元素最后一次出现的索引,没有返回-1
  strList.contains ( "abc" ) //判断元素是否存在,返回true或false

排序:

  Collections.sort ( strList ) // /升序排序,对基本类型和String元素 可直接使用,对自定义类的元素 需要编写比较方法,不推荐使用 ArrayList的sort()方法;
  Collections.sort ( strList, Collections.reverseOrder() ) //降序排序
  Collections.reverse( strList ) //反转列表顺序

java保留两位小数4种方法

方法一:String的format方法(推荐)

# String.format()打印最方便

double f = 111231.5585;

System.out.println(String.format("%.2f", f));

方法二:DecimalFormat的format方法

# 要先引入包,DecimalFormat转换最方便

import java.text.DecimalFormat;

double f = 111231.5585;

DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));

Math函数

1.算数计算


Math.sqrt():计算平方根
Math.cbrt():计算立方根
Math.pow(a,b):计算a的b次方
Math.max( , ):计算最大值
Math.min( , ):计算最小值
Math.abs():取绝对值


2.向上,向下,四舍五入


Math.ceil():天花板的意思,就是向上取整
Math.floor():地板的意思,就是向下取整
Math.rint():四舍五入,返回double值。注意.5的时候会取偶数
Math.round():四舍五入,float是返回int,double时返回long值
Math.random(): 取得一个[0, 1)范围内的随机数

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值