Java字符串与包装类

/**
 * 字符串与包装类
 */
package com.org.lxh;


import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
 * @author Administrator
 *
 */
public class Chp8 {
/*
* 验证电话号码
*/
public static String checkPhoneNumber(String text){
if(text == null || text.isEmpty()){
return "error";
}

//定义正则表达式
String regex = "^\\d{3}-?\\d{8}\\d{4}-?\\d{8}$";
if(text.matches(regex))
return "电话号码";
else
return "不是的";

}





/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

//1、语句 "3+5="+3+5 输出什么?
System.out.println("3+5="+3+5);

//2、String str = null; 与 String str=""; 的区别是什么?
/*
* 前一句没有分配内存,后一句创建了一个长度为0的空字符串。并在内存中为其分配了内存空间。

*/

//3、String类是否可以被继承?
/*
* 不可以

*/

//4、字符串大小写的转换?
/*


*/
String str = "Long long ago, There's girl,She's name little REDHAT!";
String str2 = str.toUpperCase();
String str3 = str.toLowerCase();
System.out.println(str + "\n" + str2 + "\n" + str3);


//5、字符串的反向输出?
/*



*/

//6、== 运算符与equals()比较对象的区别是什么?
/*
* 当使用运算符 “==” 比较两个对象时,是比较两个对象使用的内存地址和内容是否相同,如果两个对象使用的是同一个地址,
* 并且内容相同,则结果为true,否则结果为false。

* 当使用equals()比较两个对象时,则是比较两个对象的内容是否相同,而与对象的内存地址无关。

*/
String str11 = new String("hello");
String str22 = new String("hello");
String str33 = str22; //str22与str33同一个内存地址
String str44 = "hello";

//使用 == 比较str11和str22
System.out.println("str1 == str2 比较的结果为: \t" + (str11 == str22)); //false

//使用 == 比较str22和str33
System.out.println("str22 == str33 比较的结果为:\t" + (str22 == str33)); //true

//
System.out.println("str22 == str44 的比较结果为:\t" + (str22 == str44)); //false

//使用equals比较str11和str22
System.out.println("str11.equals(str22)的结果为:\t" + str11.equals(str22)); //true

//使用equals比较str22和str33
System.out.println("str22.equals(str33)的结果为:\t" + str22.equals(str33)); //true




//7、判断字符串是否为空的方式?
/*



*/
String val = null;
if(val == null)
System.out.println("String val is null");

val = "";
if(val.equals(""))
System.out.println("String val is equals \"\"");

if(val.length() == 0)
System.out.println("String val's length is zero");

//8、如何实现你对日期的格式化?
/*

* JDK1.5开始,String类的format()方法可以格式化日期变量

* %td 一个月的第几天
* %te 一个月的第几天
* %tm 月份
* %ty 年份   
* %tY 4位年份
* %tj 一年中的第几天
* %ta %tA 星期
* %tb %tB 月份

*/
Date date = new Date();
System.out.println("默认日期格式:" + date);
System.out.println("一个月的哪一天: " + String.format("%te", date));
System.out.println("星期全称: " + String.format("%tA", date));

//9、时间变量格式化
/*
* %tH 两位24小时制的小时
* %tI 两位12小时的小时
* %tk
* %tl
* %tM 分钟
* %tS 秒
* %tL 毫秒
* %tN 毫微秒
* %tp am,pm
* %tZ 时区
* %ts 自1970-01-01 00:00:00到现在经过的秒数
* %tQ 毫秒数

*/
System.out.println("24小时制的小时: " + String.format("%tk", date));
System.out.println("时区: " + String.format("%tZ", date));


//10、日期与时间的组合格式化
/*
* %tR
* %tT
* %tr   
* %tD   =%tm%td%ty   02/28/2012
* %tF   ISO 8601格式的日期
* %tc
*/
System.out.println("24小时的时间: " + String.format("%tR", date));
System.out.println("24小时的时间: " + String.format("%tT", date));
System.out.println("12小时制的时间: " + String.format("%tr", date));
System.out.println("英文写法的日期: " + String.format("%tD", date));
System.out.println("ISO 8601日期的格式: " + String.format("%tF", date));
System.out.println(">>: " + String.format("%tc", date));


//11、常规数据类型的格式化?
/*
* 类似C语言

* %b   %B  布尔类型
* %c   %C  字符串
* %s   %S
* %d    %o    %x  %X
* %e    %E
* %%   %符号
*/
System.out.println("浮点数: " + String.format("%E", 128000.56f));
System.out.println("浮点数: " + String.format("%e", 128000.56f));
System.out.println("整数: " + String.format("%d", 7756));
System.out.println("八进制整数: " + String.format("%o", 7756));
System.out.println("十六进制整数: " + String.format("%x", 7756));
System.out.println("十六进制整数: " + String.format("%X", 7756));

//12、正则表达式
/*
* String类的matches()方法

*/
String num = "0431-3385926";
System.out.println(num + " " + checkPhoneNumber(num));

//验证IP地址, 下面使用正则表达式
/*
*  [abc] 表示a、b和c
*  [^abc] 表示a、b和c除外
*  [a-zA-Z] 字符集
*  [a-d[m-p]] a-d或m-p
*  [a-z&&[def]] d e f
*  [a-z&&[^bc]]   a-z中排除b c
*  [a-z&&[^m-p]] 
*/

Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");
Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例
System.out.println(matcher.matches());
System.out.println("=================================================================");





//日期
Pattern pattern1 = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
Matcher matcher1 = pattern1.matcher("2000-02-29 23:59:59");
System.out.println(matcher1.matches());

//邮箱
Pattern pattern2 = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
Matcher matcher2 = pattern2.matcher("hemmingway-@163.com");
System.out.println(matcher2.matches());


//13、字符串和数值类型的转换?
/*

*/
String s1 = "100";
String s2 = "253";
Integer int1 = Integer.parseInt(s1);
Integer int2 = Integer.parseInt(s2);


int ret = int1 + int2;
System.out.println("变量1: " + int1 + "  变量2:" + int2 + "  的和为:" + ret);

//14、去掉字符串中的空格
/*

*/
String s3 = "fdg dsl dfgds   sdngds dsgdss";
String s4 = s3.replaceAll(" ", "");      //第一个参数是正则表达式子
System.out.println(s3 + ", " + s4);

//15、子字符串
/*
* substring

*/
String testStr = "lkssldf2011dsfgd36";
char[] chars = testStr.toCharArray();
boolean bool = Character.isDigit(chars[7]);
if(bool == true)
System.out.println("字符串: " + testStr + " 包含数字");

//16、


}


}

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

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

