1、C#变量和数据输入

C#常用到的几个数据类型:

整型:int  说明:32位有符号整数  范围:-2³¹~2³¹-1

浮点型:double  说明:64位双精度浮点数  范围:±5.0×10-­﹣³²~±1.7×10³º

布尔型:bool  值:true和false  字符串型:0个或多个字符组成的字符串 

变量概念:

变量就是一块存储空间,存储的值在程序运行过程中是可以不断变化的。

C#变量命名规范:

  • 变量名只能由数字、字母和下划线组成
  • 变量名的第一个字符只能是字母或下划线,不能是数字
  • 不能使用C#中的关键字、类名等作为变量名
  • 通常变量名的首字母小写、如果变量名是多个单词组成,那么出第一个单词的首字母小写之外,其他单词的首字母均为大写(驼峰命名法)

 注:一般变量名都全是字母组成的,不要与C#中的关键字、类名相同就行

C#变量的赋值基础语法:

int x=34;  //定义变量y

y=100;    //给y赋值

int i=100+10*5;  //把表达式的结果赋值给变量i;

C#变量的输出:

Console.WriteLine("殿下,请输入您的大名:");
string Name = Console.ReadLine();
Console.WriteLine("殿下,请输入您的芳龄");
int Age =int.Parse(Console.ReadLine());

C#变量的输出:

Console.WriteLine();//输出了一行空行 (换行)
Console.WriteLine("明星:","票价:","GD","1000");//中有两个格式字符 {},{1}后面的两个数据,“GD”和“1000”按顺序放在其中的一个位置显示
Console.WriteLine("I LOVE YOU");//有换行效果
Console.Write("I LOVE YOU");//没有换行效果
Console.WriteLine("注销快捷键与注释效果"); //ctrl+k+c
Console.WriteLine("取消注销快捷键与注释效果");//ctrl+k+u

C#变量的输出:

Console.WriteLine("地址:{0}", "珠海"); //在C#中,格式字符串的参数是从0开始计算的
int HYX = ; //定义整型变量并赋值
Console.WriteLine("" + HYX); //提示文字+HYX的值

C#数据类型的转换:

隐式转换:主要是用于安全的类型转换,由系统自动完成。

int x = 33;
double y = x;//int类型转换成了double类型储存
int z = 'Q';//char类型转换成了int类型储存

显示转换:也叫强制转换,它的基本语法是这样的(目标类型)(表达式)。

double x= 33.44;
int y = (int)x;//将x转成整型
float z = (float)(z + 30);//将表达式转换成单精度浮点型

2、C#运算符和选择语句

C#赋值运算符:

运算符 运算规则 意义
= 将表达式赋值给变量 将右边的值给左边
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
\= x/=y x=x/y
%= x%=y x=x%y(%用于求余数)

使用运算符来解决一个问题:

int x = 30, y = 40, temp;
Console.WriteLine("交换前的数据:x={0},y={1}",x,y);
//开始交换数据
temp = x;
x = y;
y = temp;
Console.WriteLine("交换后的数据:x={0},y={1}",x,y);

C#算术运算符:

运算符 运算规则 意义
+ x+y 执行加法运算
- x-Y 执行减法运算
* x*y 执行乘法运算
/ x/y 执行除法运算,得到商的值
% x%y 执行除法运算,得到余数的值
++ x++或++x 自增1
-- x--或--x 自减1

C#关系运算符:

运算符 运算规则 示例 结果
== x==y 10==20 false
!= x!y 10!20 true
> x>y 10>20 true
>= x>=y 10>=20 fa;se
< x<y 10<20 true
<= x<=y 10<=20 true

C#逻辑运算符:

运算符 运算规则 意义
&&(与) A&&B A和B同时为true,结果为true注意:当A为false,B不需要计算
||(或) A||B A和B只要一个为true,结果为true注意:当A为true,B不需要计算
!(非) !A A为true,结果为false;A为false,结果为true;

C#运算符的优先级:

优先级 运算符
()
  前缀++,前缀--,!
  *,/,%
  +,-
  <,<=,>,<=
  =,!=
  &&
  ||
  =,+=,-=,*=,/=,%=
