热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c#string占位符_北大青鸟深圳嘉华技术课堂之C#基础学习笔记

第一章:初始C#1.变量:基本数据类型:byteshortintlongfloata6.5f;doublecharbooldecimalb
78aa1dcf56690b44b99de85814d7fe72.png

第一章:初始C#
1.变量:
基本数据类型:byte short int long float a = 6.5f; double char bool decimal b = 1000.99m;
(有符号和无符号:有符号分正负 无符号只能表示正数
int表示有符号 第一位表示正负 后31位表示大小 最大数:2的0次方+……+2的30次方 X
uint 表示无符号 所有的位都表示大小 最大数:2的0次方+……+2的31次方 ) 2X+1
引用数据类型:1.内置数据类型(string c#中的一些内置类) 2.自定义数据类型(我们自己定义的类)
常量:const double PI = 3.1415926;
变量的命名:

1.首字母以英文、下划线开始
2.见名识义
3.不能使用关键字
4.使用camel命名法
常量的命名和使用:
1.不宜过长
2.所有字母大写
使用
1.数据不变
2.频繁的使用
Console类:
输出:
Console.Write() 不换行 System.out.print();
Console.WriteLine() 换行 System.out.println();
输入:
Console.Read(); 利用输入字符
eg:char gender = (char)Console.Read(); 返回一个字符的Unicode编码
Console.ReadLine();最常用的输入 返回一个string类型的字符串
Console.ReadKey(); 暂停
数组:
数组的声明:string[] names; java:String name[];
数组的初始化:int[] array = new int[3]{1,2,3};
int[] array = new int[]{1,3,2};
int[] array = {1,2,3};
数组升序排列:Array.Sort(数组名);
数组反转输出:Array.Reverse(数组名);
1,7,8,4,5,6 --->6,5,4,8,7,1第二章:流程控制
顺序结构 从上到下
1.选择结构
条件语句:
1.if(){}
2.if(){}else{}
3.if(){}else if(){}……else{} 多重if选择结构 适用于区间判断
4.if(){if(){}else{}}else{} 嵌套if 适用于分层 if score<10 -->if gender &#61; &#39;男&#39;
switch(){} 用于等值判断
1.小括号可以使用int char string byte short
2.每个case后面只有有语句 都必须要有break或者continue&#xff08;当我们的switch选择结构出现在循环中时&#xff09;&#xff1b;
2.循环结构
循环语句&#xff1a;
解题步骤&#xff1a;1.分析是否包含重复操作 2.找出循环条件和循环操作 3.选择适用的循环结构 4.检查是否能够退出循环
while(){} 先判断 后执行
do{}while() 先执行 后判断 至少执行一次
for(){} 先判断 后执行&#xff08;循环变量初始化--循环条件--循环操作--循环变量更新&#xff09; for循环一般用于次数固定
foreach(数据类型 变量名 in 数组名){} foreach循环主要用于查询 不能给数组赋值 &#xff08;可以给对象数组中的属性赋值&#xff09;
跳转语句&#xff1a;
1.break 一般用于switch选择和循环结构中 中断程序
2.continue 一般用于循环结构 结束本次循环 进入下一次循环
3.return 用于方法中 1>返回方法的处理结果 2>跳出方法第三章&#xff1a;类核对象
类&#xff1a;类是对象的抽象化
对象&#xff1a;对象是类的具体化
字段 和属性的区别&#xff1a;
字段&#xff1a;表示类的成员属性 命名以下划线开始
属性&#xff1a;一般表示具体对象的特征 是对字段的封装&#xff08;get访问器&#xff08;只读&#xff09; 和 set访问器&#xff08;只写&#xff09;&#xff09;
值传递和引用传递&#xff08;ref&#xff09; 值传递不改变原始数据的值 引用传递改变原始数据
形参&#xff1a;定义方法是的参数列表
实参&#xff1a;调用方法时的参数列表
在定义方法形参时要加上ref &#xff08;ref int score&#xff09; 实参&#xff08;ref score&#xff09;使用引用传递实参必须初始化
this关键字 this表示当前类的对象第四章&#xff1a;String 类
1.string 和 String 都可以用来声明一个字符串变量或对象
但是string是C#中的关键字&#xff0c;而String则不是C#中的关键字&#xff0c;可以作为变量名使用
2.在C#中&#xff0c;创建string字符串对象 不通过new关键字 直接声明即可
3.在C#中 string字符串对象的比较 通过&#61;&#61;和Equals()结果一样
&#61;&#61;比较的是首地址 Equals比较的是内容
4.在C#中&#xff0c;对string字符串进行初始化
初始化方式有三种&#xff1a;
4.1:string answer &#61; ""; //空串 声明一个长度为0的空间
4.2:string answer &#61; string.Empty; //空值
4.3:string answer &#61; null; //空 真空 什么都没有 声明了string对象 但是没有为它分配空间
在C#中&#xff0c;当对象为null时&#xff0c;会报 NullReferenceException&#xff08;空引用异常&#xff09;
在java中&#xff0c;当对象为null时&#xff0c;会报 NullPointerException(空指针异常)
对象为null&#xff0c;也就是当前这个对象不存在
判断空字符的三种方式&#xff1a;
1.name.Length &#61;&#61; 0
2.name &#61;&#61; string.Empty;
3.name &#61;&#61; "";
4.name &#61;&#61; null;
5.string.IsNullOrEmpty(c);判断一个字符串是否为null或空值&#xff0c;满足其中一种情况返回true
5.string的常用方法
C#字符串的长度是一个属性不是方法 str.Length java&#xff1a;str.length()
IndexOf()返回该字符第一次出现的位置索引下标
LastIndexOf()返回该字符最后一次出现的位置索引下标
ToLower()获得字符串的小写 java: toLowerCase()
ToUpper()获得字符串的大写 java: toUpperCase()
Trim() 去掉字符串前后的空格 java: trim()
ToCharArray() 将一个字符串处理后返回一个字符类型数组
Substring(a,b) a代表从索引a下标开始截取一个长度为b的子字符串 java:subString(a,b) a表示起始位置&#xff0c;b表示结束位置 截取的长度&#xff1a;b-a
Substring(c) c表示从索引c下标开始截取到字符串结尾的子字符串
Split(&#39;分隔符&#39;)利用指定的分隔符把一个字符串拆分为一个string类型的数组
Join&#xff08;“连接符”&#xff0c;string类型数组名&#xff09;将一个string类型的数组用指定的连接符生成一个新的string的字符串
Replace("a","b")将一个string类型的a的值替换为b&#xff0c;用他来求一个字符在字符串中出现的次数。
Format(0&#xff0c;,8&#xff1a;C) 格式化 第一位表示索引&#xff08;占位符&#xff09; 第二位表示对齐方式 第三位表示数据格式
C 货币 D十进制 F小数点后显示几位小数 N使用逗号隔开 P 百分比 X 表示十六进制
6.类型转换&#xff1a;
1.隐式转换&#xff08;自动类型转换&#xff09;&#xff1a;数据类型要兼容&#xff0c;有小到大 发生在数值之间&#xff08;byte short int long float double char)
2.显示转换&#xff08;强制类型转换&#xff09;&#xff1a;数据类型要兼容&#xff0c;由大到小 发生在数值之间&#xff08;byte short int long float double char)可能丢失精度
3.Xxx.Parse(string s):将一个string类型的数据 转换为 其他数据类型
常用的&#xff1a;int.Parse(string s)|float.Parse(string s)|double.Parse(strings)|decimal.Parse(string s)|DateTime.Parse(string s)
参数必须是string类型
.ToString() 可以将任意类型转为字符串类型
4.Convert.ToXxx():进行任意数据类型相互之间的转换
1.对于string类型转换为其他类型 类型一定要匹配
2.对于数值之间转换 可能会发生四舍五入
3.常用&#xff1a;Convert.ToInt32()|Convert.ToSingle()|Convert.ToDouble()|Convert.ToString()|Convert.ToDateTime()
4.用法&#xff1a; 转换后的数据类型 变量名 &#61; Convert.ToXxx(要进行转换的变量);



推荐阅读
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • dotNet变量和数据类型详解,包括声明变量和五大类型
    本文详细介绍了dotNet编程中的变量和数据类型,包括声明变量和五大类型(int、double、decimal、string、char)。文章通过案例演示了变量的声明和赋值方法,并解释了每种数据类型的特点和使用场景。此外,还介绍了变量命名规则和一些特殊情况,如String与string的区别、float类型的使用等。阅读本文可以帮助读者更好地理解和应用dotNet编程中的变量和数据类型。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
author-avatar
下个路口见的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有