相关文章

Scala语言将加入宏指令

Scala开发团队正在将实验版宏指令加入到即将发行的2.10版中。Scala宏指令提供了编译时元编程的高级形式。Scala宏网站描述道:\u0026#xD;\n\u0026#xD;\n“宏指令显著简化了代码分析和代码生成,这使得它们成为处理大量现实用例的一种可选工具。传统上涉及编…

针对C++和Delphi的LiveBindings一瞥

绑定表达式(Binding expression)并不是新概念,XAML和Flex开发者主要就依靠这个。但除C/CX(只用于WinRT编程)之外,原生编程语言中通常见不到这种概念。不过为VCL和FireMonkey设计的LiveBindings却是个例外。…

图像处理的基础

图像处理的基础 图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。 多数图像传感器的输出是连续的电压波形信号,这些波形的幅度和空间特性都与其所感知的光照有关。为了产生一幅数字图像,我们需要把连续的感知数据转换为数字形式,这个转换…

查询计算机端口号被谁占用了

"到底是谁占用了80端口,该怎么查,怎么终止它?",这里就简单讲解一下,在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口…

SPI分配传感器的寄存器

SPI分配传感器的寄存器 SPI分配寄存,来驱动传感器。或者将一些指令传出来给UART由PC端来控制。 信号名称方向位宽(bit)说明spi_com_clkI1spi通信模块时钟sys_rst_nI1系统复位,低电平有效wr_enI1写使能,主机给从机发送数据的使能信号,当wr_en为1时主机才能给从机发送数据…

OpenGL样板程序,会转动的正方形

一个OpenGL样板程序,环境为VS2010 // Test_OpenGL.cpp : 定义控制台应用程序的入口点。 ///** 1、OpenGL工具函数库(GLU),GLU函数实用glu前缀** 2、窗口系统,以支持OpenGL渲染,对于X窗口系统是GLX函数&…

Hadoop入门学习笔记——五、在虚拟机中部署Hive

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 五、在虚拟机中部署Hive5.1. 在node1虚拟机安装MySQL5.2.…

ECC的代码实现

ECC的代码实现 数据校验介绍:  通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。 如果是时序或者电路方…

FPGA图像处理的开发流程

