变量、数据类型
 
 
 
给变量赋值,如果想指定float,在数字后面加上F/f;如果想指定decimal,在数字后面加上m。
 
0-9:48-57
A-Z:65-90
a-z:97-122
 
 
 
 
 
字符串格式化输出
我们在使用Console.writeLine时,可以使用占位符格式化字符串
在字符串中使用{}包裹一个下标,来表示后面的变量
下标不能超过变量个数-1
 
数据转换

隐式类型转换,造成的信息丢失,不容易排查
显示类型转换,造成的信息丢失,会报错且容易排查
显示类型转换的典型例子:高精度转换为低精度,父类与派生类之间的转换
 
convert转换,用于基本类型到基本类型之间的转换
Parse转换,用于字符串到特定类型之间的转换,功能更强大,可转IP地址

 
强制转换符,用于数值类型、派生关系之间的转换
char字符类型也是数值类型,ASC码表

 
 
using System.Text;
using System.Threading.Tasks;
namespace w1d3_namespace
{
class Program
{
static void Main(string[] args)
{
#region 基本数据类型
//基本类型
//整型
int num = ;
long longNum = ;
Console.WriteLine(longNum);
//小数型
float floatNum = 10.0f;
double doubleNum = 10.0;
decimal decimalNum = 10.0m;
//字符
char cha = 'a';
string str = "abc";//引用类型,是一种特殊的引用类型
//布尔
bool isTrue = true;
bool isFalse = false;
Console.WriteLine("sizeof(int)=" + sizeof(int));
Console.WriteLine("sizeof(long)=" + sizeof(long));
Console.WriteLine("sizeof(float)=" + sizeof(float));
Console.WriteLine("sizeof(double)=" + sizeof(double));
Console.WriteLine("sizeof(decimal)=" + sizeof(decimal));
Console.WriteLine("sizeof(char)=" + sizeof(char));
//Console.WriteLine(sizeof(string));不能打出字符串,因为是引用类型
Console.WriteLine("sizeof(bool)=" + sizeof(bool));
#endregion
#region 基本数据类型练习
double num1 = 36.6;
double num2 = 36.6f;
Console.WriteLine("num1=" + num1);
Console.WriteLine("num2=" + num2);
Console.WriteLine("请输入你的年龄");
string myYear;
myYear = Console.ReadLine();
Console.WriteLine("十年后你的年龄" + ( + myYear));
//小明的数学考试成绩是80,语文考试成绩是78,英文的考试成绩是98,请用变量描述
//数据
//小明 变量 数据类型 字符串 变量名 name
//数学考试成绩 变量 字符串 变量名mathSorce
//语文考试成绩 变量 字符串 变量名chineseSorce
//英文考试成绩 变量 字符串 变量名englishSorce
Console.WriteLine("请输入你的名字");
string name = Console.ReadLine();
Console.WriteLine("请输入你的数学考试成绩");
string mathSorce = Console.ReadLine();
Console.WriteLine("请输入你的语文考试成绩");
string chineseSorce = Console.ReadLine();
Console.WriteLine("请输入你的英文考试成绩");
string englishSorce = Console.ReadLine();
Console.WriteLine(name + "数学考试成绩:" + mathSorce + ",语文考试成绩:" + chineseSorce + ",英文考试成绩:" + englishSorce);
//字符类型
int i1 = ;
int i2 = 'A';
char c1 = 'A';
char c2 = (char);
Console.WriteLine("i1=" + i1);
Console.WriteLine("i2=" + i2);
Console.WriteLine("c1=" + c1);
Console.WriteLine("c2=" + c2);
Console.WriteLine("依次输入学生姓名");
Console.WriteLine("C#语言成绩");
string cSharp = Console.ReadLine();
int cSharp1 = Convert.ToInt16(cSharp);//强制类型转换
Console.WriteLine("Unity的成绩");
string unity = Console.ReadLine();
int unity1 = Convert.ToInt16(unity);
Console.WriteLine("你的总分是" + (cSharp1 + unity1));
#endregion
#region 运算符
//运算符
//用来处理数据的一种逻辑
#endregion
#region 算数运算符
//+,-,*,/,%
//用于数值类型的算术运算
// + 可以用于字符串的连接, - 不可以
int math = ;
int english = ;
int chinese = ;
int sum = math + english + chinese;
Console.WriteLine("总分是" + sum);
Console.WriteLine("数学比英语多" + (math - english));//减号不可以连接字符串,要用括号括起来先计算
Console.WriteLine("四五得" + ( * ));//建议所有的运算,全部都用括号括起来,不要记忆运算符的优先级,用括号
Console.WriteLine("二十除以六" + ( / ));//如果你需要得到一个高精度的结果,请使用高精度数据参与运算
Console.WriteLine("二十除以六" + (20f / 6f));//float
Console.WriteLine("二十除以六" + (20.0 / 6.0));//double
Console.WriteLine("二十余六" + ( % ));//求余用整数
#endregion
#region 算数运算符的练习
//string guestName;
//string guestYear;
//Console.WriteLine("请输入你的名字");
//string guestName = Console.ReadLine();
// Console.WriteLine("请输入你的年龄");
//string guestYear = Console.ReadLine();
//Console.WriteLine(guestName + "+" + guestYear + "岁了");
Console.WriteLine("请输入你的姓名");
string guestName = Console.ReadLine();
Console.WriteLine("请输入你的年龄");
string guestYear = Console.ReadLine();
Console.WriteLine("请输入你的邮箱");
string guestMail = Console.ReadLine();
Console.WriteLine("请输入你的家庭住址");
string guestAdress = Console.ReadLine();
Console.WriteLine("请输入你的期望工资");
string guestManey = Console.ReadLine();
Console.WriteLine(guestName + "," + guestYear + "," + guestMail + "," + guestAdress + "," + guestManey);
#endregion
#region 赋值运算符
//=,+=,-=,*=,/=
//= 是将右边的值(数据)赋值给左边的变量,类型必须一致
//+=
int age = ;
age = age + ;
Console.WriteLine(age);
age += ;//数据自身参与运算,且只有一个运算
Console.WriteLine(age);
int age1;
age1 = (int)Convert.ToDouble(age) / ;
Console.WriteLine(age);
age /= ;
Console.WriteLine(age);
age = age % ;
Console.WriteLine(age);
age %= ;
Console.WriteLine(age);
#endregion
#region 自增减运算符
//++ --
int age = ;
age = age + ;
age += ;
//++ 相当于变量自身做加一的运算
//++ 相当于变量自身做减一的运算
//当自增减运算符作为前缀时,先运算,再将结果交给使用者
//当自增减运算符作为后缀时,先将数据交给使用者,后运算
//如果你想回避前后缀问题,使用自增减运算符时,就只运算,不参与使用
age = ;
Console.WriteLine(++age);//age++;先运算后加减
//运算结果是1,打印出来是1
age = ;
Console.WriteLine(age++);//++age;先加减后运算
//运算结果是1,打印出来是0
#endregion
#region 关系运算符 双目运算符
//>,<,==,!=,>=,<=
//用于数值类型之间的关系比较
//用于处理左右两边数据的关系
//如果关系达成,返回一个布尔值为true值
//如果关系不达成,返回一个布尔值为false值
bool result = true;
result = > ;
Console.WriteLine(result);
#endregion
#region 运算符练习
//小李有20个苹果,小王有10个苹果,他们想和对方交换,请实现
int xiaoLi = ;
int xiaoWang = ;
int exchange = ;
Console.WriteLine("小李的苹果有" + xiaoLi + ",小王的苹果有" + xiaoWang);
//如果我们要交换两个变量的数据
//先将一方的数据保存到一个临时变量
exchange = xiaoLi;
xiaoLi = xiaoWang;
xiaoWang = exchange;
Console.WriteLine("交换后");
//Console.WriteLine("小李的苹果有" + xiaoLi + ",小王的苹果有" + xiaoWang);
Console.WriteLine("小李的苹果有{0},小王的苹果有{1}", xiaoLi, xiaoWang);
//计算任意三门成绩的总分、平均分
Console.WriteLine("请输入第一门的成绩");
string score1 = Console.ReadLine();
double score11 = Convert.ToDouble(score1);
Console.WriteLine("请输入第二门的成绩");
string score2 = Console.ReadLine();
double score22 = Convert.ToDouble(score2);
Console.WriteLine("请输入第三门的成绩");
string score3 = Console.ReadLine();
double score33 = Convert.ToDouble(score3);
double sum = score11 + score22 + score33;
double aver = sum / ;
//Console.WriteLine("总分是" + sum + ",平均分是" + aver);
//我们在使用Console.writeLine时,可以使用占位符格式化字符串
//在字符串中使用{}包裹一个下标,来表示后面的变量
//下标不能超过变量个数-1
Console.WriteLine("总分是{0},平均分是{1}", sum, aver);//字符串格式化输出
//计算一个半径为5的圆的面积和周长
//float r = 5;
//float PI = 3.1415926f;
//float perimeter = 2 * r * PI;
//float area = PI * r * r;
Console.WriteLine("请输入半径");
string radius = Console.ReadLine();
double r = Convert.ToDouble(radius);
double PI = 3.1415926f;
double perimeter = * r * PI;
double area = PI * r * r;
//Console.WriteLine("圆的面积是" + area + "圆的周长是" + perimeter);
Console.WriteLine("圆的面积是{0},圆的周长是{1}", area, perimeter);
//某商店T恤的价格为285元/件,裤子的价格为720元/条,小李在该店买了2件T恤和3条裤子,请计算小李该付多少钱?打3.8折后呢?
Console.WriteLine("T恤的价格为285元/件,裤子的价格为720元/条");
Console.WriteLine("请输入T恤件数");
string tShirt = Console.ReadLine();
double tShirt1 = Convert.ToDouble(tShirt);
Console.WriteLine("请输入裤子件数");
string pants = Console.ReadLine();
double pants1 = Convert.ToDouble(pants);
double price = tShirt1 * + pants1 * ;
double discount = tShirt1 * + pants1 * ;
//Console.WriteLine("原价为" + price + ",打折为" + discount);
Console.WriteLine("原价是{0},打折是{1}", price, discount);
#endregion
#region 字符串格式化输出
//我们在使用Console.writeLine时,可以使用占位符格式化字符串
//在字符串中使用{ }
//包裹一个下标,来表示后面的变量
//下标不能超过变量个数 - 1
#endregion
#region 数据类型转换
//隐式转换
//系统默认发生的,将低精度向高精度的类型转换
//如果你需要结果是高精度,数据源尽量保持高精度
//显式转换
//我们调用一些指令对数据进行转换
#endregion
#region Convert
//Convert(显式转换)
//用于所有基本类型之间的转换
//用户输入姓名,语文,数学,英语的成绩,最后在控制台显示:XXX,你的总成绩为XX分,平均分是XX分
Console.WriteLine("请输入您的姓名");
string name = Console.ReadLine();
Console.WriteLine("请输入您的语文成绩");
string inputChinese = Console.ReadLine();
float chinese = Convert.ToSingle(inputChinese);//float的显式转换用single表示
Console.WriteLine("请输入您的数学成绩");
float math = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("请输入您的英语成绩");
float english = Convert.ToSingle(Console.ReadLine());
float sum = chinese + math + english;
float aver = sum / ;
Console.WriteLine("您的总分是{0},平均分是{1}", sum, aver);
Console.WriteLine(1.1 + 2.2 + 3.3);
Console.WriteLine(1.1 + 2.2 + 3.3f);//隐式转换数据丢失
Console.WriteLine(1.1 + 2.2 + Convert.ToSingle(3.3f));//显式转换数据丢失
int age1 = Convert.ToInt16('A');
Console.WriteLine(age1);
//int age2 = Convert.ToInt16("AAA");//Convert的值必须可转
//Console.WriteLine(age2);
Console.WriteLine( + + "");//
Console.WriteLine("" + + );//字符串转换,如果加号左边是字符,默认将右边的类型转成字符串
#endregion
#region Parse转换
//将字符串转换成一个特定类型
//由特定类型调用
//提示用户输入一个数字,接收并计算这个数字的1.5倍
Console.WriteLine("请输入一个整数");
int num1 = int.Parse(Console.ReadLine());
Console.WriteLine(num1 * 1.5f);
Console.WriteLine("请输入一个数字");
float num2 = float.Parse(Console.ReadLine());
Console.WriteLine(num2 * 1.5f);
Console.WriteLine("请输入一个数字");
double num3 = double.Parse(Console.ReadLine());
Console.WriteLine(num3 * 1.5f);
Console.WriteLine("请输入一个数字");
decimal num4 = decimal.Parse(Console.ReadLine());
Console.WriteLine(num4 * 1.5m);
#endregion
#region 强制转换符
//()把需要转到的类型填在括号里,把需要转换的数据放在括号后面
//用于数值类型(整型,浮点型,char)之间的转换
//用于派生(继承)关系之间的转换
int a = (int)'a';
Console.WriteLine(a);
int b = (int)1.35f;
Console.WriteLine(b);//强制转换,精度丢失
//将一个char转换成float
float c = (float)'c';
Console.WriteLine(c);
//
float d = (int)'d';
Console.WriteLine(d);
#endregion
}
}
}

