精华内容
下载资源
问答
  • JDK中包含JRE以及开发、调试和监控应用程序的工具:编译工具(javac.exe)、打包工具()、Java监控和管理平台(jConsole、jvisualvm)等。2、集成开发环境——eclipseEclipse 是一个开放源代码的、...

    Java基础语法

    一、环境

    1、开发&编译——JDK

    JDK是java开发工具包(Java Development Kit)的缩写,是提供给Java开发人员使用。JDK中包含JRE以及开发、调试和监控应用程序的工具:编译工具(javac.exe)、打包工具()、Java监控和管理平台(jConsole、jvisualvm)等。

    2、集成开发环境——eclipse

    Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    二、程序结构

    Java Project

    *.java源文件中,至少会包含一个class类,该类的名称必须与源文件名一致,并且使用public修饰符

    public class Demo01 {

    }

    class Demo01x{

    }

    class Demo02x{

    }

    class Demo03x{

    }

    三、输出语句

    1、System.out.println ( )-----输出并换行

    2、System.out.print ( )-----仅输出

    3、System.out.printf ( )-----格式化输出

    %s%d%f字符串整数浮点数

    public static void main(String[] args) {

    //输出并换行

    // 输出字符串

    System.out.println("hello,world!");

    // 输出数字

    System.out.println(567325);

    // 整数+与整数

    System.out.println(345+ 300);

    // 整数+字符串

    System.out.println(2000 + "ABABCFG");

    System.out.println(12 + 27 + "ABC");

    System.out.println("ABC" + 17 + 29);

    //输出不换行

    System.out.print("ABC");

    System.out.print("DEF");

    }

    public static void main(String[] args) {

    String Name = "樱桃小丸子";

    int age = 16;

    double weight = 32.5;

    //按格式输出

    System.out.printf("姓名:%s,年龄:%d,体重:%.2f公斤!",Name,age,weight);

    }

    4、转义符

    \n\t代表换行代表制表符

    public static void main(String[] args) {

    System.out.print("问君能有几多愁,\n恰似一江春水向东流。\n");

    System.out.print("问君能有几多愁,\t恰似一江春水向东流。\n");

    }

    四、数据类型

    1.基本数据类型

    类型名称(中文名称)类型名称(英文关键字)内存占用(字节长度)数值型字节型byte1个字节

    短整型short2个字节

    整型int4个字节

    长整型long8个字节

    单精度浮点型float4个字节

    双精度浮点型double8个字节

    非数值型字符型char2个字节

    布尔型boolean4个字节

    2.引用数据类型

    (1)、String(字符串)

    (2)、数组

    五、运算符

    1.算数运算符

    数字之间进行运算,运算结果仍为数字

    算数运算符名称+加

    -减

    *乘

    /除

    %取余

    ++自增

    - -自减

    2.关系运算符

    数字之间进行运算,运算结果为boolean

    关系运算符名称>大于

    >=大于等于

    <=小于等于

    ==等于

    !=不等于

    3.逻辑运算符

    boolean之间进行逻辑运算,运算结果为boolean

    逻辑运算符名称运算规则&&“与”运算同时为true,结果为true;否则为false

    II“或”运算其中一方为true,结果为true;两方同时为false,结果为false

    !“非”运算取反

    六、流程控制

    1.条件分支

    (1)、if语句

    单分支 —— if( ){ }

    双分支 —— if( ){ } else{ }

    public static void main(String[] args) {

    String pwd = "352627gdtsGSFW5";

    if(pwd.length() >= 6 && pwd.length() <= 20) {

    System.out.println("密码长度满足!");

    }else {

    System.out.println("密码长度不满足!");

    }

    }

    多分支 —— if( ){ } else if( ){ } else if( ){ } else{ }

    public static void main(String[] args) {

    int expenditure = 2785;

    if(expenditure < 1000) {

    System.out.println("打九五折");

    }else if(expenditure < 2000){

    System.out.println("打九折");

    }else if(expenditure < 3000) {

    System.out.println("打八五折");

    }else {

    }

    }

    (2)、switch语句

    仅能做等值判断

    public static void main(String[] args) {

    char c = 'T';

    switch(c) {

    case 'A':

    System.out.println("a");

    break;

    case 'B':

    System.out.println("b");

    break;

    case 'C':

    System.out.println("c");

    break;

    default:

    System.out.println("none");

    break;

    }

    }

    2.循环

    (1)、while —— 先判断,再执行

    (2)、do…while —— 先执行,再判断

    (3)、for —— 遍历数组或循环固定次数

    public static void main(String[] args) {

    int a = 34, b = 4;

    // 先判断,再执行

    while(a < b) {

    System.out.println(a);

    b++;

    }

    // 先执行,再判断

    do {

    System.out.println(a);

    }while(a < b);

    //循环固定次数

    for (int i = 1; i <= 100; i++) {

    System.out.printf("第%d次:我与夏风皆过客\n",i);

    }

    }

    七、数组

    数组是一种引用数据类型,用于保存一组相同类型的数据结构,长度固定;

    使用连续的内存空间进行存储,所以元素有序,遍历速度比较快;

    下标从0开始,尾下标为长度-1,超出范围引发ArrayIndexOutOfBoundsException异常。

    // 创建数组

    int[] numArray = new int[5];

    // 访问每个元素

    numArray[0] = 13; //第一个元素下标为0

    numArray[1] = 26;

    numArray[2] = 19;

    numArray[3] = 32;

    numArray[4] = 27; //最后一个元素下标为长度-1

    //numArray[5] = 3; //越界

    标签:运算符,Java,String,基础,System,语法,println,public,out

    来源: https://blog.csdn.net/weixin_51554637/article/details/112735228

    展开全文
  • 1、标识符的命名规则(1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$(2)不能使用Java的关键字(包含保留字)和特殊值(3)数字不能开头(4)不能包含空格(5)严格区分大小写2、标识符的命名规范...

    2.1 标识符

    简单的说,凡是程序员自己命名的部分都可以称为标识符。

    即给类、变量、方法、包等命名的字符序列,称为标识符。

    1、标识符的命名规则

    (1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$

    (2)不能使用Java的关键字(包含保留字)和特殊值

    (3)数字不能开头

    (4)不能包含空格

    (5)严格区分大小写

    2、标识符的命名规范

    (1)见名知意

    (2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,

    例如:HelloWorld,String,System等

    (3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,

    例如:age,name,bookName,main

    (4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

    例如:java.lang

    (5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

    例如:MAX_VALUE,PI

    2.2 变量

    2.2.1 变量的概念

    变量的作用:用来存储数据,代表内存的一块存储区域,变量中的值是可以改变的。

    2.2.2 变量的三要素

    1、数据类型

    2、变量名

    3、值

    2.2.3 变量的使用应该注意什么?

    1、先声明后使用

    如果没有声明,会报“找不到符号”错误

    2、在使用之前必须初始化

    如果没有初始化,会报“未初始化”错误

    3、变量有作用域

    如果超过作用域,也会报“找不到符号”错误

    4、在同一个作用域中不能重名

    2.2.4 变量的声明和赋值、使用的语法格式?

    1、变量的声明的语法格式:

    数据类型  变量名;

    例如:

    int age;

    String name;

    double weight;

    char gender;

    boolean isMarry;

    2、变量的赋值的语法格式:

    变量名 = 值;

    例如:

    age = 18;

    name = "柴林燕"; //字符串的值必须用""

    weight = 44.4;

    gender = ‘女‘;//单字符的值必须使用‘‘

    isMarry = true;

    3、变量的使用的语法格式:

    通过变量名直接引用

    ?

    例如:

    (1)输出变量的值

    System.out.print(name);

    System.out.print("姓名:" + name);//""中的内容会原样显示

    System.out.print("name = " + name);

    (2)计算

    age = age + 1;

    2.3 数据类型

    2.3.1 Java数据类型的分类

    1、基本数据类型

    8种:整型系列(byte,short,int,long)、浮点型(float,double)、单字符型(char)、布尔型(boolean)

    2、引用数据类型

    类、接口、数组、枚举.....

    2.3.2 Java的基本数据类型

    1、整型系列

    (1)byte:字节类型

    占内存:1个字节

    存储范围:-128~127

    (2)short:短整型类型

    占内存:2个字节

    存储范围:-32768~32767

    (3)int:整型

    占内存:4个字节

    存储范围:-2的31次方 ~ 2的31次方-1

    (4)long:整型

    占内存:8个字节

    存储范围:-2的63次方 ~ 2的63次方-1

    注意:如果要表示某个常量数字它是long类型,那么需要在数字后面加L

    2、浮点型系列(小数)

    (1)float:单精度浮点型

    占内存:4个字节

    精度:科学记数法的小数点后6~7位

    注意:如果要表示某个常量数字是float类型,那么需要在数字后面加F或f

    (2)double:双精度浮点型

    占内存:8个字节

    精度:科学记数法的小数点后15~16位

    3、单字符类型

    char:字符类型

    占内存:2个字节

    Java中使用的字符集:Unicode编码集

    字符的三种表示方式:

    (1)‘一个字符‘

    例如:‘A‘,‘0‘,‘尚‘

    (2)转义字符

    \n:换行

    \r:回车

    \t:Tab键

    \\:\

    \":”

    \‘:

    \b:删除键Backspace

    (3)\u字符的Unicode编码值的十六进制型

    例如:\u5c1a代表‘尚‘

    4、布尔类型

    boolean:只能存储true或false

    2.3.3 进制(了解,可以暂时忽略)

    1、进制的分类:

    (1)十进制

    数字组成:0-9

    进位规则:逢十进一

    (2)二进制

    数字组成:0-1

    进位规则:逢二进一

    (3)八进制

    数字组成:0-7

    进位规则:逢八进一

    (4)十六进制

    数字组成:0-9,a~f(或A~F)

    进位规则:逢十六进一

    2、请分别用四种类型的进制来表示10,并输出它的结果:(了解)

    (1)十进制:正常表示

    System.out.println(10);

    (2)二进制:0b或0B开头

    System.out.println(0B10);

    (3)八进制:0开头

    System.out.println(010);

    (4)十六进制:0x或0X开头

    System.out.println(0X10);

    3、为什么byte是-128~127?(理解)

    1个字节:8位

    0000 0001 ~ 0111 111 ==> 1~127

    1000 0001 ~ 1111 1111 ==> -127 ~ -1

    0000 0000 ==>0

    1000 0000 ==> -128(特殊规定)

    解释:计算机数据的存储(了解)

    计算机数据的存储使用二进制补码形式存储,并且最高位是符号位,1是负数,0是正数。

    规定:正数的补码与反码、原码一样,称为三码合一;

    负数的补码与反码、原码不一样:

    负数的原码:把十进制转为二进制,然后最高位设置为1

    负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)

    负数的补码:反码+1

    例如:byte类型(1个字节,8位)

    25 ==> 原码 0001 1001 ==> 反码 0001 1001 -->补码 0001 1001

    -25 ==>原码 1001 1001 ==> 反码1110 0110 ==>补码 1110 0111

    底层是用加法代替减法:-128==》-127-1==》-127+(-1)

    -127- -1 ==> -127 + 1

    4、学生疑惑解答?

    (1)为什么float(4个字节)比long(8个字节)的存储范围大?

    (2)为什么double(8个字节)比float(4个字节)精度范围大?

    因为float、double底层也是二进制,先把小数转为二进制,然后把二进制表示为科学记数法,然后只保存:

    (1)符号位(2)指数位(3)尾数位

    详见《float型和double型数据的存储方式.docx》

    2.3.4 基本数据类型的转换

    1、自动类型转换

    (1)当把存储范围小的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围大的变量时,

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

    char->

    int i = ‘A‘;//char自动升级为int

    double d = 10;//int自动升级为double

    (2)当存储范围小的数据类型与存储范围大的数据类型一起混合运算时,会按照其中最大的类型运算

    int i = 1;

    byte b = 1;

    double d = 1.0;

    ?

    double sum = i + b + d;//混合运算,升级为double

    (3)当byte,short,char数据类型进行算术运算时,按照int类型处理

    byte b1 = 1;

    byte b2 = 2;

    byte b3 = (byte)(b1 + b2);//b1 + b2自动升级为int

    ?

    char c1 = ‘0‘;

    char c2 = ‘A‘;

    System.out.println(c1 + c2);//113

    (4)boolean类型不参与

    2、强制类型转换

    (1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围小的变量时,需要强制类型转换

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

    ->char

    提示:有风险,可能会损失精度或溢出

    double d = 1.2;

    int num = (int)d;//损失精度

    ?

    int i = 200;

    byte b = (byte)i;//溢出

    (2)boolean类型不参与

    (3)当某个值想要提升数据类型时,也可以使用强制类型转换

    int i = 1;

    int j = 2;

    double shang = (double)i/j;

    提示:这个情况的强制类型转换是没有风险的。

    2.3.5 特殊的数据类型转换

    1、任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

    System.out.println("" + 1 + 2);//12

    2、但是String类型不能通过强制类型()转换,转为其他的类型

    String str = "123";

    int num = (int)str;//错误的

    2.4 运算符

    1、按照操作数个数的分类:

    (1)一元运算符:操作数只有一个

    例如:正号(+),负号(-),自增(++),自减(--),逻辑非(!),按位取反(~)

    (2)二元运算符:操作数有两个

    例如:加(+),减(-),乘(*),除(/),模(%)

    大于(>),小于(=),小于等于(<=),等于(==),不等于(!=)

    赋值(=,+=,-=,*=,/=,%=,>>=,<<=。。。)

    逻辑与(&),逻辑或(|),逻辑异或(^),短路与(&&),短路或(||)

    左移(<>),无符号右移(>>>),按位与(&),按位或(|),按位异或(^)

    (3)三元运算符:操作数三个

    例如: ? :

    2、Java基本数据类型的运算符:

    (1)算术运算符

    (2)赋值运算符

    (3)比较运算符

    (4)逻辑运算符

    (5)条件运算符

    (6)位运算符(难)

    2.4.1 算术运算符

    加法:+

    减法:-

    乘法:*

    除法:/

    注意:整数与整数相除,只保留整数部分

    取模:% 取余

    注意:取模结果的正负号只看被模数

    正号:+

    负号:-

    自增:++

    自减:--

    原则:自增与自减

    ++/--在前的,就先自增/自减,后取值

    ++/--在后的,就先取值,后自增/自减

    整个表达式的扫描,是从左往右扫描,如果后面的先计算的,那么前面的就暂时先放到“操作数栈”中

    代码示例:

    int i = 1;

    i++;//i=2

    ?

    int j = 1;

    ++j;//j=2

    ?

    int a = 1;

    int b = a++;//(1)先取a的值“1”放操作数栈(2)a再自增,a=2(3)再把操作数栈中的"1"赋值给b,b=1

    ?

    int m = 1;

    int n = ++m;//(1)m先自增,m=2(2)再取m的值“2”放操作数栈(3)再把操作数栈中的"2"赋值给n,n=1

    ?

    int i = 1;

    int j = i++ + ++i * i++;

    /*

    从左往右加载

    (1)先算i++

    ①取i的值“1”放操作数栈

    ②i再自增 i=2

    (2)再算++i

    ①i先自增 i=3

    ②再取i的值“3”放操作数栈

    (3)再算i++

    ①取i的值“3”放操作数栈

    ②i再自增 i=4

    (4)先算乘法

    用操作数栈中3 * 3 = 9,并把9压会操作数栈

    (5)再算求和

    用操作数栈中的 1 + 9 = 10

    (6)最后算赋值

    j = 10

    */

    2.4.2 赋值运算符

    基本赋值运算符:=

    扩展赋值运算符:+=,-=,*=,/=,%=...

    注意:所有的赋值运算符的=左边一定是一个变量

    扩展赋值运算符=右边的计算结果的类型如果比左边的大的话会强制类型转换,所以结果可能有风险。

    扩展赋值运算符的计算:(1)赋值最后算(2)加载数据的顺序是把左边的变量的值先加载,再去与右边的表达式进行计算

    int i = 1;

    int j = 5;

    j *= i++ + j++;//j = j *(i++ + j++);

    /*

    (1)先加载j的值“5”

    (2)在计算i++

    ①先加载i的值“1”

    ②再i自增,i=2

    (3)再计算j++

    ①先加载j的值"5"

    ②再j自增,j=6

    (4)算 加法

    i + 5 = 6

    (5)算乘法

    5 * 6 = 30

    (6)赋值

    j = 30

    */

    2.4.3 比较运算符

    大于:>

    小于:<

    大于等于:>=

    小于等于:<=

    等于:==注意区分赋值运算符的=

    不等于:!=

    注意:比较表达式的运算结果一定只有true/false

    比较表达式可以作为(1)条件(2)逻辑运算符的操作数

    2.4.4 逻辑运算符

    逻辑运算符的操作数必须是布尔值,结果也是布尔值

    逻辑与:&运算规则:只有左右两边都为true,结果才为true。例如:true & true 结果为truefalse & true 结果为falsetrue & false 结果为falsefalse & false 结果为false逻辑或:|运算规则:只要左右两边有一个为true,结果就为true。例如:true | true 结果为truefalse | true 结果为truetrue | false 结果为truefalse | false 结果为false逻辑异或:^运算规则:只有左右两边不同,结果才为true。例如:true ^ true 结果为falsefalse ^ true 结果为truetrue ^ false 结果为truefalse ^ false 结果为false

    逻辑非:!运算规则:布尔值取反例如:!true 为false!false 为true

    短路与:&&运算规则:只有左右两边都为true,结果才为true。例如:true & true 结果为truetrue & false 结果为falsefalse & ? 结果就为false它和逻辑与不同的是当&&左边为false时,右边就不看了。短路或:||运算规则:只要左右两边有一个为true,结果就为true。例如:true | ? 结果为treufalse | true 结果为truefalse | false 结果为false它和逻辑或不同的是当||左边为true时,右边就不看了。

    开发中一般用短路与和短路或比较多

    面试题:&& 和 &的区别?

    &&当左边为false,右边不计算

    &不管左边是true还是false,右边都要计算

    2.4.5 条件运算符

    ? :

    语法格式:

    条件表达式 ? 结果表达式1 : 结果表达式2

    运算规则:

    整个表达式的结果:当条件表达式为true时,就取结果表达式1的值,否则就取结果表达式2的值

    代码示例:

    (1)boolean类型

    boolean marry = true;

    System.out.println(marry? "已婚" : "未婚");

    ?

    (2)求最值

    int i = 3;

    int j = 5;

    int max = i>=j ? i : j;

    //当i>=j时,max就赋值为i的值,否则就赋值为j的值

    2.4.6 位运算符

    左移:<<

    运算规则:左移几位就相当于乘以2的几次方

    右移:>>

    运算规则:右移几位就相当于除以2的几次方

    无符号右移:>>>

    运算规则:往右移动后,左边空出来的位直接补0,不看符号位

    按位与:&

    运算规则:

    1 & 1 结果为1

    1 & 0 结果为0

    0 & 1 结果为0

    0 & 0 结果为0

    按位或:|

    运算规则:

    1 | 1 结果为1

    1 | 0 结果为1

    0 | 1 结果为1

    0 & 0 结果为0

    按位异或:^

    运算规则:

    1 ^ 1 结果为0

    1 ^ 0 结果为1

    0 ^ 1 结果为1

    0 ^ 0 结果为0

    按位取反:~

    运算规则:~0就是1

    ~1就是0

    如何区分&,|,^是逻辑运算符还是位运算符?

    如果操作数是boolean类型,就是逻辑运算符,如果操作数是整数,那么就位运算符。

    2.4.7 运算符优先级

    提示说明:

    (1)表达式不要太复杂

    (2)先算的使用()

    2.4.8 运算符操作数类型说明

    1、算术运算符

    数字和单个字符可以使用算术运算符。

    其中+,当用于字符串时,表示拼接。

    2、赋值运算符

    右边的常量值、表达式的值、变量的值的类型必须与左边的变量一致或兼容(可以实现自动类型转换)或使用强制类型转换可以成功。

    3、比较运算符

    其他的比较运算符都是只能用于8种基本数据类型。

    其中的==和!=可以用于引用数据类型的比较,用于比较对象的地址。(后面讲)

    int i = 10;

    int j = 10;

    System.out.println(i==j);//true

    ?

    char c1 = ‘帅‘;

    char c2 = ‘帅‘;

    System.out.println(c1 == c2);//true

    4、逻辑运算符

    逻辑运算符的操作数必须是boolean值

    5、条件运算符

    ?前面必须是条件,必须是boolean值

    结果表达式1和结果表达式2要保持类型一致或兼容

    6、位运算符

    一般用于整数系列

    以上运算符都是针对基本数据类型设计的。

    能够用于引用数据类型只有基本的赋值运算符=,和比较运算符中的==和!=。其他运算符都不能用于引用数据类型。

    其中字符串类型还有一个+,表示拼接。

    展开全文
  • 在C#中,用@引导的字符串,会使用原义,如c:\abc.txt,不必使用转义符了,包括换行。在Java中有类似的格式?一个字符串,我从中回车换行后,它自动拆分为两个字符串相+了。
  • JSON.parse解析json字符串包含\n回车换行符报错2020年5月27日 17点31分 今天改离职妹子代码的时候遇到了一个问题,我吐了。。。JSON.parse()可以将Json字符串转换成Json对象var json = '{"remark":"1\u3001\u548C\u5...

    JSON.parse解析json字符串包含\n回车换行符报错

    2020年5月27日 17点31分 今天改离职妹子代码的时候遇到了一个问题,我吐了。。。

    JSON.parse()可以将Json字符串转换成Json对象

    var json = '{"remark":"1\u3001\u548C\u5BA2\u6237\u786E\u8BA4\u662F\u5426\u6B63\u5E38\u4E0A\u7EBF\uFF0C\u5982\u679C\u662F\uFF0C\u9700\u8981\u5BA2\u6237\u63D0\u4F9B\u90AE\u4EF6\u8D70\u5148\u4E0A\uFF1B\n2\u3001\u5982\u679C\u4E0D\u80FD\u6B63\u5E38\u4E0A\u7EBF\uFF0C\u8BA9\u5BA2\u6237\u786E\u8BA4\u662F\u5426\u6362\u65F6\u95F4\uFF0C\u5220\u9664\u4E0D\u9700\u8981\u7684\u7684\u8D44\u6E90\u3002","status":1,"createAt":"2020-05-25T12:03:32.000+08:00","updateAt":null,"createBy":"79086","updateBy":null}';

    //妹子写的

    JSON.parse(json)

    这样的写法是存在问题的,如果json中存在\n回车等特殊符号时,js会报解析失败的错误

    VM90:1 Uncaught SyntaxError: Unexpected token

    in JSON at position 41

    at JSON.parse ()

    at :7:6

    unicode转码后排查数据中确实包含回车符号

    var json = '{"remark":"1、和客户确认是否正常上线,如果是,需要客户提供邮件走先上;\n2、如果不能正常上线,让客户确认是否换时间,删除不需要的的资源。","status":1,"createAt":"2020-05-25T12:03:32.000+08:00","updateAt":null,"createBy":"79086","updateBy":null}';

    解决方法:

    保存的的时候后台过滤、前台获取的时候进行过滤。

    //改后的前台获取的时候进行过滤。

    JSON.parse(json.replace(/[\r\n\s+]/g, ''))

    展开全文
  • 只能匹配出\n以外的字符,如果遇到要匹配的字符串包含回车换行符(多行),则正则表达式遇到换行符后会停止,导致包含回车换行符的串不能正确匹配,解决的办法是:1、使用Pattern和Matcher对象设置Pattern模式为:...

    默认情况下.*中的.只能匹配出\n以外的字符,如果遇到要匹配的字符串包含回车换行符(多行),则正则表达式遇到换行符后会停止,导致包含回车换行符的串不能正确匹配,解决的办法是:

    1、使用Pattern和Matcher对象

    设置Pattern模式为:Pattern.DOTALL

    2、使用String.replaceAll()

    正则表达式写法:

    String reg = "(?s)'.*'";

    下面是一个包含回车换行字符的正则表达式替换处理例子。

    static String teststr = "UAPPROJECT_ID='402894cb4833decf014833e04fd70002 ; \n\r */' select ";

    /**

    * 包含回车换行符的处理

    */

    public void testa(){

    Pattern wp = Pattern.compile("'.*?'", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);

    Matcher m = wp.matcher(teststr);

    String result = m.replaceAll("");

    System.out.println("result:" + result);

    }

    /**

    * 包含回车换行符的处理

    */

    public void testb(){

    String result = teststr.replaceAll("(?s)'.*?'", "");

    System.out.println("result:" + result);

    }

    展开全文
  • 数据库中的workExp(工作经历)字段是带换行或回车的字符串。再取出拼json的时候,换行会破坏json格式。... //workexp 工作经历中包含换行,进行处理后放入json字符串中。 BufferedReader...
  • 转义字符串可以有转义字符,转义字符串很像Java字符串 原始字符串 原始字符串可以包含换行和任意文本。原始字符串需要用3个引号引起来。 二、字符串类型示例代码 如下所示: fun stringTest() { //定义普通字符...
  • 今天写代码时遇到需要解析由第三方系统传来的字符串,但是测试过程中发现第三方系统传来的字符串包含\n\t等字符( 不是回车换行,是字符串包含 )。如:My name is \“ZhangSan\”\n\t, nice to\n meet\t you. &...
  • 如果字符串内部既包含’又包含”怎么办?可以用转义字符\来标识,比如: 'I\'m \OK\!'; 表示的字符串内容是:I’m “OK”! 转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\...
  • 之前出了一个问题,查看了一圈才发现原来我替换的是换行包含回车,替换回车和换行,替换如下:str.replace("\n","").replace("\r","")。  记录一个自己的错误,就这样了。
  • Java基础(四)字符串

    2019-04-17 18:05:46
    String类 声明和创建 声明,必须包含在一对””内,必须经过初始化才能使用。 字符串的创建 创建类对象这里忽略,复习到类对象的时候再讲 ...连接多个字符串使用+ 注意出现换行不能直接回车,直...
  • 字符串 kotlin(6)

    2018-01-30 14:23:00
    字符串用 String 类型表示。字符串是不可变的。 字符串的元素——字符可以...Kotlin 有两种类型的字符串字面值: 转义字符串可以有转义字符,以及原生字符串可以包含换行和任意文本。转义字符串很像 Java 字符串: ...
  • Java正则表达式匹配回车换行多行

    万次阅读 2015-10-29 16:55:42
    只能匹配出\n以外的字符,如果遇到要匹配的字符串包含回车换行符(多行),则正则表达式遇到换行符后会停止,导致包含回车换行符的串不能正确匹配,解决的办法是: 1、使用Pattern和Matcher对象 设置Pattern模式为:...
  •  *如果包含有回车换行符,在字符串中表现为“\n”,页面统计输入字符(myform.content.value.length “\n”算一个字符)  *而不是我们通常所见的“\r\n”。而java 后台代码中和数据库统计字符时按"\r\n"...
  • 试想我们需要在一个 font_max 的长度空间,任意的添加文字,但不能换行,于是,我们就要保证字体的大小能放入这个 font_max 长度,那就需要检验文字的像素长度,他可能包含汉字、英文、符号等,所以不能简单计算。...
  • Python中的字符串

    2018-11-15 00:14:27
    字符串的定义: 在Python中字符串的定义是用一对 ' ' 或者 " " 来定义的。 转义字符: 同Java相同,在Python中同样使用“\”...在一个包含很多需要转义的单行字符串前面加前缀r,这样字符串里面的每一...
  • 试想我们需要在一个 font_max 的长度空间,任意的添加文字,但不能换行,于是,我们就要保证字体的大小能放入这个 font_max 长度,那就需要检验文字的像素长度,他可能包含汉字、英文、符号等,所以不能简单计算。...
  • java中的转义字符

    千次阅读 2017-08-22 00:27:57
    转义字符就是加上“\”改变了后面字符的本来意思,使用场景:打印无法用键盘输出的字符比如换行,还要打印一个字符串,这个字符串包含了单引号或者双引号。  java中常见的转义字符:  \r:回车  \n:换行(new...
  • 最近需要解析一个JSONArray类型的字符串1 [{"key":"姓名","value":"XX"},{"key":"资质","value":"从事贵金属投资行业10年2 国家期货二级分析师3 上金所荣誉长老"},{"key":"其他","value":""}]在key资质对应的value中...
  • __unescape(用于反转义Java-escaped字符串) __unescapeHtml(用于反转义一个包含HTML字符串,将其变为包含实际Unicode字符的字符串) __escapeHtml(用于转义HTML字符串中的字符) 问题的解决办法就是一句:...
  • Java输入——Scanner用法(全)

    千次阅读 多人点赞 2019-08-27 22:18:11
    Scanner用法 目录 ...7、换行输入数字和字符串(需要包含空格) 1、输入整数、字符串数组 第一行输入n, m 第二行输入n个整数 第三行输入m个字符串 //导入包 import java.util.Scanner; import ...
  • 大小写互换【java

    千次阅读 2016-08-31 14:35:17
     现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。 输入第一行只有一个整数m(m 接下来的m行,每行有一个字符串(长度不超过100)...
  • JAVA语言基础

    2020-03-18 10:24:29
    JAVA语言中基本所有输入元素都是采用ASCⅡ,而标识符、字符、字符串和注释则采用Unicode。长度:2个字节,16位 分隔符 ①.空白符:没有明确意义,包括空格、回车、换行和制表符(Tab) ②.普通分隔符——(),{},[]...
  • java中需要在字符串(文本)末尾包含换行符"\n",“\r”或者“\r \n”就可以进行换行。换行符"\n""\n"也称换行,一般在基于Unix / Linux / New Mac的操作系统中使用。示例:public class A {public static void main...
  • API使用入门 API文档:程序员的字典,指导我们...public String next(): 可以获取从开头到空格[空,tab,回车换行]之前的字符串[常用] public String nextLine(): 可以获取整行的字符串,包含空 注意: nextLine方法前...
  • String——Kotlin基础

    2020-03-15 16:02:19
    原始字符串包含换行和任意文本。需要用三个双引号引起来。 原始字符串 var txt = """ |床前明月光, |疑是地上霜。 |举头望明月, |低头思故乡。 """.trimMargin() println(txt) txt = """ >昔人已乘...
  • 一、spilt分割字符串 String str = "2134|678.654"; // 此处的参数regex是指规则表达式的意思,要注意在该方法中使用了转义字符,而不是正则表达式 // 此转义字符非彼转义字符,这里的转义字符是方法内部对某几个...
  • 在PTA提交Java程序需要注意如下几个要点: 文章目录0. 不要包含package关键字1....输出5.1 `System.out.println("abc")`打印字符串"abc"并回车换行。可使用`+`号连接各个类型的变量,组装成字符...
  • read方法功能:读取单个字符。 返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果... 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null为了帮助理解我写了一...
  • 换行符问题 对于包含换行符\n的字符串,TextView控件在XML布局文件添加 android:text属性或者在java代码中使用 setText() 方法为其设置文本内容时,在设备中都能够正常换行显示。 但是将其包装到实体类VersionInfo中...

空空如也

空空如也

1 2 3 4 5 6
收藏数 107
精华内容 42
关键字:

java字符串包含换行

java 订阅