后缀++,后缀--

C#选择语句1:

Console.WriteLine("请输入您的国籍哈!");
string country = Console.ReadLine();
if (country == "中国") {
Console.WriteLine("您是爱好和平的伟大中国人!");
} else {
Console.WriteLine("你好黑鬼!(注:纯属搞笑的)");
}

C#选择语句2:

int月;
Console.WriteLine("请输入一个月份:");月 = Convert.ToInt32(Console.ReadLine());
if (月 >= && 月 <= ) {
Console.WriteLine("{0}您输入的月份正确!", 月);
} else {
Console.WriteLine("{0}您输入的月份错误!", 月);
}

C#选择语句3:

Console.WriteLine("请输入您的性别:");
string性别 = Console.ReadLine();
Console.WriteLine("请输入您的年龄:");
int年龄 = Convert.ToInt32(Console.ReadLine());
if (性别 == "男") {
if (年龄 >= ) {
Console.WriteLine("你是{0}性,今年{1}岁,您已达法定结婚年龄", 性别, 年龄);
} else {
Console.WriteLine("你是{0}性,今年{1}岁,您未达法定结婚年龄", 性别, 年龄);
}
} else {
if (年龄 >= ) {
Console.WriteLine("你是{0}性,今年{1}岁,您已达法定结婚年龄", 性别, 年龄);
} else {
Console.WriteLine("你是{0}性,今年{1}岁,您未达法定结婚年龄", 性别, 年龄);
}
}

C#选择运算器:

int x,y;
Console.WriteLine("请输入第一个数:");
x = Convert.ToInt32(Console.ReadLine()); //x = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
y = int.Parse(Console.ReadLine());
Console.WriteLine("请输入ysf:+,-,*,/");
string ysf = Console.ReadLine();
if (ysf == "+") {
Console.WriteLine("{0}+{1}={2}", x, y, x + y);
}
if (ysf == "-") {
Console.WriteLine("{0}-{1}={2}", x, y, x - y);
}
if (ysf == "*") {
Console.WriteLine("{0}*{1}={2}", x, y, x * y);
}
if (ysf == "/") {
Console.WriteLine("{0}/{1}={2}", x, y, x / y);
}

3、C#循环

C#中的四种循环结构:

  • for循环
  • whie循环
  • do...while循环
  • foreach循环

for循环语法结构:

for(表达式1;表达式2;表达式3;)
{

  语句块;

}

for循环案例1+2+3...20的和:

int sum = ; //存放和的变量
{
for (int i = ; i < ; i++) {
sum += i; //累加所有数的和
}
Console.WriteLine("1到20之间整数和为:{0}", sum);
}

while循环语法结构:

while(布尔表达式)

{

  语句块;

}

while循环案例输出1-8的整数:

int i = ;
while (i <= ) {
Console.WriteLine(i);
i++; //注意:这里需要修改i的值
}

do...while循环结构语法:

int i = ;
do {
Console.WriteLine(i);
i++; //注意:这里需要修改i的值
} while ( i <= );

C#嵌套循环的使用案例:

C#嵌套循环输出10行1~8之间的整数:

for (int i = ; i <= ; i++) //外循环,i控制行
{
for (int j = ; j <= ; j++) //内循环,j控制列
{
Console.WriteLine(j + ""); //输出j
}
Console.WriteLine(); //输出一行整数后再换行
}

运行图:

C#镶套循环输出直角三角形:

for (int i = ; i <= ; i++) {
for (int j = ; j <= i; j++) //外层循环,i用于控制行数的变化
{
Console.Write("▲"); //内层循环,j用于控制列数的变化
}
Console.WriteLine(); //打印完一行后换行
}

运行图:

C#镶套循环输出九九乘法表:

for (int i = ; i <= ; i++) {
for (int j = ; j <= i; j++) {
Console.Write("{0}*{1}={2}\t", i, j, i * j);
}
Console.WriteLine();
}

运行图:

4、C#数组

C#一位数组的声明:

