C#入门篇3

2024-08-24 19:44
文章标签 c# .net netcore 入门篇

本文主要是介绍C#入门篇3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、练习

二、显示类型转换(强制类型转换)

 三、Convert的转换工厂转换

 四、算数运算符号之(++ /--)

五、关系运算符(比较运算)

 六、逻辑运算符

七、复合运算符


一、练习

  1. 计算半径为5的圆的面积和周长并打印出来,(pi为3.14)面积:pi*r*r,perimeter(周长)
    using System;
    using System.Collections.Generic;
    using System.Data.SqlTypes;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks; //引用命名空间namespace ConsoleAp //命名空间
    {internal class Program //类{static void Main(string[] args){int radius = 5;double pi = 3.14;double area =( radius * radius) * pi ;double penmeter = radius * pi * 2;Console.WriteLine("圆的面积为:{0},圆的周长为:{1}",area,penmeter);Console.ReadKey();}}
    }

    2、某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条,小明在该店买了3件T恤和2条裤子,请计算并显示小明打8.8折后的价格?

    using System;
    using System.Collections.Generic;
    using System.Data.SqlTypes;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks; //引用命名空间namespace ConsoleAp //命名空间
    {internal class Program //类{/*某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条,小明在该店买了3件T恤和2条裤子,请计算并显示小明打8.8折后的价格?*/static void Main(string[] args){int Tshirt = 35;int trousers = 120;double value = ((3 * Tshirt) + (2 * trousers)) * 0.88;Console.WriteLine("打折后的价格为{0}",value);Console.ReadKey();} }
    }

    3、我们要求两边参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生自动类型转换(隐式类型转换)

  • 两种类型兼容:例如 int和double兼容(数字类型)

  • 小的转成大的(隐式类型转换)大的转成小的(强制类型转换)

二、显示类型转换(强制类型转换)

  • 两种类型兼容:例如 int和double兼容(数字类型)
  • 大的转成小的(强制类型转换)
  • 如果一个操作数为double型,则整个表达式可提升为double型

语法:(待转换的类型)要转换的值

注意:强制类型转换是不安全的,可能会导致数据丢失

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks; //引用命名空间namespace ConsoleAp //命名空间
{internal class Program //类{/*某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条,小明在该店买了3件T恤和2条裤子,请计算并显示小明打8.8折后的价格?*/static void Main(string[] args){int n1 = 10;int n2 = 3;double d = n1 * 1.0 / n2; //如果一个操作数为double型,则整个表达式可提升为double型Console.WriteLine("{0:0.00}",d);//保留小数点后两位小技巧 Console.ReadKey();} }
}

 三、Convert的转换工厂转换

1、类型如果兼容的两个变量,可以使用自动类型转换或者强制类型转换

2、如果两个类型的变量不兼容可以使用Convert的转换工厂进行转换

注意:使用Conver转换:面上必须过的去(看起来能转换就转换,看起来根本转换不了就不转)

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks; //引用命名空间namespace ConsoleAp //命名空间
{internal class Program //类{/*某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条,小明在该店买了3件T恤和2条裤子,请计算并显示小明打8.8折后的价格?*/static void Main(string[] args){string s = "123";//将字符串转换成int或者double类型double d = Convert.ToDouble(s);Console.WriteLine(d);int i = Convert.ToInt32(s);Console.WriteLine(i);Console.ReadKey();} }
}

 四、算数运算符号之(++ /--)

1、++:分为前++和后++,不管是前++还是后++,最终结果都是给这个变量加1;

2、- -: 分为前- -和后- -,不管是前- -还是后- -,最终结果都是给这个变量减1;

区别:前置,先加再运算(先自身加1,再进行运算)  后置,先运算再加(原值先进行运算,然后自身加1)

3、只需要一个操作符称之为一元运算符(eg: ++ /--)

4、需要两个或两个以上操作符称之为二元运算符(eg: + - * % /)

