变量、数据类型
 
 
 
给变量赋值,如果想指定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. json数据处理:读取文件中的json字符串,转为python字典

    方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...

  2. ubuntu开发环境下eclipse的alt+/自动补全功能不能用

    解决方法:windows ---preferences---General---keys ,把在搜索框中搜Word Completion,把该快捷键unbind,然后给content assist 绑 ...

  3. NuGet:自定义配置信息(2)

    有些类库项目打包后,如何让别人引用的时候自动添加上对应的配置项目呢,比如EntityFramework的NuGet包,打开后可以看到类似下面的结构: 空白处右击——Add Content Folder ...

  4. Integer类之equals与hashCode

    一.源码. 1.equals源码.可以看出,比较的是两者的类型相同且内容相同.即是否有相等的int类型的value值. ######################################## ...

  5. Python 为什么要用yield

    可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概 ...

  6. Python: Flask框架简单介绍

    接触Python之后我第一次听说Flask,我就根据自己搜罗的知识尽可能简洁的说出来.如果不准确的地方还请指正,谢谢. Flask是什么?             Flask是基于Python编写的微 ...

  7. 浅谈为什么一个java源文件中只能有一个public类?

    声明,本篇文章为转载 转载 http://blog.csdn.net/bareheadzzq/article/details/6562211 最近在一个java文件中实现了几个类,其中一个声明为pub ...

  8. Linux基础命令---eject

    eject eject指令允许在软件控制下弹出可移动媒体(通常是光盘.软盘.磁带或Jaz或ZIP磁盘).该命令还可以控制一些由某些设备支持的自动弹出功能的多光盘转换器,并关闭一些光盘驱动器的盘. 对应 ...

  9. linux基础命令---mswap

    mkswap 在Linux设备或者文件中创建交换分区,创建完成之后必须使用swapon来使用它.一般在“/etc/fstab”中有一个交换分区列表,这样开机的时候就可以使用它. 此命令的适用范围:Re ...

  10. Js基础知识7-JavaScript所有内置对象属性和方法汇总

    对象什么的,程序员可是有很多呢... JS三大对象 对象,是任何一个开发者都无法绕开和逃避的话题,她似乎有些深不可测,但如此伟大和巧妙的存在,一定值得你去摸索.发现.征服. 我们都知道,JavaScr ...