C#学习——简介(第一天)
一、控制台输出
在控制台输出:
console.writeline();
console.readkey();
加上后面一句是为了保证弹窗不会一闪而过。
二、注释
1.单行注释:
//int a=90;
快捷键:Ctrl+K+c
2.多行注释
2 /* int a=12; float b=10.2; */
快捷键: /* */
三、数据类型
1.值类型
- datetime 事件类型
- enum 枚举类型
- struct 结构类型
- int、float、double 数字类型
2.引用类型
- char 字符型(默认值为‘’,如 char a=‘you’)
- 类类型(用户通过class定义出来的类型)
3.其他类型
(1)整形
- int int32
- short(短整形) int16
- long (长整形) int64
(2)时间类型应用实例
//时间类型,获取当前时间()
DateTime p = DateTime.Now;
//获取国际时间
DateTime k = DateTime.UtcNow;
4.数据类型的转换
(1)隐式转换
int num=;
float num1=num;
套路:
- 只能由低精度类型转换为高精度类型;
- 转换的两种数据类型必须一致;
(2)显示类型转换
方法1:利用Parse方法转换
string str=“”;
int num=int.parse(str);
int strnum=;
float num2=float.parse(strnum);
方法2:利用Convert方法转换
string str=“21.52”;
double dou=convert.todouble(str);
int num=convert.toint(str);
套路:
- 只能由高精度类型向低精度类型转换(可能会丢失部分数据,如小数部分)
四、变量
1.作用域
int b = ;
int c = ;
if (b > )
{
int k = ;
Console.WriteLine("k");
}
(1)局部变量
上面的k即为局部变量,作用域:从大括号的开始到大括号的结束,如果要在大括号外面使用,需要再次定义变量。
(2)全局变量
上面的b、c即为全局变量,作用域即为整个主函数内部,在任何地方都能使用,不需要再次定义。
(3)static修饰的变量
用static修饰的变量(即为全局变量)没有作用限制,在任何地方均能使用,但是必须要写在顶部位置,如下图:

五、逻辑运算符(按位符)
位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:
- 按位与 &
- 按位或 |
- 按位取反 ~
- 左移 <<
- 右移 >>
- 异或^
在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权限值的叠加,用位操作来判断是否具有某种权限是相当方便的了。
例一:
using System;
/* * 说明:本程序用以说明在C#中如何进行位操作。 * */
public class BitAction
{
public static void Main(string[] args)
{
int[] power = new int[] { , , , , , , };
int value = ;
/*
* 1的二进制形式: 00000001
* 2的二进制形式: 00000010
* 4的二进制形式: 00000100
* 8的二进制形式: 00001000
* 16的二进制形式: 00010000
* 32的二进制形式: 00100000
* 64的二进制形式: 01000000
* 126的二进制形式:01111110
*/
for (int i = ; i < power.Length; i++)
{
if ((value & power[i]) != )
{
Console.WriteLine("有power[{0}]={1}所代表的权限", i, power[i]);
}
}
Console.WriteLine("按位与:126&4={0}", value & );
Console.WriteLine("按位或:126|4={0}", value | );
Console.WriteLine("左移:126<<4={0}", value << );
Console.WriteLine("右移:126>>4={0}", value & );
Console.WriteLine("异或:126^4={0}", value ^ );
Console.WriteLine("按位取反:~126={0}", ~value);
Console.ReadLine();
}
}
结果如下:

例二:
//举例说明
using System;
class MikeCat
{
public static void Main()
{
int a=&;
Console.WriteLine("a={0}",a);
//6的二进制是00000110,3的二进制是00000011,按位与后等于00000010, 即2。
int b=|;
Console.WriteLine("b={0}",b);
//6的二进制是00000110,3的二进制是00000011,按位或后等于00000111,即7 int c=~;
Console.WriteLine("c={0}",c);
//6的二进制是00000110,按位取反后是11111001即-7 int d=^;
Console.WriteLine("d={0}",d);
//6的二进制是00000110,3的二进制是00000011,按位异或后等于00000101,即5 int e=<<;
Console.WriteLine("e={0}",e);
//6的二进制是00000110,左移三位后等于00101000,即48 int f=>>;
Console.WriteLine("f={0}",f);
//6的二进制是00000110,右移二位等于00000001,即1
}
}
按位符参考网址:http://www.cnblogs.com/yiki/archive/2008/03/05/1091378.html
C#学习——简介(第一天)的更多相关文章
- SIGAI深度学习第四集 深度学习简介
讲授机器学习面临的挑战.人工特征的局限性.为什么选择神经网络.深度学习的诞生和发展.典型的网络结构.深度学习在机器视觉.语音识别.自然语言处理.推荐系统中的应用 大纲: 机器学习面临的挑战 特征工程的 ...
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- TensorFlow+Keras 01 人工智能、机器学习、深度学习简介
1 人工智能.机器学习.深度学习的关系 “人工智能” 一词最早是再20世纪50年代提出来的. “ 机器学习 ” 是通过算法,使用大量数据进行训练,训练完成后会产生模型 有监督的学习 supervise ...
- Web基础学习---HTML 第一天
Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...
- QT学习之第一个程序
QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...
随机推荐
- 【Splay】例题
营业额统计 题目背景 HNOI2002 DAY2 T2 题目描述 Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger 拿出了公司 ...
- SSM整合学习笔记
对学习Spring+Spring MVC+Mybatis过程中出现的问题解决办法汇总 出现的问题 1.pom.xml报错 右键项目->maven->update project 因此每次更 ...
- jmeter 单接口测试方案(接口无业务关联)
前言 前面开了一篇讲了Jenkins+jmeter+ant的使用,但没有说到具体怎么投入到项目使用,主要介绍了接口测试定义,流程和环境部署,所以我今天要说的就是我是怎么将这个方案投入到实际中使用的.这 ...
- Log4Net(一):快速入门
概览 Log4Net是Apache Log4J框架在.NET平台上的实现,它是一个帮助开发者将日志信息以多种方式(数据库.控制台.文件等)输出的开源工具. 为什么要使用日志记录 提供应用程序运行时状态 ...
- selenium3.x 踏坑记
Selenium 3.x 出来也有段时间了,有哪些坑呢? 有好长一段时间没有用selenium了.最近想用来做个web自动化的小工具.根据以往经验,firefox是不需要下载driver的.启动fir ...
- PHP中通过sqlsrv调用存储过程——成绩排名去除重复字段的数据行
培训考试项目中,需要实现考试成绩排名:排名参考项为分数(score降序).参加日期(attendtime升序).第几次参加考试(frequency升序):并且,每个用户只保留一条数据(pid). 考试 ...
- 【jquery】获取元素高度
1. $("#div_id").height(); // 获得的是该div本身的高度, (不包含padding,margin,border)2. $("#div_id&q ...
- MySQL系列(五)---总结MySQL中的锁
MySQL中的锁 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 MySQL系列(三):索引 MySQL系列(四):引擎 概述 MyISAM支持表锁,InnoDB支持 ...
- NYOJ--45--棋盘覆盖(大数)
棋盘覆盖 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的 ...
- TensorFlow学习笔记1——安装
1. 准备好Anaconda环境 具体参见:http://blog.csdn.net/zhdgk19871218/article/details/46502637 2. 建立名叫TensorFlow的 ...