網站首頁 編程語言 正文
類型轉換
Convert.To類型()
1、表達式
將變量和字面值(在使用運算符時,他們都稱作操作數)與運算符組合起來就得到了表達式,它是計算的基本構建
簡單的操作包括所有的基本書序操作,如加減乘除;還有專門用于處理布爾值的邏輯運算以及賦值運算。
比如表達式:c=a+b
讓用戶輸入他的語文和數學成績,計算他的總成績
using System;
namespace 表達式
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b = 10;
int c = a + b;
Console.WriteLine(c);
Console.WriteLine("請輸入你的語文成績");
double chinese = Convert.ToDouble( Console.ReadLine()); //接收用戶輸入(字符串),并轉換成Dobule類型
Console.WriteLine("請輸入你的數學成績");
double math = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("您的總成績是{0},平均成績是{1}", chinese+math, (math+chinese)/2); // 字符串連接方式可以用“+”
Console.ReadKey();
}
}
}
1.2 運算符分類
按操作數的個數
- 一元運算符:處理一個操作數(int a=10)
- 二元運算符:處理兩個操作數 a>b
- 三元運算符:處理三個操作數 (?:
按運算類型:
- 數學運算符
- 賦值運算符
- 關系運算符
- 布爾原酸符
- 位運算符 (按為取反)
- 其他運算符(is as)
- var1=var2++ :先用后加,var1等于var2,var2的值加1
- var1=++var2:先加后用(va2=)
2、數學運算符
- var2=10
- var1=var2++ 先用后加(var1=var2=10, var2的值加一(var2=10+1))
- var1=++var2 先加后用 (var2加一(var2=10+1),var1等于var2+1)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 數學運算符
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b = 3;
int c = a / b;
double d = a / b;
double e = 5.0;
double f = 3.0;
double g = e / f;
Console.WriteLine("c的值是{0},d的值是{1},g的值是{2}", c, d,g);
Console.ReadKey();
}
}
}
結果:c的值是1,d的值是1,g的值是1.66666666666667
++/–
3、賦值運算符
4、關系運算符
5、布爾運算符
注:&&/||與&/|區別:&&/||可用于對數值執行操作,實際上,他們處理的是在儲存在變量中的一系列位而不是變量的值
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 布爾運算符
{
class Program
{
static void Main(string[] args)
{
//&與運算符,||或運算符,!取反操作符,^異或運算符
int a = 10;
int b = 15;
Console.WriteLine((10==a++)||(16==b--));
Console.WriteLine("a的值是{0},b的值是{1}",a,b); //輸出結果是a的值是11,b的值是15
//或運算符||前一個操作為true時,不在執行后一個操作內容,所是上面的結果
Console.ReadKey();
}
}
}
6、位運算符
位(bit):在計算機中存儲所有數據都采用二進制,那么二進制的為,便是我們所有的bit
1Byte=8bit 1字節=8位
1k=1024Byte
1M=1024k
1G=1024M
1T=1024G
在大俗代碼中都不適用這些運算符,但應知道這樣的運算符存在。它們主要用于高度優化的代碼,在這些代碼中,使用其他數學操作的開銷太高。因此它們通常用于驅動程序或系統代碼
~ 按位取反
&與運算
|或運算
^異或
<<左移
>>右移
6.1 &按位與運算
6.2 或|按位運算
6.3 異或^按位運算符
6.4按位取反~按位預算符
6.5 左移<<運算符
var3=var1<<var2 var1向左移動var2位,將所得的值付給var3
6.6右移
var3=var1>>var2 var1向右移動var2位,將所得的值付給var3
左移一位,相當于乘以2;
右移一位,當當與除以2;然后去除非整數部分
7、其他運算符
7.1 字符連接運算符+
將兩個字符串連接在一起組成一個新的字符串
備注:C#中“+”共三種用法
- 數學算數運算符 var1=var2+var3
- 乘以正1 var1 =+var2 (var1=var2*(+1))
- 字符串連接 str1=“my name is” str2=“darly” str3=str1+" "+str2,則str3=“my name is darly” 7.2 is運算符
用于動態檢查對象的運行時類型是否與給定類型兼容
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 其他運算符
{
class Program
{
static void Main(string[] args)
{
int a = 10;
double b = 3.14;
string c = "it is a string";
bool mybool = false;
mybool = a is int;
Console.WriteLine("a is int\t"+mybool); // \t是跳轉到下一個制表符
mybool = b is double;
Console.WriteLine("b is doubule\t" + mybool);
mybool = c is string;
Console.WriteLine("c is string\t" + mybool);
Console.ReadKey();
}
}
}
7.3 三元運算符
表達式1?表達式2:表達式3 表達式1為true則結果為表達式2,否則結果為表達式3
輸出語句“I have 數量 pen” 當數量為1時為pen,數量大于1時為pens
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 其他運算符
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("請輸入您擁有的鋼筆數量");
int qty = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("I have {0} pen{1}", qty,qty>1?"s":"");
//Console.ReadKey();
// 比較用戶輸入數據與5的關系
Console.WriteLine("請您輸入要比較的數字");
int number1 = Convert.ToInt32(Console.ReadLine());
string result = number1 > 5 ? "大于等于" : "小于";
Console.WriteLine("您輸入的數字{0}5",result);
Console.ReadKey();
}
}
}
8、運算優先級
總結練習
編程實現1532855秒是幾天幾小時幾分鐘幾秒
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 總結練習
{
class Program
{
static void Main(string[] args)
{
// 方法1,利用取整再取余的方式逐級獲取響應的單位值
Console.WriteLine("請輸入你要計算的秒數");
int day = 24 * 60 * 60;
int hour = 60 * 60;
//int total = 1232855;
int total = Convert.ToInt32(Console.ReadLine());
int days = total / day; //計算天數 利用總秒數對一天一共多少秒取整,得到天數
int hours = (total % day) / hour; // 利用總秒數對一天一共多少秒取余數,得到不夠一天的秒數,然后對一小時包含秒數整,得到小時數;
int minutes = (total % day % hour)/60; //同樣思路,利用兩次取余得到不足一小時的數量,再對60秒取整得到分鐘數
int minutes2 = total % 3600 / 60; //計算分鐘的方式2,總秒數對一小時取余得到不足一小時的秒數然后取整60秒得到分鐘數
int second = total % 60; //用總數對60秒取余得到不足一分鐘的秒數,就是秒
Console.WriteLine("{0}天{1}小時{2}分鐘{3}秒",days,hours,minutes,second);
Console.WriteLine(minutes2+"分鐘");
Console.ReadLine();
}
}
}
原文鏈接:https://blog.csdn.net/Mwyldnje2003/article/details/122444196
相關推薦
- 2022-03-23 C++繼承詳細介紹_C 語言
- 2022-05-24 Flutter實現滾動選擇數字_Android
- 2022-07-21 微信小程序--動態設置導航欄顏色
- 2022-12-08 C語言程序如何求學生總成績和平均成績_C 語言
- 2022-09-29 數據設計之權限的實現_數據庫其它
- 2024-03-01 【Promise】promise關鍵問題和解決辦法
- 2022-03-27 Android顯示富文本+夜間深色模式_Android
- 2022-06-07 freertos實時操作系統空閑任務阻塞延時示例解析_操作系統
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支