2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)
计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆
c#基础
1、Hello!World!!!
{ //输出Hello!World!!;
Console.WriteLine("Hello!World!!!");
//防止闪退;
Console.ReadLine(); }
踏入IT世界的第一步,向世界问好
2、string定义变量
套用向老大的话:string a , b , c , d ; 就是在内存的空间上开辟四个完全独立的空间用以存放字符串 这是最简单最直观最容易的理解
变量赋值
可以是这样
{
string a, b, c, d;
a=("");
b=("");
c=("");
d=("");
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d); Console.ReadLine();
也可以是这样
{
//输出:请输入你的姓名:;
Console.Write("请输入你的姓名:");
//为a赋值你输入的信息;
string a = Console.ReadLine();
//输出与a相对应的信息;
Console.WriteLine(a);
//防止闪退;
Console.ReadLine(); }
打个最简单的比方:一座山上你想要开洞存放货物或者是在山体内建造什么东西,那么就需要先把山体开凿出来一个或几个山洞,然后才能在山体内存放或建造属于你的东西,不然你根本进不去,那么按照这个逻辑来讲:
{
//定义变量
string a, b, c, d;
//输出:请输入你的姓名:;
Console.Write("请输入你的姓名:");
//为a赋值你输入的信息;
a = Console.ReadLine();
Console.Write("你的爱好:");
b = Console.ReadLine()+("?");
c=("太巧了!");
d=("我的爱好与你相似,我最喜欢宅!!!");
//为a赋值
a = ("你好,") + a;
//输出与a,b,c,d相对应的变量;
Console.WriteLine(a);
Console.WriteLine(b);
Console.Write(c+d); //防止闪退;
Console.ReadLine();
3、int int.Parse最基础的理解
int就是让计算机运行数字的运算 加减乘除都可以
{
int a, b, c;
a = ;
b = ;
c = ;
int d = a + b + c;
int e = b * c;
int f = c - a;
int g = c / b; Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
Console.WriteLine(g); Console.ReadLine();
以上呢就是一点最基本的东西 那,还有看不懂的,跟我一样笨的,跟我往下看:
在这里我就不再去插入代码什么的了,免得很多像我一样的初学者看见代码那个界面就头疼
现在咱们看到的是属于c#语言,众多电脑语言之一,当然还有其他的,像是VB,C,C++,Java等等。
现在咱们只是先去了解c#的最基本的一点东西
c#初创时是c++++,你没看错,是四个加号,由此可见是属于c++的进化语言,由于四个加号连在一起显得特别麻烦,伟大的工程师们就更名为c sharp,sharp代表着锋利、尖锐,也就是说c sharp比c++要更快捷,更方便,更迅猛,工程师们中不缺乏脑洞大开之人,把c sharp简化为c#,这就是c#名字的由来。
那在c#的代码世界中经常会看到的是什么?Console.WriteLine("");Console.Write("");Console.ReadLine();这几个代码是最常见到的,那咱们一起来分析下他们各自的含义与简单的用法:
1、Console.WriteLine("");
Console.
在计算机中的意思就是控制台、操纵台,可以简单的理解为“铺垫、前缀”,这个是必须要有的
2、’’WriteLine
这个代码咱们一分为二的看 1):Write很简单,就是书写的意思,不过是第三人称,就是从电脑角度来讲,电脑书写出来的那就用Write 2):Line,绳子,行(hang),
那现在的思路是不是清晰了许多,当出现Console.Write("");时代表的就是同行输出,并且你可以在电脑输出的同行中输入任何字符串(字符串的意思就是你所能打出的任何信息,数字、字母、各种符号,中文等)
当出现Console.WriteLine("");时代表的是同行输出,但是你的输入是在第二行或者是说是电脑输出行的下一行,也是可以输入任何字符串
("");
上面用英文模式打出来的括号、分号、双引号,咱们一步步分开来讲 1):先说 ; 分号,在c#中这个分号(注意:是英文模式下的分号,这个要与中文模式下的分号区别开来,毕竟c#不是咱们中国人创造的,将就点吧,学一技长以制夷)代表着结束的意思,也就是说一段命令的结尾使用分号来结束的,并不是句号,电脑很聪明,但是也很固执,你给他下达什么命令他都会去执行,但是不按照他的套路走他也不会为你效命 2):(“”)括号与双引号,这里面是你需要手动输入的信息、字符串(字符串的解释在上面Console.WriteLine("");中有),也就是说你在编写代码的过程中,需要让计算机为你显示你所输入的字符串,那就要在这里面输入(只是最基本的理解,深入的内容请持续关注本博客)。
3、Console.ReadLine();
这条命令是最重要的也是最简单的,因为没有这条命令就会造成一个重大的问题:闪退 就是只见程序闪一下瞬间退出
那咱们来看一下这个命令的其他基本的用法:Read就是读取的意思,那Console.ReadLine();就是读取你在Console.Write("");和Console.ReadLine("");这两条命令("");双引号中你输入的字符串,从而给string的变量赋值(下面有讲string和int型变量的定义和赋值)
小结:通过以上的讲解,咱们从未接触过c#语言的人是不是也可以进行简单的编程了呢?下次我们了解string,int的变量与赋值int.Parse();和一些数据类型
作业:向IT世界说“你好!!!”
你做对了么?
让我们一起进入全新而又神奇的世界,用我们的洪荒之力打开一片天地
(未完待续)
今天咱们来了解下c#中的几个基础数据类型,也是以后再日常的工作中经常遇到的数据类型
常用的数据类型咱们分类看一下
1、基本数据类型: 1): 整型(byte;short;int;long;) 2):浮点型(float;double;decimal) 3):字符型(char) 4):布尔型(bool)
现在吧基本数据类型这样分类可能还会有很多的初学者不是很懂,那咱们用大白话来解释下这四种基本数据类型
1):整型:你可以简单直接的理解为: 整数类型; 也就是说只要是整数都可以,负数的整数也可以,记住,只要是整数的,都可以归类到整型数据类型当中;
byte:单词原本意思就是字节的意思,那理解起来很简单了,byte类型的值只能是 1 个字节,对,单字节,必须是整数单字节;区间值是0-255,一个字节4个位,一个汉字4个字节,一定要区分清楚字节和位的区别;
short:本意就是短的,那就是比byte长一点点,short类型的值是 2 个字节;
long:这个大家都认识,长的意思,long类型的值是 8 个字节,这已经是非常够用了;
int:这个int具体意思不是很清楚,不过非常明确的是 int 介于 short 和 long 之间,并且用int去赋值时最多能输入上10个数字,一个手机号码都打不全,一般人是够用了,不过像是王健林、马云等人最好还是给他用long吧,int类型的值长度是 4个字节;
现在大家都明白为什么用单词的本意去理解去记忆整型类型了吧,很简单,交给大家一个简单的方法,按照字节长度来记忆 long>int>shaort>byte 字节分别是8-4-2-1 ;
2):浮点型: 这可能是某个脑洞大开之人给命名的,貌似数学当中也叫浮点,不要在意这些细节,呐,很简单,其实就是小数点,凡是带小数点的数字,正数也好负数也好,只要到小数点,那就归类到浮点型;
咱们按照之前的思路再走一遍 按照长度的大小咱们排下位 长度由小到大 : float<double<decimal 使用的时候不要用太小,那double和decimal就可以 他们的字节分别是 4-8-16
记得,使用float和decimal去赋值的时候是这个样子的
float a = 10.5f; //这个f其实就是标记这个值是赋值给float这个类型的值
decimal b = 9.7m; //同理,m也是标记这个值是赋值给decimal这个类型的值
以上两个标记都不区分大小写,大写小写都可以,这点很让人欣慰
而double就不用这么麻烦,可以直接
double c = 9.1;//这个double赋值不需要标记
现在咱们举个例子
本来咱们得到的数值应该是3.333……无限循环 那么为什么是3呢 现在解释下:double是浮点类型,但是10和3都是int类型,所以得到数也是int类型,无论小数点后面得到的是什么,那在系统运算过程中都会给你抹掉小数点后面的的任何数字,而保留前面的int类型的值,所以我们需要给他转换下数值类型,所用到的也就是上面所说的前缀 m ,那咱们来看一下是不是这样:
很明显 咱们的做法是对的
所以说在除法这个地方一定要注意下类型转换 不然很有可能得不到你想要的结果
3):字符型:
就一个char,这个用法很简单,也很特别,必须是单一字符,是字符,不是字符串,像是这样
char a = 'a';char b = '1';char c = '龙'; 这些都是没有问题的,但是记住,必须用英文模式下的单引号,单引号内必须是1,不能是0,也不能是2;
4):布尔型
这个也是一个,并且是音译的,元单词是 bool , 字节只是一个字节,并且只能是 true / false ,这是一个判断对错的类型,只能这么用;
bool ok;
ok = true; 或者是 ok = false;
今天咱们先讲到这里,明天继续,记得后天会加更哦!!!
Console.ReadLine(); //防止闪退,哈哈
Hello各位,咱们又开始新的一天了,那今天咱们来继续昨天未完成的内容
DateTime类型
还是从字面意思来讲解,毕竟是老外的东西翻译到中国的,用字面意思来理解c#的基本代码还是比较简单的
DateTime 很明显,时间类型,他的格式呢跟咱们正常的思维逻辑基本相同,那咱们连赋值也一并讲解
DeateTime a = new DateTime(int年,int月,int日);
注意,括号内的赋值方式不可以是1990 2 2, 中间是要有字符的,中间的字符咱们大部分的类型都可以,比方说:2001/1/1,1998-1-1,2007年10月1日,这些都是可以的
那这些类型转换,咱们来总结下:
1):隐式转换
将值类型转换成引用类型,不需要声明转换方式
2):强制转换
将任何类型转换成任何其他类型都可以使用的方式字符串类型:变量/值.ToString();
3):其他类型转换
-目标类型(变量/值)
-目标类型.Parse(变量/值);
-Convert.To目标变量类型(变量/值);//这一种转换类型方式是咱们最为推荐的,虽说代码可能会长一点,但是几乎没有局限性,推荐
现在咱们来讲一下运算符的类型和运用
运算符分为五类:算数运算符;关系运算符;逻辑运算符;条件运算符;赋值运算符
1):算数运算符:既然是算数运算符,那肯定是用值类型来进行运算,大家可以会议下值类型的有哪些
① ++ 加加 -- 减减 这个不算是经常用到的,但是需要记住 他们两个的表达方式以及运算方式我感觉是非常有意思的
咱们开始做个简单的练习题
这个++其实就是a+1;的一个简写,为了方面的一个简写
那有人说这个++放在a的前面行不行,可以,运算结果是一样的,不过在下面这个情况中运算结果就不一样了:
为什么会是这样,咱们来看一下:
①int a1 = a ++;
②Console.Write(a1);
再给int a1赋值的算式中,a++中的++是在a的后面,那计算机只是读取了int a1 = a;而++的读取和运算实在①和②的中间进行的,并没有给a1赋值上++的内容,那想让++成功给a1赋值,就需要把++放在a的前面,就像这样上图中的int a2 = ++ b;
这就讲到了运算符的优先级,括号内的优先级最高,也就是计算机会先计算()括号内的运算程式,然后再从左往右计算,括号越多,运算的优先级越高
还有一个我个人认为计算机很呆萌很可爱的地方,我简单写点东西让大家猜一下
int a = 10;
int b = a ++;
Console.Write(b);
Console.Write(a);
Console.ReadLine();
那上面的输出 a 等于多少?
答案在这儿
有人问了 上面int a =10;不是已经赋值了么,为什么 a 会等于11呢,这里面就已经产生了一丢丢的逻辑性了
①int a = 10;
②int b = a++;
③Console.Write(b);
④Console,Write(a);
计算 b 的时候计算机是这样走的:从①走到②的时候还没有走到②的结束点 ; 的时候就已经给 b 赋值了,但是走到④的时候忽然发现还有个 a 需要输出,那就立马返回到上面去一看是 a++ ,那计算机就直接把a++的值从④里面输出出来了
是不是有种带孩子的感觉,看着孩子去执行你给他的任务的时候,那种傻傻分不清的感觉,是不是特别可爱
那--减减呢也是同理,这里就不去浪费空间去解释了
②+ — * / 加减乘除 这个跟咱们的算数一样 不解释 再不会的,再不会的,我也没办法了,这样的就属于高等数学类型了,哈哈
③% 取余 这个可不是百分号 是用在除法上的,去除不尽的余数的,下面有示例
示例是最简单最直接的解释方法
2):关系运算符
①< > <= >= 小于 大于 小于等于 大于等于
先上示例
再看这个
上面说的四个关系运算符表达的是bool类型的值,上面有讲bool数值类型,输出的只有对True和错False,时进行判断的
那还有两个 == != 等于等于 不等于
上示例
那string类型能比较么,他不是字符串么,也可以比较么,是的,可以比较,他比较的是两个字符串里的东西是否一样,而不是比较数值了,当然int类型的就无法和string类型的想比较,不是同种类的当然不能比较了,就像是人和猪怎么去比较,当然,我和马云也不能比较,毕竟马云要是猪的话,那我就猪狗不如了,嘿嘿
3):逻辑运算符
&& || 并且 或
有图有真相
这个简单的解释下 a = b &&(并且) a1 != b1 两个条件同时满足才会输出True 如果有偶一个条件不满足 那就是False ; 但是 a = b ||(或) a1 = b1 只要有一个条件满足那就是True , 尽管 a1 = b1 是错的 ,这个就是看你的逻辑能力了,也可以简单的理解位你的语言功底了
4):条件运算符
?: 这就是条件运算符 也是很重要的运算符
上图
当你用条件运算符去判断对错 那么对了就会输出 ? 后面的 , 错了,就会输出 : 后面的 ; 但是咱们刚刚用bool值去代替了运算式, 那计算机就会根据bool值去输出 当bool a = true; 那就是输出左边的 当bool a = false;时,就输出右边的 这是一个很重要的运算符,大家务必多多练习
赋值运算符咱们下回再讲
来做一个简单的小练习巩固一下
Console.Write("请输入您的成绩(0~100):");
string a = Console.ReadLine();
double a1 = Convert.ToDouble(a); string b = a1 >= ? "及格了!" : "不及格,继续努力!";
Console.Write(b); Console.ReadLine();
Console.Write("请输入一个1-100的整数:");
int a = Convert.ToInt32(Console.ReadLine()); string end = a < || a == ? "小" : "大"; Console.WriteLine(end); Console.ReadLine();
//用户输入3个内容,分别是数字1,数字2,运算符
Console.Write("请输入第一个数:");
int a1 = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个数:");
int a2 = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入运算符(+/-):");
string ysf = Console.ReadLine(); //根据用户输入的内容,进行运算,输出结果
int end = ysf == "+" ? a1 + a2 : a1 - a2; Console.WriteLine(end); Console.ReadLine();
Console.Write("请输入一个100以内的整数:");
int user = Convert.ToInt32(Console.ReadLine()); string end1 = (user % == ) ? user + "是7的倍数" : user + "不是7的倍数"; Console.WriteLine(user / ); string end2 = (user / == ) ? "十位数是7" : "十位数不是7"; Console.WriteLine(end2); Console.ReadLine();
}
Console.Write("各位晚安!!!");
Console.ReadLine();
2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)的更多相关文章
- odoo11 model+Recordset 基础未完待续
Model 一个模型代表了一个业务对象 本质上是一个类,包含了同django flask一样的数据字段 所有定义在模型中的方法都可以被模型本身的直接调用 现在编程范式有所改变,不应该直接访问模型,而是 ...
- CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)
目录 1. 前期预备知识 1.1 串口通讯电路图 1.2 实验相关寄存器 1.2 常用波特率设置 本章未完待续..... 原来写的文章已经丢失了,只能找到这一小部分,看什么时候有时间再补上. 1. 前 ...
- ASP.NET Core 2.2 基础知识(八) 主机 (未完待续)
主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基 ...
- java泛型基础、子类泛型不能转换成父类泛型--未完待续
参考http://how2j.cn/k/generic/generic-generic/373.html 1.使用泛型的好处:泛型的用法是在容器后面添加<Type>Type可以是类,抽象类 ...
- MongoDB基础教程系列--未完待续
最近对 MongoDB 产生兴趣,在网上找的大部分都是 2.X 版本,由于 2.X 与 3.X 差别还是很大的,所以自己参考官网,写了本系列.MongoDB 的知识还是很多的,本系列会持续更新,本文作 ...
- 未完待续的JAVA基础知识
第二卷 1.每个JAVA程序必须有一个main函数,但并非是每个类都有,main函数必须声明为static函数. 2.println与print之间的区别是换行与不换行. 3.在JAVA中,不想C/C ...
- HTTP协议基础(未完待续)
一.超文本传输协议 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. 设计HT ...
- oracle-绑定变量学习笔记(未完待续)
--定义变量SQL> var a number; --给绑定变量赋值SQL> exec :a :=123; PL/SQL procedure successfully completed. ...
- uboot环境变量的设置(未完待续)
使用print打印当前系统环境变量. 1. SMDK2440 # print baudrate=115200 bootargs=noinitrd root=/dev/nfs nfsroot=192.1 ...
随机推荐
- JS一周游~(基础、运算符、条件语句)
一.基础篇 JavaScript 基于浏览器(客户端).基于(面向)对象{没有继承}.事件驱动(要有对象).脚本语言(灵活多变) 1.作用 表单的验证,减轻服务端的压力 添加页面动画效果 动态更改页面 ...
- wemall app微信商城系统Android之通用通知接口demo
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术 ...
- CAAnimation动画--(旋转/缩放/移动/闪烁)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #1d9421 } p.p2 { margin: 0.0px 0. ...
- MySQL基准测试(benchmark)
基准测试是唯一方便有效的.可以学习系统在给定的工作负载下会发生什么的方法.基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据. 验证基于系统的 ...
- Android开发遇到手机无法弹出Toast
今天遇到了一个很奇怪的问题,一个很简单的程序,就是点击按钮弹出一个Toast,但在手机上运行起来,却没有正常弹出Toast 第一反应就是看看是否调用了show方法,很显然,并不是这个低级问题,为了确定 ...
- 基于微软开发平台构建和使用私有NuGet托管库
本篇blog包含使用TFS2017,VS2017等平台和工具搭建和使用NuGet库等基本过程,为团体提供更加自动化和高效的研发活动支持. 作为以产品线或者以专属业务为扩展的项目类型的软件研发团体,都会 ...
- Android getAttributeIntValue()详解-霞辉
经常使用getAttributeIntValue()方法,但是大多使用的形式是attrs.getAttributeFloatValue(null, "xxx", 0);只是在中间传 ...
- java学习笔记----运算符
一.算数运算符 特别说明: 加 ,减 ,乘 ,除 与数学运算一致 取余符号看被除数 自加(减)运算:++a,--a;先做自加(自减)运算在做其他运算 a++,a--;先做其他运算在做自加(自减)运算 ...
- JvisualVM、JMC监控远程服务器
修改服务器上jmxremote.access与jmxremote.password,输入命令: find -name jmxremote.access进入该jmxremote.access文件所在目录 ...
- 妈妈再也不用担心我的移动端了:网易和淘宝的rem方案剖析
从博主学习前端一路过来的经历了解到,前端移动开发是大部分从PC端转战移动端的小伙伴都非常头疼的一个问题,这边博主就根据一篇自己看过的移动开发文章来剖析一下网易和淘宝的rem解决方案,希望能够帮助到一些 ...