C#学习笔记(二):变量、数据类型和运算符的更多相关文章

  1. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  2. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  3. JavaSE-02 变量 数据类型和运算符

    学习要点 掌握变量的概念 掌握常用数据类型 掌握赋值运算符.算术运算符 掌握boolean数据类型和关系运算符 掌握变量的概念 面向过程程序的定义 程序的定义:程序=数据+算法+文档 程序要操作的数据 ...

  4. Java历程-初学篇 Day02变量,数据类型和运算符

    一,数据类型 1,基础数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔类型 boolean 2,引用类型 String 字符串型 二,变 ...

  5. python学习笔记(二):python数据类型

    上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...

  6. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  7. Go语言学习笔记(二) [变量、类型、关键字]

    日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号.   2.Go 同其他语言不同的地方在于变 ...

  8. tensorflow学习笔记二----------变量

    tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...

  9. java2变量数据类型和运算符

      public class jh_11_加加减减运算符 { public static void main(String[] args) { int a = 5,b =2 ; a ++;// 对自身 ...

  10. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

随机推荐

  1. 配合dedecms内容模型实现后台输入栏目id前端输出文章列表

    为了简化开发的工作量,也方便编辑快速操作,决定将后台进行重新设置.配合dedecms内容模型实现后台输入栏目id前端输出文章列表,这样制作科室专题页也变快了很多.比如,我们添加一个“科室专家栏目id” ...

  2. 应用笔画宽度变换(SWT)来检测自然场景中的文本

    Introduction: 应用背景:是盲人辅助系统,城市环境中的机器导航等计算机视觉系统应用的重要一步.获取文本能够为许多视觉任务提供上下文的线索,并且,图像检索算法的性能很大部分都依赖于对应的文本 ...

  3. 加密货币 (Cryptocurrency) 市值 (market capitalization) 列表

    https://coinmarketcap.com/all/views/all/ ico 列表 https://www.icoalert.com/?q=&is_v=1 https://www. ...

  4. Python自动发邮件-yagmail库

    之前写过用标准库使用Python Smtplib和email发送邮件,感觉很繁琐,久了不用之后便忘记了.前几天看知乎哪些Python库让你相见恨晚?,看到了yagmail第三方库,学习过程中遇到一些问 ...

  5. 微信小程序性能测试之jmeter踩坑秘籍(前言)

    最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄. ---------------- ...

  6. javascript函数定义以及常见用法

                  我们知道,js函数有多种写法,函数声明 ,函数表达式,Function式构造函数,自执行函数,包括Es6的箭头函数,Class类写法,高阶函数,函数节流/函数防抖,下面我就 ...

  7. Django初级手册4-表单与通用视图

    表单的编写 1. detail.html模版的编写 <h1>{{ poll.question }}</h1> {% if error_message %}<p>&l ...

  8. windows8.1的启动目录的路径

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ 或者使用斜杠表示,就像这样: C:/ProgramData/Microsof ...

  9. UVA 103

    /* 这题说的的是 N 维的坐标, 每个盒子的N维坐标 可以进行 随意方式的调换 然后求出 A全部的坐标小于B的 则 A 可以嵌套在B中 然后 计算出最多的 盒子嵌套个数 简单的状态转移 我为何如此的 ...

  10. mvn deploy 推送到私有仓库,注意当前日期

    由于更改了本机系统时间到过去的一个时间,导致mvn deploy推送到私有仓库后,该更新的jar包时间戳比较旧,客户端不能更新得到新的jar包.