数据类型 [ ] 数组名称;

C#数组的初始化:

(1)指定数组存储的元素序列,语法格式结构如下:

数据类型 [ ] 数组名称={值1,值2,值3,...,值n};

(2)指定数组长度,使用new关键字初始化数组,语法结构下:

数据类型 [ ] 数组名称=new 数据类型[长度];

注意:数组里只能储存数据类型相同的数据!!!

注意:数组里只能储存数据类型相同的数据!!!

注意:数组里只能储存数据类型相同的数据!!!

Arrays.short();(升序)

例子:

int [ ] a={1,2,3}; 第一钟方式,长度为3(因为我们初始化了3个值)

int [ ] b=new int [4]; 第二种方式,长度为4

int [ ] c=new int [4] {1,2,3,4}; 这两种形式的结合,数组长度必须和元素个数匹配

int [ ] d=new int [ ] {1,2,3,4,5,6,7} 初始化了元素,长度可以省略

C#一维数组循环案例:

string[] lx = new string[];
for (int i = ; i < lx.Length; i++) {
Console.WriteLine("请输入第{0}种军用飞机类型:", i + );
lx[i] = Convert.ToString(Console.ReadLine());
Console.WriteLine("是否继续输入(y/n)?:");
string a = Console.ReadLine();
if (a == "n") {
Console.WriteLine("信息输入完毕!");
break;
}
}

运行图:

C#一位数组求和与平均值:

int sum = ; //累加
int n = ; //决定用户输入的个数
int[] num = new int[n]; //保存用户输入的10个数
//接收用户输入的10个数
for (int i = ; i < num.Length; i++) {
Console.WriteLine("请输入第{0}个数:", i + );
num[i] = Convert.ToInt32(Console.ReadLine());
sum = sum + num[i]; //求和
}
Console.WriteLine("\n您输入的数之和为:" + sum);
Console.WriteLine("您输入的数平均值为:" + (sum * 1.0 / num.Length));

运行图:

5、类与对象

类的概念:

泰迪是狗,加菲猫是猫,海绵宝宝是海绵,它们都是不同类型的事物,这里就体现了什么叫做类(区别、分类)

对象的概念:

假如有一堆的书,而《大主宰》是其中的具体一本,我们可以把《大主宰》这本书理解成就是一个对象。

属性的概念:

眼前有个妹纸,她叫小美她的特点是很漂亮,小美是具体的一个对象,她的特征是漂亮,这个特征在程序中就相当于属性。

方法的概念:

方法是一种执行的方式,它调用等于一个军师,告诉调用它的对象它能做些神马。

定义类的语法结构:

[访问修饰符] class 类名 
{
类的成员;
}

定义字段的语法结构:

[访问修饰符] 数据类型 字段名称;

属性定义语法如下:         自动属性定义语法如下:

[访问修饰符] 数据类型 属性名称                [访问修饰符] 数据类型 属性名称{get;set;}
{
get{return 字段;}
set{字段=value;}
}

构造方法定义语法如下:

[访问修饰符] 类名([参数列表的])

{
构造方法的主体;
}

对象定义语法如下:

类名 对象名=new 类名([参数列表]);   对象.属性=值;//赋值   变量=对象名.属性;//取值

实例方法的语法如下:

[访问修饰符] 返回类型 方法名([参数列表])

{
方法主体;
}

方法的参数:

[访问修饰符] 返回类型 方法名称([参数类型 参数名称1,参数类型 参数名称2,……,参数类型 参数名称n])

{
方法体
}

方法的返回值:

return 表达式;

实例方法的调用:

对象名.方法名([参数]);   //对于没有返回值的方法

变量名=对象名.方法名([参数]);   //对于有返回值的方法

静态方法:

[访问修饰符] static 返回类型 方法名 ([参数列表])
{
方法体;
}

静态方法的调用:

1.静态的方法或变量是长期住留在内存中,直到程序关闭这个软件才会在内存中消失
2.静态方法的调用是无需构建对象类访问,直接用类名打点调用
3.静态方法内要访问本类中的成员变量时,该成员变量也必须是静态的

