[Day3]C# 鸡础观念- 核心的数据成员~变数(一)

变数的世界/images/emoticon/emoticon06.gif

在C#世界中,基本上大家都希望有自己的归属感,所以他们都会被赋予一个的种族,
这也是所谓的强型别语言拥有的特性。
我们待会会跟各位介绍常见的种族,正是所谓的变数型别

我们在这世界无论或大或小都会有一个栖身之处,也许是皇宫或者是天桥下,总有个地方让我们睡觉,
变数也是一样的,它们在电脑世界中无论如何最终会有一个记忆体内存供他们容身。

数字类型的变数/images/emoticon/emoticon49.gif

  • 数字类型的变数是变数中人口最多的种族了,当然他们底下也细分成很多种族群

整数变数

  • 整数这东西是人类在历史上最早掌握的数字,我们来套用一个古人的名言:

“1”是数的第一原则,万物之母,也是智慧;“2”是对立和否定的原则,是意见;“3”是万物的形体和形式;“4”是正义,是宇宙创造者的象徵;“5”是奇数和偶数,雄性与雌性和结合,也是婚姻;“6”是神的生命,是灵魂;“7”是机会;“8 ”是和谐,也是爱情和友谊;“9”是理性和强大;“10”包容了一切数目,是完满和美好。
--毕达哥拉斯

  • 没错这就是标榜"万物皆数"的毕达哥拉斯,他让我们了解到生活上处处都存在着整数的运算
  • 接下来我们就心动不如马上行动,来看看C#世界中的整数吧!
  1. 首先我们刚刚有说过,当一个变数出生前,我们就得先给他们个种族(类型)
  2. 那麽整数的种族标志就是 int
  3. 当一个变数被赋予int之後,他就拥有一个家族使命,并马上获得他的领土(内存中4个Byte的空间)
  4. 但因为刚刚才出生,所以什麽都不会,就如同一张白纸一样(默认预设值0)
  • 明白整数的身世之谜後我们来他玩玩吧!
  • 题目: 阿嬷到菜市场买菜,买了一根50元的萝卜跟70元的猪肉,请问阿嬷在未杀价的情况下给了摊主多少钱呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CsharpDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //首先要来一个型态为整数的萝卜变数
            int radish;
            //再来个型态为整数的猪肉变数
            int pork;
            //此时阿嬷问摊主萝卜多少钱,摊主告诉阿嬷50元
            //我们就可以让萝卜变成50元
            radish = 50;
            //这时阿嬷又问摊主猪肉多少钱,摊主告诉阿嬷70元
            //我们就可以就来让猪肉变成70元
            pork = 70;
            //阿嬷为了计算方便就先把价钱写下来了
            Console.WriteLine("萝卜 " + radish + "元 ,猪肉 " + pork + "元");
            //这时候店家拿出计算机按给阿嬷看
            int computer = radish + pork;
            //阿嬷看按计算机上面写的价钱,就从钱包拿出钱给摊贩开心回家了
            Console.WriteLine("计算机画面 => " + radish + " + " + pork + " = " + computer);
            Console.ReadKey();
        }
       
    }
 }
执行:我们可以按快捷键(Ctrl+F5)或是点选功能列的开始执行程序

萝卜 50元 ,猪肉 70元
计算机画面 => 50 + 70 = 120

知识小学堂/images/emoticon/emoticon35.gif

  • 这就是所谓的整数变数
    https://ithelp.ithome.com.tw/upload/images/20210903/20097001z12TEGntl5.png
  • 这边是整数的家,在内存中占了4Byte,也就是32bit
    https://ithelp.ithome.com.tw/upload/images/20210903/20097001Gg3VvBp5pp.png

其他整数类型

  • short型(短整数) : 这种类型只会分配到2个byte,他值范围为-32768~32768
  • long型(长整数) : 他拥有8个byte,值的范围则是-9223372036854775808~9223372036854775807
    如果我们在short与long前面看到一个英文字母u,他则是无符号的型别ushort,ulong,他们这种族的世界中,是没有负面情绪的,是个十分乐观的种族,所以他们只有正数,没有负数

现在我们来归纳一下整数类型吧/images/emoticon/emoticon09.gif

C#类型 值的范围 中文名称
byte 0 ~ 255 字节
short -32768 ~ 32767 短整数
ushort 0 ~ 65535 无号短整数
int -2147483648 ~ 2147483647 整数
uint 0 ~ 4294967295 无号整数
long -9223372036854775808~9223372036854775807 长整数
ulong 0 ~ 18446744073709551615 无号长整数

注意:如果使用超出这些范围外,我们将它称为溢位,程序会出错, 所以我们使用前应该要先想好会用到多大的数值,别宣告太小导致溢位, 也别宣告太大而占用内存空间

浮点数执行别变数/images/emoticon/emoticon17.gif

  • 什麽是浮点数呢?浮点数就是所谓的小数
  • 有时候整数的运算,已经无法满足我们的需求,所以C#中也有小数的运算

小数最常见有三种类型:

C#类型 值的范围 准确率
float ±1.5 x 10−45 ~ ±3.4 x 1038 ~6-9 位数
double ±5.0 × 10−324 ~ ±1.7 × 10308 ~15-17 位数
decimal ±1.0 x 10-28 ~ ±7.9228 x 1028 28-29 位数

我们马上来练习看看吧

  • 题目:请分别用float与double来印出?。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CsharpDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用float型别来宣告变数
            //记得数字最後要加上後置词f
            float pi_f = 3.1415926535879f;

            //使用double来宣告变数
            double pi_d = 3.1415926535879;

            Console.WriteLine("pi_f = " + pi_f);
            Console.WriteLine("pi_d = " + pi_d);
            Console.ReadKey();
        }
       
    }
 }

结果:

pi_f = 3.141593
pi_d = 3.1415926535879

  • 由此我们就可以看得出,他们型别之间的差异,这样在使用之前,我们可以优先考虑,应该要用哪个型别

欢乐的时光总是过得特别的快,以上就是我们今天的变数,请大家请期待明天的字串变数


<<:  鬼故事 - 我的密码是...

>>:  DAY4 MongoDB 资料库与 Collection

Day01:铁人赛开场

一、主题内容 虽然知道全端工程师的路不好走,自己目前也还不是很称职,仍想以自己转职的角度、回顾的方式...

Day6-Java反编译工具:javap

javap介绍 javap是jdk工具中自带的反编译工具,它是根据class位元组码档案,反解析出当...

Day11 跟着官方文件学习Laravel-利用Eloquent ORM改写专案

laravel有提供我们ORM(object-relational mapper),让我们可以利用M...

Day26. Blue Prism取号一把罩–BP自动取得订单编号

一般订购的程序都是由下订单开始, 接着取单号为依据来分批或批次采购相关物资, 因此订单编号有举足轻重...

Day 29 - 大杂烩好吃

总之就是非常杂 在这个领域 只能用一个杂字形容 各种由 0 跟 1 构成的资料 都有可能出现在这之中...