namespace ConsoleAp //命名空间
{internal class Program //类{static void Main(string[] args){int num = 10;//num++;//++num;给变量自身加1//num--;//--num;给变量自身减1//int result = 10 + ++num;int result = 10 + num++;Console.WriteLine(num);Console.WriteLine(result);Console.ReadKey();} }
}

如果在一个表达式中有一元和二元运算符,一元的运算符优先级高于二元运算符

五、关系运算符(比较运算)

1、关系运算符返回的结果为bool类型(true / false)

2、 关系运算符( > < ==)

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks; //引用命名空间namespace ConsoleAp //命名空间
{internal class Program //类{static void Main(string[] args){//关系表达式的类型为bool类型bool b = 1500 > 1;Console.WriteLine(b);bool b1 = 1500 < 1;Console.WriteLine(b1);bool b2 = 1500 == 1;Console.WriteLine(b2);Console.ReadKey();}}
}

 六、逻辑运算符

1、逻辑运算符 (&&与 ||或 !非 ..........)

2、逻辑运算符两边放的一般是关系表达式 或者 bool类型的值,逻辑表达式的值同样为bool类型

using System;class Program
{static void Main(){// 输入一个整数Console.Write("请输入一个整数:");int number = int.Parse(Console.ReadLine());// 定义范围int lowerBound = 10;int upperBound = 50;// 判断是否是质数的辅助函数bool IsPrime(int n){if (n <= 1) return false;if (n == 2) return true;if (n % 2 == 0) return false;for (int i = 3; i * i <= n; i += 2){if (n % i == 0) return false;}return true;}// 使用所有逻辑运算符bool isInRange = number >= lowerBound && number <= upperBound;bool isEven = number % 2 == 0;bool isNegative = number < 0;bool isPrime = IsPrime(number);// 逻辑运算符示例bool resultAnd = isInRange && isEven;       // 与bool resultOr = isInRange || isNegative;    // 或bool resultNot = !isEven;                   // 非bool resultXor = isInRange ^ isPrime;       // 异或// 输出结果Console.WriteLine($"数字在范围内且是偶数: {resultAnd}");Console.WriteLine($"数字在范围内或是负数: {resultOr}");Console.WriteLine($"数字不是偶数: {resultNot}");Console.WriteLine($"数字在范围内或是质数 (异或): {resultXor}");}
}

七、复合运算符

1、复合运算符(+= -= *= %= /=)

int num = 10;
num += 10; //==>num= num  + 10 num -= 10; //==>num= num  - 10 num *= 10; //==>num= num  * 10 num /= 10; //==>num= num / 10 num %= 10; //==>num= num  % 10 

这篇关于C#入门篇3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103424

相关文章

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

C#使用MQTTnet实现服务端与客户端的通讯的示例

《C#使用MQTTnet实现服务端与客户端的通讯的示例》本文主要介绍了C#使用MQTTnet实现服务端与客户端的通讯的示例,包括协议特性、连接管理、QoS机制和安全策略,具有一定的参考价值,感兴趣的可... 目录一、MQTT 协议简介二、MQTT 协议核心特性三、MQTTNET 库的核心功能四、服务端(BR

C#继承之里氏替换原则分析

《C#继承之里氏替换原则分析》:本文主要介绍C#继承之里氏替换原则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#里氏替换原则一.概念二.语法表现三.类型检查与转换总结C#里氏替换原则一.概念里氏替换原则是面向对象设计的基本原则之一:核心思想:所有引py

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

C#通过进程调用外部应用的实现示例

《C#通过进程调用外部应用的实现示例》本文主要介绍了C#通过进程调用外部应用的实现示例,以WINFORM应用程序为例,在C#应用程序中调用PYTHON程序,具有一定的参考价值,感兴趣的可以了解一下... 目录窗口程序类进程信息类 系统设置类 以WINFORM应用程序为例,在C#应用程序中调用python程序

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格