FPGA图像处理的开发流程 1、需求分析及问题描述 问题描述应该清楚地描述问题而不是解决方法。它应该包括系统需要做什么、为什么要做,而不包括怎么做。 为了描述更具体,至少需要讨论三个方面。 第一是系统功能,也就是系统需要做什么。在一个图像处理应用中,需要详细说明图…

C/C++实现模糊控制,借助MATLAB辅助设计和fis.c文件

上一篇文章(C /C语言实现模糊控制)介绍了C/C中实现模糊控制该怎么做,开始提到的MATLAB模糊控制的C/C模糊控制接口fis.c库,不过这个文件有点老,在用VS2010编译的时候一大堆错误,在网上找关于C中使用 fis.c 的…

转载:Windows CE内存管理

内存管理如果你在写Windows CE 程序中遇到的最重要的问题,那一定是内存问题。一个WinCE 系统可能只有4MB 的RAM,这相对于个人电脑来说是十分少的,因为个人电脑的标准配置已经到了128MB 甚至更多。事实上,运行WinCE 的机器的内存十…

一些比较使用的技巧

一些比较使用的技巧 1、如何得到一个信号的上升沿 注意:时序逻辑有打一拍的特性,组合逻辑没有。 input vsync; reg vsync_r; reg vsync_r2; wire vsync_r2_n; wire vsync_rise;always@(posedge clk) beginvsync_r <= vsync;vsync_r2 <= vsync_r; endassign vsync_r2_…

2012年我读过的十本好书

1、《世上的光》是俄罗斯导演安德烈塔可夫斯基的拍立得摄影集。从中我们可以感受他在拍电影之余的个人生活&#xff0c;他的妻子&#xff0c;他的爱子以及梦幻般的乡村景色。而他配的文字更是让我们笃信他的确是个电影诗人。“影像&#xff0c;是真理的印记”“影像是谷粒&…

MFC界面编程新思路--模仿MATLAB式的界面

像下面的这个图片一样&#xff0c;做一个图像测量的软件&#xff0c;界面需要模仿MATLAB&#xff0c;以前老是新建一个对话框式的MFC应用程序&#xff0c;或者是一个SDI的应用程序&#xff0c;搞了一年&#xff0c;慢慢的也想到了一种新的思路&#xff0c;而且今天也做了一个De…

敏捷是如何使你跑得更快?

对于为何采用敏捷软件开发这个问题&#xff0c;企业经常提到的原因之一是希望能够更快地交付软件。研究表明敏捷项目能够进行地更快&#xff0c;例如《敏捷项目的成功证据》一文中描述的哥伦布市敏捷工作效率基准项目。\u0026#xD;\n在博文《谁说敏捷项目不能更快一些》中&#…

WinCE电源管理的简单介绍

电源管理的目的是节能,基本的节能方法是使系统适时的进出休眠状态.比如用户按下On/Off按钮,或者监视用户活动的定时器超时,或者应用呼叫api都可以使得系统休眠,用户再次按下On/Off或者其他唤醒中断将使得系统退出休眠.从而可见,电源管理模块和用户活动情况密不可分,电源管理是用…

算法映射技术

算法映射技术 将图像处理的算法转换为FPGA系统设计的过程为算法映射。 映射过程的首要目标便是确定系统设计的结构,在图像处理中常用的两种系统设计结构:流水线结构和并行阵列结构 1、流水线设计 (1)基本概念 流水线处理源自现代工业生产装配线上的流水作业,是指将待处理…

WS_EX_COMPOSITED是个BUG?

新建的SDI应用程序&#xff0c;在删除 文档视图结构以后&#xff0c;突然出现资源文件(*.rc)错误&#xff0c;说是WS_EX_COMPOSITED没有定义&#xff0c;只好删除了事&#xff0c;不知道怎么回事。

《北妹》:中国七零后作家的一次火山喷发(答记者问)

1&#xff0c;您是如何留意到盛可以及其创作的&#xff1f;是她在哪个方面的特质或者特点很突出呢&#xff1f; 答&#xff1a;我很早就知道盛可以&#xff0c;但是真正读她的作品是从《道德颂》开始的&#xff0c;当时我被她对人性尤其是男性的思考和揭示深深地震撼了。她对生…

windowsCE异常和中断服务程序初探

windowsCE异常和中断服务程序初探 ---------by nasiry 转载请说明出处 1。中断/异常相量的装入和执行方式。 中断和异常都是异步发生的事件&#xff0c;当该事件发生&#xff0c;系统将停止目前正在执行的代码转而执行事件响应的服务程序。而事件服务程序的入口点就…