精华内容
下载资源
问答
  • java里边split小数点

    千次阅读 2015-12-22 18:00:18
    关键点:split小数点需要转义字符 今天开发中使用字符串分割函数split(),发现:  String s = "upload/20120416135915265.sql";  System.out.println(s.split

    http://www.blogjava.net/writegull/archive/2012/06/24/381365.html

    关键点:split小数点需要转义字符

    今天开发中使用字符串分割函数split(),发现:

            String s = "upload/20120416135915265.sql";
            System.out.println(s.split("."));
    输出的并不是想要的结果,之后输出:
            System.out.println(s.split(".").length);
    结果竟然是0!!!
    突然想到转义字符,于是:  
            System.out.println(s.split("\\."));
    OK啦!!!
    原来在java中函数split(".")必须是是split("\\.")。
    展开全文
  • 基础储备----Java字符小数点处理

    千次阅读 2018-09-07 16:45:14
    今天帮同学做题的时候涉及到利用小数点切分字符串, 感觉以后在后台开发中可能会遇到这个问题, 所以记录一下.


    1. 前言

    今天帮同学做题的时候涉及到利用小数点切分字符串, 感觉以后在后台开发中可能会遇到这个问题, 所以记录一下.

    2. 概述

    错误的处理方式, 编译能通过, 运行时且不会报错, 但是输出结果是0,

    String input = "hello.java";
    String[] outputs = input.split(".");
    System.out.println(outputs.length);

    正确的处理方式

    String input = "hello.java";
    String[] outputs = input.split("\\.");
    System.out.println(outputs.length);

    3. 解释

    首先抛出来2个问题:
    问题1: 小数点不是转义字符, 为什么不能直接用split(.)?
    问题2: 为什么非要加2个反斜杠, 只加1个不行吗?

    下面给出解释
    解答问题1: split里面的参数是正则表达式, 在正则表达式中, 小数点表示可以匹配任意字符, 所以不能直接用小数点.
    解答问题2: 由于问题1已经解决, 很自然的想法就是加上反斜杠来进行转义, 而且这个转义语法其实只有正则表达式能够识别, Java语言中并不支持这种转义, 所以只加一个反斜杠是不行的, 再通俗点说就是, 我要告诉正则表达式2个字符, 一个是反斜杠, 一个是小数点, 反斜杠由于是特殊字符, 所以我要通过转义了告诉正则表达式, 而小数点不是特殊字符, 所以我可以直接告诉正则表达式, 最后的结果就是两个反斜杠+小数点.

    展开全文
  • java定义的数据类型与转义字符

    千次阅读 2021-03-06 06:15:17
    Java定义的数据类型一、变量按照数据类型来分:基本数据类型:整型:byte \ short \ int \long浮点型:float \ double字符型:char布尔型:boolean引用数据类型:类:class (字符串)接口:interface数组:array二、...

    Java定义的数据类型

    一、变量按照数据类型来分:

    基本数据类型:

    整型:byte \  short \  int  \long

    浮点型:float  \  double

    字符型:char

    布尔型:boolean

    引用数据类型:

    类:class   (字符串)

    接口:interface

    数组:array

    二、按照变量在类中声明的位置来分:

    成员变量 vs 局部变量(此处省略,之后在面向对象会提到)

    基本数据类型变量的使用

    1.整数类型:byte、short、int、long

    整型默认是int类型,声明long型常量后需要加上"l"或"L"

    整数类型介绍:

    (1)字节型:byte,占用存储空间为1字节=8bit位,有2的8次方一共256种情况,-128~127,一共256个长度(算上0).

    代码:

    classVariableTest1{

    public static voidmain(String[] args){

    //1.整型,byte(1字节=8bit)\short(2字节)\int(4字节)\long(8字节)

    //(1)byte范围:-128~127

    byte b1 = 12;

    byte b2 = -128;

    System.out.println(b1);

    System.out.println(b2);

    }

    }

    编译与运行:

    41fbccb4c4d2380732190f80409c9911.png

    若b2=128,再编译:128超出1字节范围

    94797e804f5256d0bf22fd4d2594ac08.png

    (2)short,占用存储空间为2字节=16bit位,有2的16次方种情况,-(2的15次方)~2的15次方-1,一共2的16次方个长度(算上0).

    (3)int,占用存储空间为4字节=32bit位,有2的32次方种情况,-(2的31次方)~2的31次方-1,一共2的16次方个长度(算上0).

    (2)long,占用存储空间为8字节=64bit位,有2的64次方种情况,-(2的63次方)~2的63次方-1,一共2的16次方个长度(算上0).

    总代码:

    class VariableTest1{

    public static void main(String[] args){

    //1.整型,byte(1字节=8bit)\short(2字节)\int(4字节)——常用\long(8字节)

    //(1)byte范围:-128~127

    byte b1 = 12;

    byte b2 = -128;

    //byte b2 = 128;//编译不通过

    System.out.println(b1);

    System.out.println(b2);

    //(2)声明long型变量需要加上"l"或"L"

    //(3)通常使用整型变量时,常用int型

    short s1 = 128;

    int i1 = 1234;

    long l1 = 343L;

    System.out.println(l1);

    }

    }

    编译运行:

    4e90d3a0eabd976e00be846dcfac6fc2.png

    2.浮点型变量的使用(float \ double)—带小数点的

    浮点型常用的两种表示形式:

    十进制数形式:如:5.12 512.0f .512(必须有小数点)

    科学计数法形式:如:5.12e2  512E2 100E-2(这里,e和E是一样的)

    512E2等价于512*10^2

    e2相当于小数点向右移动了2位,E-2相当于小数点向左移动了2位。

    Java的浮点型常量默认为double型,声明float变量,须后加‘f’或‘F‘。

    float:占4个字节,单精度,尾数精度可以达到7位有效数字;double占8个字节,双精度,精度比较高,是float的2倍。

    d5aa22334e90afe0760d86d35a1e4209.png

    3.字符型变量的使用

    char:字节2位,取值范围0~65535,字符编码为Unicode字符集(万国码)

    Unicode字符集支持ASCII编码(美国校准信息交换码)

    Unicode中每个字符都对应一个十进制整数,从而可以使用多种方式赋值。

    字符赋值:(至少得记住3个字符编码) 'A'-65  'a'-97  '0'-48

    (1)字符赋值char   c1='A';  计算机只识别0和1  (A对应的是65)

    (2)整数赋值char c2=65; c1=c2

    大写字母转小写    大写+32=小写

    (3)进制赋值:char c3='\u0041';通过十六进制数41在字符集中所对应的的字符赋值。

    4.转义字符:

    (1)为了在程序中输出单引号,需要用到转义字符。

    class CharTest{

    public static void main(String[] args){

    char c='\''

    System.out.println(c);

    }

    }

    编译运行:

    a1ec3781036451bfb599f38b0c9fd353.png

    (2)转义字符

    b566a23620d5a3d6541be40fca2b6026.png

    5.布尔型

    boolean:字长没有约定,取值范围只能是true或false,可描述真或假。

    内存地址是分配到字节的,不是分配到字节的每一位的。

    注意:Java中的Boolean类型不能参与算数运算。

    基本数据类型变量间转换

    引用数据类型(对象类型)

    6.String:字符串(“”),字符编码为Unicode字符序列。

    String类型变量的使用(引用数据类型-String):

    代码:

    /*

    String类型变量的使用

    1.String属于引用数据类型

    2.声明String类型变量时,使用一对"",单引号会报错

    3.String可以和8种基本数据类型做运算(包括布尔型的类型)

    */

    class StringTest{

    public static void main(String[] args){

    String s1 = "Hello World";

    System.out.println(s1);

    String s2 = "a";

    String s3 = "";

    //char c = '';//编译不通过,字符里不能为空

    //*****************************************

    int number = 1001;

    String numberStr = "学号:";

    String info = numberStr + number;

    boolean b1 = true;

    String info1 = info + b1;//+ 连接

    System.out.println(info1);

    //是加法还是连接?

    //练习1

    char c = 'a';// c=97

    int num = 10;

    String str= "hello";

    System.out.println(c+num+str);//107hello

    System.out.println(c+str+num);//ahello10

    System.out.println(c+(str+num));//ahello10

    System.out.println((c+num)+str);//107hello

    System.out.println(str+num+c);//hello10a

    //练习2

    System.out.println("* *");

    System.out.println('*' +'\t'+ '*');//error int + int

    System.out.println('*' +"\t"+ '*');//String +做连接

    System.out.println('*' +'\t'+ "*");//error int +做连接

    System.out.println('*' +('\t'+ "*"));

    //*******************************************

    //String str1 = 123;

    String str1 = 123 + "";

    System.out.println(str1);

    //int num1 = str1;

    //int num1 = (int)str1;//error

    int num1 = Integer.parseInt(str1);

    System.out.println(num1);

    }

    }

    编译运行:

    f81307706d719c4e9284b937374f9ac8.png

    b5e53feacebe05ba3e5d2b4e2cc7b490.png

    变量类型转换:

    变量类型转换分为自动类型提升和强制变量转换。

    1.自动类型提升:

    代码:

    /*

    基本数据类型之间的运算规则:

    前提:不包含boolean类型

    1.自动类型提升

    当容量小的数据类型与容量小的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

    byte-->short-->int-->long-->float-->double

    特别的:当byte、char、short做运算,结果数据类型均为int类型。

    byte、char、short-->int-->long-->float-->double

    说明:此时的容量大小只的是数据范围的大小,不是占内存的大小

    2.强制类型转换

    */

    class AutoConvertTest{

    public static void main(String[] args){

    byte b1 = 2;//1个字节

    int i1 = 129;//4个字节

    int i2 = b1 + i1;//小的加大的用值范围大的接收

    long l1 = b1 + i1;//右边是int,4字节(左边8字节)

    float f = b1 + i1;//float 4个字节

    //byte b2 = b1 + i1;//4个字节接收 int

    System.out.println(i2);//131

    System.out.println(l1);//131

    System.out.println(f);//131.0

    //**************************

    //char:字节2位,取值范围0~65535

    char c1 = 'a';

    int i3 = 10;

    int i4 = c1 + i3;

    System.out.print(i4);//char与int-->int

    short s2 = 10;

    //short c2 = c1 + s2;//不兼容,编译不通过

    byte b2 = 10;

    //byte c3 = c1 + b2;//不兼容,编译不通过

    //char c3 = c1 + b2;//不兼容,编译不通过

    }

    }

    编译运行:

    eacb6c62f1273b797c8506f7b8ab2547.png

    2.强制变量转换

    一般情况代码:

    classForceConvertTest{

    public static voidmain(String[] args){

    double d1 = 12.9;

    int i1 = (int)d1;//强制转换 截断操作

    System.out.println(i1);

    //没有精度损失

    long l1 = 123;

    short s2 = (short)l1;

    System.out.println(s2);

    int i2=128;

    byte b= (byte)i2; 127

    System.out.println(b);//-128 原因:二进制转换 10000000,最高位为1,1代表负。之后在进制转换会提到。

    }

    }

    编译运行:

    d4215240a565837c46a1671f54f9d0cd.png

    两个特殊情况代码:

    class ForceConvertTest{

    public static void main(String[] args){

    //1.编码情况

    long l=123213;//没写l,int型

    System.out.println(l);//没写l,没有报错(小范围->大范围-自动提升)

    //long l1=213324232352423413;//超出int范围,运行提示过大的整数

    //编译失败

    //错误:不兼容的类型:从double转换到float可能会有损失

    //float f1 = 12.3;

    //System.out.println(f1);

    //2.编码情况

    //整型常量,默认为int型

    //浮点型常量,默认为double型

    byte b = 12;

    //byte b1 = b + 1;//从int转换成byte可能会有损失

    float f1 = b + 12.3;//不兼容(从double到float)

    }

    }

    展开全文
  • 第一个字符串是8个字符,那么前后两个字符串间隔8个字符 //第三种:第一个字符串>8个字符,同时个字符,那么从第一个字符串的第一个字符开始数,数到第17个字符开始放第二个字符串 //通俗的打比方,假想有一个切片,...

    public class Main{

    public static void main(String[] args){

    Person person = new Person();

    String[] name = {"wang","tiantian"};

    //将name对象的地址值复制一份传给了person对象的方法

    person.setName(name);

    //处理数据,获取数据再打印出来

    System.out.println(person.getName());

    //改变name对象的元素值

    name[0] = "\tshi8gea";

    name[1] = "苗";

    //打印结果和上次一样吗?

    System.out.println(person.getName());

    System.out.println("------------------------");

    //你知道平时打字时字符'0','a'和'A'对应的ASCII码(十进制数)是多少吗?

    System.out.println((int)'0');

    System.out.println((int)'A');

    System.out.println((int)'a');

    //如果知道ASCII码(十进制数),怎么再转化为它原本的字符样子呢?

    System.out.println((char)48);

    System.out.println((char)65);

    System.out.println((char)97);

    }

    }

    class Person{

    private String[] name;

    public String getName(){

    //制表符用来排版挺好的,它以8个字符为单位,格式化文本,分三种情况

    //第一种:第一个字符串<8个字符,那么从第一个字符串的第一个字符开始数,数到第9个字符开始放第二个字符串

    //第二种:第一个字符串是8个字符,那么前后两个字符串间隔8个字符

    //第三种:第一个字符串>8个字符,同时<16个字符,那么从第一个字符串的第一个字符开始数,数到第17个字符开始放第二个字符串

    //通俗的打比方,假想有一个切片,将第一个字符串,每隔8个字符就切一下,发现不足8个的时候,就补空格,补完后,下一个字符就开始放第二个字符串.如果恰巧是8的倍数,那就直接在第一个字符串后面再间隔8个空格,开始放第二个字符串就可以了

    return name[0] + "\t" + name[1];

    }

    public void setName(String[] name){

    this.name=name;

    }

    }

    展开全文
  • 由于在Java小数点是一个特殊符号,是对象调用属性和方法的特殊符号,所以编译会出错的,用 \\ 是把小数点转义成单纯的小数点。注意:在字符串中表示 \ 时应转义 \\ 使用split分割小数点的时候,要对小数点进行...
  • Java或任何开放源代码库中是否有任何方法可以转义(不引用)特殊字符(元字符),以便将其用作正则表达式?动态构建正则表达式非常方便,而不必手动转义每个字符。例如,考虑一个简单的正则表达式\d+\.\d+,它匹配带...
  • ​ 当java中有些字符,java语法赋予了特殊的含义,如果不想要这些字符代表特殊含义,想要表示其字符本身,可以使用转义字符进行转义; ​ 转义字符从\开始,常见的转义字符: public static void main(String[] args){ ...
  • java字符串按照小数点进行分割

    千次阅读 2019-03-29 16:51:39
    @Test public void test1() ...在Java小数点是一个特殊符号,是对象调用属性和方法的特殊符号,所以编译会出错的,用\\是把小数点转义成单纯的小数点。 转自: https://www.cnblogs.com/gc-note/p/5455276.html
  • 1.常见的转义字符 字母前面加上反斜线 "\" 来表示常见的那些不能显示的ASCII字符.称为转义字符。如 \0, \t, \n 等。 转义字符 意义 ASCII码值(十进制) \a 响铃...
  • 之前做一个项目时,需要将一个字符串用小数点分割开,调用的是split("."),但是总是分割失败,返回为null,返回的不是自己想要的字符串数组。 之后去网上找出现这个问题的原因,发现是split里的正则表达式写错了,...
  • Java或任何开源库中是否有任何方法可以转义(不引用)特殊字符(元字符),以便将其用作正则表达式?这在动态构建正则表达式时非常方便,无需手动转义每个单独的字符 .例如,考虑一个简单的正则表达式,如 \d+\.\d+ ,...
  • java 字符串按小数点分割

    千次阅读 2019-03-19 10:29:11
    String[] number = str.split("\."); 在Java小数点是一个特殊符号,是对象调用属性和方法的特殊符号,所以编译会出错的,用\是把小数点转义成单纯的小数点。 ...
  • String s = "12.34"; String[] ss = split("."); //输出结果ss为null 解决:小数点 . 是正则表达式中特殊标记,因此需要转义,改为: String[] ss = split("\\.");
  • 首先先附一张表格列出mybatis中特殊字符转义符,也是小菜在网上查的,大于等于和小于等于是小菜在项目使用过就也写上了,等于号 在mybatis中是不需要转义的。    温馨提示:在使用的过程中别忘了带分号。还有一...
  • java中的转义字符

    2021-06-02 13:06:14
    java中的转义字符 为了让某些字母或者单词在程序中有特殊含义,java 提供一批转义字符 转义字符解释 \t //表示制表符,也就是8个字节符的位置【8个空格】 \n // 换行 \r //回车 \ \ //转义斜杠 /** * ...
  • 我们在Java中,如果遇到两个不同类型的操作数,同样可以进行二元运算。例如其中一个操作数是整数,而另一个操作数是浮点数,Java会自动将整数转换成为浮点值,比如说3*3.5就被转换成了3.0*3.5.Java中可以将一个数值...
  • 这里写自定义目录标题简单实用的一种全面详细的,但是亲测小数点会被排除掉两篇都是借鉴整理的,详见这两篇博客 简单实用的一种 var str = “2.65KM之内”; var strstr = “字符串zifuchuan36.254KM之内”; var num ...
  • Java的数据类型分为两大类: 基本数据类型:包括 整数、浮点数、字符、布尔。 引用数据类型:包括 类、数组、接口、对象、String。 数据类型的转换 1.1 自动转换 自动转换:将取值范围小的类型自动提升为 取值类型...
  • 而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 所有的转义字符和所对应的意义: 转义字符 ...
  • 由于%符号用作格式说明符的前缀,因此,如果要将%符号显示为输出字符串的一部分,则需要对其进行转义。要转义百分号(%),您需要像写两次%%。它将%在printf()方法输出中打印出一个符号。让我们在下面的代码片段中查看...
  • 我们在日常开发时会经常遇到将一个字符串按照指定的字符进行分割。...如小数点“.”下面我为大家推荐一种可以无需转义,即可分割的方法。使用org.springframework.util.stringutils 中的 delimitedlisttostringar...
  • java中replace方法中遇到的转义字符

    千次阅读 2011-03-31 16:43:00
    但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是: ( [ { / ^ - $...
  • 上图可以看出,小数点直接split会返回空数组,因为小数点java语法的特殊字符,需要进行转义(添加\)方可正常处理,类似字符还有:() [] {} + - * / . ^ ? $ ¦ 。等。
  • 大纲 一、二进制与十进制,八进制,十六进制之间的互换及科学计数法 二、Java标识符的命名规则及关键字 三、Java的基本数据类型(4大类,8种)及转换 ...五、Java运算符、分隔符、转义字符、注释 六、自我介绍
  • 转义字符 System.out.println("使用\\t制表符可以达到对齐的效果"); System.out.println("abc\tdef"); System.out.println("ab\tdef"); System.out.println("a\tdef"); System.out.println("单引号 "); ...
  • 场景:把字符串2020.04.28中的(.)点号全都换成(-)横线。 代码示例 /** * 测试类 * @author shixiangcheng * 2020-04-28 */ public class Test { public static void main(String [] args){ //原始字符串 ...
  • 字符串中需要转义字符组合

    千次阅读 2018-08-28 16:40:27
    今天在测试项目程序的时候,发现了点小问题,想要改变一下代码逻辑,遇到如下问题: String str = "aaaaaaa}/{bbbbbbb";  System.out.println(str.... java.util.regex.PatternSyntaxException: Illega...
  • julia 字符转数字 Julia| 字符输入 (Julia | Character Input) In Julia programming language, we can use read() function to input a single character at the run-type by using the following syntax: 在Julia...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,674
精华内容 4,269
关键字:

java转义字符小数点

java 订阅