C#编程基础(简单概述与理解)的更多相关文章

  1. Android 网络编程基础之简单聊天程序

    前一篇讲了Android的网络编程基础,今天写了一个简单的聊天程序分享一下 首先是服务端代码: package com.jiao.socketdemo; import java.io.Buffered ...

  2. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  3. Magento 架构基础知识概述

    Megento 架构基础知识概述 Magento整合了面向对象的基于PHP的应用程序的核心架构原则.这些一般原则的综合讨论既有在线的,也有印刷形式.以下讨论主要关注这些主题如何直接应用于Magento ...

  4. 面向对象编程基础(java)

    面向对象编程基础 1.1 面向对象概述 在程序开发初期,大家使用的是结构化开发语言,也就是面向过程(opp),但随着市场需求剧增,软件的规模也越来越大,结构化语言的弊端也暴露出来. 开发周期无休止的拖 ...

  5. 【转】【C#】C# 5.0 新特性——Async和Await使异步编程更简单

    一.引言 在之前的C#基础知识系列文章中只介绍了从C#1.0到C#4.0中主要的特性,然而.NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两 ...

  6. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  7. [.net 面向对象编程基础] (14) 重构

    [.net 面向对象编程基础] (14) 重构 通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然 ...

  8. [.net 面向对象编程基础] (16) 接口

    [.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...

  9. [.net 面向对象编程基础] (18) 泛型

    [.net 面向对象编程基础] (18) 泛型 上一节我们说到了两种数据类型数组和集合,数组是指包含同一类型的多个元素,集合是指.net中提供数据存储和检索的专用类. 数组使用前需要先指定大小,并且检 ...

随机推荐

  1. Deep Dive into Spark SQL’s Catalyst Optimizer(中英双语)

    文章标题 Deep Dive into Spark SQL’s Catalyst Optimizer 作者介绍 Michael Armbrust, Yin Huai, Cheng Liang, Rey ...

  2. spring 中单例 bean 初始化之后和销毁之前执行指定动作 postconstruct 和 preDestroy

    1 生命周期方法, 在指定bean 创建完成后执行初始化动作或销毁之前做一些善后动作.有 3 种方法 1)实现接口 InitializingBean 然后实现 afterPropertiesSet 方 ...

  3. crawler_exa3

    优化中... #! /usr/bin/env python # -*- coding:utf-8 -*- # Author: Tdcqma ''' v1.0: 由于网站结构存在变更的可能性,一旦爬虫爬 ...

  4. A*算法详解链接

    A星算法详解(个人认为最详细,最通俗易懂的一个版本) Introduction to the A* Algorithm 路径规划: a star, A星算法详解 实现A星算法

  5. 【Java】的四种引用的区别

    强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收.即使当前内存空间不足,JVM 也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止.如果想中断强引用和某个对象之间的 ...

  6. windows下JDK环境配置与Android SDK环境配置

    一.JDK环境配置1.配置变量名:JAVA_HOME变量值:jdk安装的绝对路径. 变量名:Path(在系统变量中找到并选中Path点击下面的编辑按钮,不要删除原本变量值中的任何一个字母,在这个变量值 ...

  7. React Native常用组件之ListView

    1. ListView常用属性 ScrollView 相关属性样式全部继承 dataSource ListViewDataSource 设置ListView的数据源 initialListSize n ...

  8. Python3字典

  9. 消息中间件系列三:使用RabbitMq原生Java客户端进行消息通信(消费者(接收方)自动确认模式、消费者(接收方)自行确认模式、生产者(发送方)确认模式)

    准备工作: 1)安装RabbitMQ,参考文章:消息中间件系列二:RabbitMQ入门(基本概念.RabbitMQ的安装和运行) 2.)分别新建名为OriginalRabbitMQProducer和O ...

  10. 使用for of循环遍历获取的nodeList,配置babel编译,webpack打包之后在iphone5下报错

    报错信息: Symbol.iterator is not a function [duplicate] 代码示例: function insertCta() { let ctaArr = Array. ...