Date Time结构:
using System;
namespace ConsoleApp1 //Date_Time_结构
{
class Program
{
static void Main(string[] args)
{
//例子;使用DateTime获取当前时间,分别输出该日是当月的第几天,星期几,及一年中的第几天
//并计算30天后的日期
DateTime dt = DateTime.Now;
Console.WriteLine("当前日期为:{0}", dt.ToLongTimeString());
Console.WriteLine("当前是本月的第{0}天", dt.Day);
Console.WriteLine("当前是星期{0}", dt.DayOfWeek);
Console.WriteLine("当前是本年度的第{0}天", dt.DayOfYear);
Console.WriteLine("30天后的日期是{0}", dt.AddDays(30));
Console.WriteLine("---------------------------------------");
//两个日期的差可以由TimeSpan的对象来存放 假设计算现在距离2021年5月1日的天数
DateTime dt2 = new DateTime(2021, 5, 1);
TimeSpan ts = dt2 - dt;
Console.WriteLine("间隔的天数为:{0}天", ts.Days);
Console.ReadKey();
}
}
}
Math类:
/*
* 圆周率:
* Abs():取绝对值
* Ceiling(): 向上取整数(就是说小数点后面只要有非0的值,就直接+1取整)
* Floor():向下取整数(就是说,小数点后面不管是什么值,都返回整数这个值)
* Round():四舍五入
* Max():返回两个数中的最大值
* Min():返回两个数中的最小值
* Equals():返回指定对象实例是否相等
*/
using System;
namespace ConsoleApp1 //_Math类
{
/*
* 圆周率:
* Abs():取绝对值
* Ceiling(): 向上取整数(就是说小数点后面只要有非0的值,就直接+1取整)
* Floor():向下取整数(就是说,小数点后面不管是什么值,都返回整数这个值)
* Round():四舍五入
* Max():返回两个数中的最大值
* Min():返回两个数中的最小值
* Equals():返回指定对象实例是否相等
*/
class Program
{
static void Main(string[] args)
{
//圆周率
Console.WriteLine(Math.PI);
//求绝对值
Console.WriteLine(Math.Abs(-2));
Console.WriteLine(Math.Abs(-2.1F));
Console.WriteLine(Math.Abs(10));
//ceiling() 向上取整数(就是说小数点后面只要有非0的值,就直接+1取整)
Console.WriteLine(Math.Ceiling(33.0));
Console.WriteLine(Math.Ceiling(33.1));
Console.WriteLine(Math.Ceiling(33.8));
Console.WriteLine("----------------------------");
//Floor()向下取整数(就是说,小数点后面不管是什么值,都返回整数这个值)
Console.WriteLine(Math.Floor(33.0));
Console.WriteLine(Math.Floor(33.1));
Console.WriteLine(Math.Floor(33.8));
Console.WriteLine("----------------------------");
//Round() 四舍五入
Console.WriteLine(Math.Round(33.0));
Console.WriteLine(Math.Round(33.2));
Console.WriteLine(Math.Round(33.6));
Console.WriteLine("----------------------------------");
Console.WriteLine(Math.Equals(11, 12));
Console.WriteLine(Math.Equals(11, 11));
Console.WriteLine("----------------------------------");
Console.WriteLine("请输入第一个整数:");
int num1 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个整数:");
int num2 = int.Parse(Console.ReadLine());
Console.WriteLine("两个数的最大值是{0}", Math.Max(num1, num2));
Console.WriteLine("两个数的最小值是{0}", Math.Min(num1, num2));
Console.ReadKey();
}
}
}
Random类:
/*
* 要使用Random类的话,先实例化
* Next():每次产生一个不同的随机整数
* Next(int maxValue):产生一个比max value小的正整数
* Next(int minValue,int maxValue):产生一个minValue~maxValue的正整数,但不包括maxVlue
* NextDouble():产生0.0~1.0的浮点数
* NextBytes(byte[] buffer)用随机数填充字节数的数组
*
*
*/
using System;
namespace ConsoleApp1 //Random类
{
/*
* 要使用Random类的话,先实例化
* Next():每次产生一个不同的随机整数
* Next(int maxValue):产生一个比max value小的正整数
* Next(int minValue,int maxValue):产生一个minValue~maxValue的正整数,但不包括maxVlue
* NextDouble():产生0.0~1.0的浮点数
* NextBytes(byte[] buffer)用随机数填充字节数的数组
*
*
*/
class Program
{
static void Main(string[] args)
{
//Random随机数类
Random rd = new Random();
Console.WriteLine("产生一个随机的整数:{0}", rd.Next());
Console.WriteLine("产生一个比30小的正整数:{0}", rd.Next(30));
Console.WriteLine("产生一个10以内的随机数:{0}", rd.Next(0, 11));
Console.WriteLine("产生一个0到1之间的浮点数:{0}", rd.NextDouble());
byte[] b = new byte[5];//byte:0-255 sbyte:-128~127
rd.NextBytes(b);
foreach (byte i in b)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}
String Builder类:
/*StringBuilder sb = new StringBuilder(); (注意引用命名空间 using System.Text;)
* sb.Append():追加字符串
* sb.ToString():把StringBuilder转换成String类型
* sb.Insert():插入
* sb.Replace():替换
* sb.Remove():删除
*
*
*/
using System;
using System.Text;
namespace ConsoleApp //stringBuilder类
{
/*StringBuilder sb = new StringBuilder(); (注意引用命名空间 using System.Text;)
* sb.Append():追加字符串
* sb.ToString():把StringBuilder转换成String类型
* sb.Insert():插入
* sb.Replace():替换
* sb.Remove():删除
*
*
*/
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
sb.Append("屈增辉");
sb.Append("何帅");
sb.Append("李佳敏");
sb.Insert(3, "王拓");
sb.Replace("王拓", "李琴琴");
sb.Remove(3, 3);
Console.WriteLine(sb.ToString());
Console.ReadKey();
}
}
}
String类:
/*
* 1.字符串是不可变性
* 当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟了一块空间存储新值
* 当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即销毁
*
* 我们可以将字符串看做是一个char类型的一个只读数组
* ToCharArray():将字符串转换为Char类型的数组
*
* 字符串提供的各种方法
* 1.Length:获得字符串中字符个数
* 2.ToUpper():将字符转换成大写形式
* 3.ToLower():将字符转换成小写形式
* 4.Equals(lessionTwo,StringComparison.OrdinalIgnoreCase):比较两个字符串,可以忽略大小写
* 5.Trim():去掉字符串当中的前后空格
* 6.TrimStart():去掉字符串当中的前空格
* 7.TrimEnd():去掉字符串当中的后空格
* 8.Split():分割字符串 返回一个字符串数组.在截取的时候,包含要截取的那个位置,
* 9.Substring(int startIndex):从startIndex位置截取字符串
* Substring(int startIndex,int Length) :从startIndex位置开始截取长度为Length的字符串
* 10.Contains():判断某个字符串是否包含指定的字符串
* 11.Replace():将字符串中某个字符串替换成一个新的字符串
* 12.StartsWith():判断以…开始
* 13.EndsWith():判断以….结束
* 14.IndexOf():判断某个字符串在字符串中第一次出现的位置,如果没有返回-1
* 15.LastIndexOf():判断某个字符串在字符串中最后一次出现的位置,如果没有返回-1
* 16.string.Join():将数组按照指定的字符串连接,返回一个字符串
* 17.string.IsNullOrEmpty():判断一个字符串是否为空或者为null
* 18.string.Format():格式化字符串
* 19.remove():删除字符串里面的字符
*
*
*
*/
using System;
using System.Text;
namespace ConsoleApp1 //String类
{
class Program
{
static void Main(string[] args)
{
//@符号:取消它在字符中的转义作用
// string rou = @"E:\net\demo";
// Console.WriteLine(rou);
// //将字符串按照原格式输出
// string words = @"今天天气不好,
// 但是大家的学习热情很高";
// Console.WriteLine(words);
// Console.WriteLine("---------------------------");
// string s = "abcdefg";
我们可以将字符串看做是一个char类型的一个只读数组
// Console.WriteLine(s[0]);
// //首先吧字符串转换成char类型的数组
// char[] chs = s.ToCharArray();
// chs[0] = 'b';
//将char数组再转换成字符串
//s = new string(chs);
//Console.WriteLine(s);
//Console.WriteLine("s的字符串长度是{0}",s.Length);
//练习:输入一个你心中想的那个人的名字,然后输出一个它的字符长度
//Console.WriteLine("请输入你心中想的那个人的名字:");
//string name = Console.ReadLine();
//Console.WriteLine("你心中想的那个人的名字的长度为{0}", name.Length);
//Console.WriteLine("请输入你喜欢的课程:");
// string lessionOne = Console.ReadLine();
// //将字符串转换成大写
// // lessionOne = lessionOne.ToUpper();
// //将字符串转换成小写
lessionOne = lessionOne.ToLower();
// Console.WriteLine("请再输入你喜欢的课程:");
// string lessionTwo = Console.ReadLine();
// //lessionTwo = lessionTwo.ToLower();
// //if (lessionOne == lessionTwo)
// //{
// // Console.WriteLine("真巧,咱俩都喜欢这个课程");
// //}
// //else
// //{
// // Console.WriteLine("哎,咱俩喜欢的不一样");
// //}
// // Console.WriteLine(lessionOne);
// if (lessionOne.Equals(lessionTwo,StringComparison.OrdinalIgnoreCase))
// {
// Console.WriteLine("真巧,咱俩都喜欢这个课程");
// }
// else
// {
// Console.WriteLine("哎,咱俩喜欢的不一样");
// }
//string str = " 哈哈小笨蛋 ";
//Console.WriteLine(str.Length);
//Console.WriteLine(str.Trim().Length);
//Console.WriteLine(str.TrimStart().Length);
//Console.WriteLine(str.TrimEnd().Length);
Console.WriteLine("------------------------------------");
// string s = "a b dfdf _ + = ,,, fada";
//分割字符串Split()
//char[] chs = {' ','_','+','=',',' };
//string[] str = s.Split(chs,StringSplitOptions.RemoveEmptyEntries);
//练习:从日期字符串("2021-04-07")中分割出年月日,输出:2021年04月07日
//string s = "2021-04-07";
//char[] chs = { '-' };
//string[] date = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);
//Console.WriteLine("{0}年{1}月{2}日",date[0],date[1],date[2]);
//练习Substring():截取 字符串
// string str = "今天天气好晴朗,处处好风光";
// str = str.Substring(1);
//str = str.Substring(2,2);
//Console.WriteLine(str);
//练习Contains(),Replace()
//string str = "物联网一班牛逼";
//if (str.Contains("牛逼"))
//{
// str = str.Replace("牛逼","**");
//}
//Console.WriteLine(str);
//练习StartsWith(),EndsWith()
//string str = "今天天气好晴朗,处处好风光";
//if (str.EndsWith("光"))
//{
// Console.WriteLine("是的");
//}
//else
//{
// Console.WriteLine("不是");
//}
//练习IndexOf(),LastIndexOf()
//string str = "今天天气好晴朗,处处好风光";
//int index= str.IndexOf('处');
//int lastIndex = str.LastIndexOf("处");
//int index2 = str.IndexOf('天',2);
//int index3 = str.IndexOf('一');
//Console.WriteLine(index);
//Console.WriteLine(lastIndex);
//Console.WriteLine(index2);
//Console.WriteLine(index3);
//练习string.Join()
//string[] names = { "屈增辉", "李佳敏", "何帅", "李琴琴", "李心怡", "赵文凤", "张艺明" };
屈增辉|李佳敏|何帅|李琴琴|李心怡|赵文凤|张艺明
string strNew = string.Join("|", "屈增辉", "李佳敏", "何帅", "李琴琴", "李心怡", "赵文凤", "张艺明");
//string strNew = string.Join("-",names);
//Console.WriteLine(strNew);
//练习 string.IsNullOrEmpty()
//string str = "";
//if (string.IsNullOrEmpty(str))
//{
// Console.WriteLine("是的");
//}
//else
//{
// Console.WriteLine("不是");
//}
//练习 string.Format()
string name = "张艺明1234567890";
int age = 19;
//string str = "我的名字是" + name + ",今年" + age + "岁";
//使用Format()
// string str = string.Format("我的名字是{0},今年{1}岁", name, age);
//使用$
string str = $"我的名字是{name},今年{age}岁";
string re = name.Remove(3, 5);
Console.WriteLine("re的值是" + re);
Console.WriteLine(str);
Console.WriteLine("---------------------------------");
string path = @"c:\a\b\c\fsd\dsad\ewrewr\dfgfdg\好看的视频.mp4";
//1.找到最后一个\的位置
int index = path.LastIndexOf("\\");//双斜线的第一个斜线是转义符,转义成“\”单斜线的意思
//2.截取
path = path.Substring(index + 1);
Console.WriteLine("path的值是:" + path);
Console.ReadKey();
}
}
}
String类和StringBuilder类测试:
using System;
using System.Diagnostics;
using System.Text;
namespace ConsoleApp1 //String类和StringBuilder类测试
{
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
// string str = null;
//创建一个计时器,用来记录程序运行的时间
Stopwatch sw = new Stopwatch();
sw.Start(); //开始计时
for(int i = 0;i < 100000; i++)
{
// str += i;
sb.Append(i);//添加
}
sw.Stop();//结束计时、
Console.WriteLine(sw.Elapsed);//测量运行的总时间
Console.WriteLine(sb.ToString());
Console.ReadKey();
}
}
}
正则表达式:
/*
* 正则表达式是用来进行文本处理的技术,跟语言无关,在几乎所有的语言中都有实现
* 它是对文本,对字符串操作的
* 一个正则表达式就是由普通字符以及特殊字符(元字符)组成的文字模式
*
* 1.正则表达式的元字符:
* A:.表示除\n之外的任意的单个字符
* B: []字符组,任意的单个字符,中括号中的任意一个字符
*
* a.b ->avb
* a[1-9]b ->a5b
* a[xyz]b ->axb ayb azb
* a[a-zA-Z0-9]b
* a[axz.]b a.b
*
* C:| 表示或的意思,但是“或”优先级非常低,最后才算
*
* z|food-> z或者food
* (z|f)ood -> zood 或者food
*
* D:()改变优先级的
*
* 限定符:
* E:{n}:表示前面的表达式必须出现n次
* F:{n,}:表示前面的表达式至少出现n次,最多不限
* G:{n,m}:表示前面的表达式至少出现n次,最多出现m次
* {5,10}{5}{5,}
*
* H.*:表示出现0次或者多次 {0,}
* I.+:表示出现1次或者多次 {1,}
* J.?:表示0次或者1次 {0,1}
*
* colou?r ->color colour
* (colou)?r ->r colour
*
* ^与$
*
* k. ^表示字符串的开始
* L. $表示字符串的结尾
* ^hello
* a[^0-9a-z] ->这是另一个意思,代表非
* a$
*
* 简写表达式
* \d:表示[0-9]
* \D:表示[^0-9]
* a[0-9]b => a\db
*
* \s 表示所有空白符
* \S 表示\s的反面
*
* \w [a-zA-Z0-9]
* \W 就是\w的反面
*
*
* Regex.IsMatch方法用于判断一个字符串是否匹配正则表达式 (一定不能忘了^和$)
*
*
*
*/
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp1 //正则表达式
{
/*
* 正则表达式是用来进行文本处理的技术,跟语言无关,在几乎所有的语言中都有实现
* 它是对文本,对字符串操作的
* 一个正则表达式就是由普通字符以及特殊字符(元字符)组成的文字模式
*
* 1.正则表达式的元字符:
* A:.表示除\n之外的任意的单个字符
* B: []字符组,任意的单个字符,中括号中的任意一个字符
*
* a.b ->avb
* a[1-9]b ->a5b
* a[xyz]b ->axb ayb azb
* a[a-zA-Z0-9]b
* a[axz.]b a.b
*
* C:| 表示或的意思,但是“或”优先级非常低,最后才算
*
* z|food-> z或者food
* (z|f)ood -> zood 或者food
*
* D:()改变优先级的
*
* 限定符:
* E:{n}:表示前面的表达式必须出现n次
* F:{n,}:表示前面的表达式至少出现n次,最多不限
* G:{n,m}:表示前面的表达式至少出现n次,最多出现m次
* {5,10}{5}{5,}
*
* H.*:表示出现0次或者多次 {0,}
* I.+:表示出现1次或者多次 {1,}
* J.?:表示0次或者1次 {0,1}
*
* colou?r ->color colour
* (colou)?r ->r colour
*
* ^与$
*
* k. ^表示字符串的开始
* L. $表示字符串的结尾
* ^hello
* a[^0-9a-z] ->这是另一个意思,代表非
* a$
*
* 简写表达式
* \d:表示[0-9]
* \D:表示[^0-9]
* a[0-9]b => a\db
*
* \s 表示所有空白符
* \S 表示\s的反面
*
* \w [a-zA-Z0-9]
* \W 就是\w的反面
*
*
* Regex.IsMatch方法用于判断一个字符串是否匹配正则表达式 (一定不能忘了^和$)
*
*
*
*/
class Program
{
static void Main(string[] args)
{
#region 案例一
//while (true)
//{
// Console.WriteLine("请输入一个邮政编码:");
// string postCode = Console.ReadLine();
// //验证是否是合法的邮政编码
// //IsMatch()表示重要整个字符串中有任何一部分可以匹配该正则表达式,则返回true
// //[0-9]{6} :6个0到9的数字
// //bool b = Regex.IsMatch(postCode,"^[0-9]{6}$");
// bool b = Regex.IsMatch(postCode, "^\\d{6}$");
// //要求必须是6个数字开头,并且必须是6个数字结尾,所以说就是,必须完全匹配
// Console.WriteLine(b);
//
//}
#endregion
#region 案例二
//while (true)
//{
// Console.WriteLine("请输入:");
// string msg = Console.ReadLine();
// bool b = Regex.IsMatch(msg, "^((z|food)$");
// Console.WriteLine(b);
//}
#endregion
#region 案例三
//要求用户输入一个整数,匹配是否为 >=10并且<=20的数
while (true)
{
Console.WriteLine("请输入一个10—20之间的整数,含10和20:");
string msg = Console.ReadLine();
// 1[0-9]|20
bool b = Regex.IsMatch(msg,"^1[0-9]|20$");
Console.WriteLine(b);
}
#endregion
Console.ReadKey();
}
}
}
正则表达式之Match类和MatchCollection类:
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp1 //正则表达式之Match类和MatchCollection类
{
class Program
{
static void Main(string[] args)
{
string input = "a sailor went to sea to set,to see what he could sec";
//MatchCollection是Macth对象的集合
MatchCollection mc = Regex.Matches(input, @"se\w");
Console.WriteLine($"共找到了{mc.Count}个匹配");
foreach (Match s in mc)
{
Console.WriteLine($"在索引{s.Index}处发现{s.Value}");
}
Console.ReadKey();
}
}
}
正则练习:
/*
* 1.判断一个字符串是不是身份证号码
* 分析:18为 前17位都是数字 第一位非0,最后一位1-9或xX
* ^[1-9][0-9]{16}[1-9xX]$
*
* 2.判断合法的邮箱地址
* xxxx@163.com xx_x-x@qq.com xxx@xx-xx.com.cn
* 用户名:数字 字母,下划线 中划线
* 域名:数字,字母 中划线
* 后缀: .开头 后面可能是字母 ,后面也有可能.和字母
*
* 用户名:[0-9a-zA-Z_-]+
* 域名: [a-zA-Z0-9-]+
* 后缀:(.[a-zA-Z]+){1,2}
*
* ^[0-9a-zA-Z_-]+@[a-zA-Z0-9-]+(.[a-zA-Z]+){1,2}$
*/
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp1 //正则练习
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入一个合法的邮箱地址:");
string email = Console.ReadLine();
bool b = Regex.IsMatch(email, "^[0-9a-zA-Z_-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z]+){1,2}$");
Console.WriteLine(b);
}
}
}
}
今天的文章正则表达式类库_datetime在java中的类型分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81763.html