複製鏈接
請複製以下鏈接發送給好友

IF

(計算機中的指令)

鎖定
if,是計算機編程語言一個關鍵字分支結構的一種,應用於C/Java/AS
中文名
IF
類    屬
編程語言關鍵字
形    式
3種
應    用
C/Java/AS

IF編程語言

if
C/Java/AS中
if 語句的3種形式
1. if(表達式)語句 (單分支if語句)
#include <stdio.h>
int main() {
  int x=1;
  int y=2;
  if (x<y) printf("%d",x);
  fflush(stdin);
  getchar();
}
2 if(表達式)語句1 else 語句2 (雙分支if語句)
#include <stdio.h>
int main() {
  int x=1;
  int y=2;
  if (x>y) printf("%d",x);
  else printf("%d",y);
  fflush(stdin);
  getchar();
}
3 if (表達式1) 語句1
else if (表達式2) 語句2
else if (表達式3) 語句3
……
else if (語句m) 語句
else 語句n (if的嵌套)
#include <stdio.h>
int main() {
  int a, c;
  char b;
  scanf("%d%c%d", &a, &b, &c);
  if (b == '+') printf("=%d", a + c);
  else if (b == '-') printf("=%d", a - c);
  else if (b == '*') printf("=%d", a * c);
  else if (b == '/')printf("=%d", a / c);
  fflush(stdin);
  getchar();
}

IFPascal中

if <條件> then <語句1> else <語句2>;
或者
if <條件> then <語句> ;
注意:Pascal中也有if 的嵌套,但else只承接最後一個沒有承接的if,如:
if <條件1> then if <條件2> then <語句1> else <語句2>; 此處<語句2>當且僅當<條件1>成立且<條件2>不成立時運行
if <條件1> then begin if <條件2> then <語句1> end else <語句2>; 此處<語句2>只要<條件1>成立就運行

IFBASIC中

IF <條件> THEN
<語句體>
END IF
或者
IF <條件> THEN
<語句體1>
ELSE
<語句體2>
END IF
説明
#If...Then...#Else 指令的作用與 If...Then...Else 語句相同,其差異在於 #If#Else#ElseIf,及 #End If 指令沒有單獨成行的形式,也就是説,在指令所在的那一行,不能有其他代碼出現。條件編譯通常用來編譯不同平台上的同一個程序。也可以用來避免調試程序代碼出現在可執行程序中。條件編譯時被排除的程序代碼在最後的可執行文件中被完全略去,所以不會對程序的大小或功能有任何影響。

IFPython中

1.
if <條件表達式>: 語句
# -*- coding: utf-8 -*-

num = int(input("請輸入一個整數:"))
if num < 60:
  print("這個數小於60。")
2.
if <條件表達式>: 語句1
else: 語句2
# -*- coding: utf-8 -*-

num = int(input("請輸入一個整數:"))
if num < 60:
  print("這個數小於60。")
else:
  print("這個數不小於60。")
3.
if <條件表達式1>: 語句1
elif <條件表達式2>: 語句2
……
elif <條件表達式n>: 語句n
[ else: 語句n+1 ]
# -*- coding: utf-8 -*-

num = int(input("請輸入一個整數:"))
if num < 60:
  print("這個數小於60。")
elif num == 60:
  print("這個數等於60。")
else:
  print("這個數大於60。")

IF批處理—if

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT 指定只有條件為 false 的情況下, Windows XP
應該執行該命令。
ERRORLEVEL number 如果最後運行的程序返回一個等於或大於
指定數字的退出編碼,指定條件為 true。
string1==string2 如果指定的文字字符串匹配,指定條件為 true。
EXIST filename 如果指定的文件名存在,指定條件為 true。
command 如果符合條件,指定要執行的命令。如果指定的
條件為 FALSE,命令後可跟一個執行 ELSE
關鍵字後的命令的 ELSE 命令。
ELSE 子句必須在 IF 之後出現在同一行上。例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
因為 del 命令需要用一個新行終止,以下子句不會有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由於 ELSE 命令必須與 IF 命令的尾端在同一行上,以下子句也
不會有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
如果命令擴展名被啓用,IF 會如下改變:
IF string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中,比較運算符可以是:
EQU - 等於
NEQ - 不等於
LSS - 小於
LEQ - 小於或等於
GTR - 大於
GEQ - 大於或等於
及 /I 開關;如果該開關被指定,則説明要進行的字符串比較不分
大小寫。/I 開關可以用於 IF 的 string1==string2 的形式上。這些
比較都是通用的;原因是,如果 string1 和 string2 都是由數字
組成的,字符串會被轉換成數字,進行數字比較。
CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它
是在跟與命令擴展名有關聯的內部版本號比較。第一個版本
是 1。每次對命令擴展名有相當大的增強時,版本號會增加一個。
命令擴展名被停用時,CMDEXTVERSION 條件不是真的。
如果已定義環境變量,DEFINED 條件的作用跟 EXISTS 的一樣,
除了它取得一個環境變量,返回的結果是 true。
如果沒有名為 ERRORLEVEL 的環境變量,%ERRORLEVEL%
會擴充為 ERROLEVEL 當前數值的字符串表達式;否則,您會得到
其數值。運行程序後,以下語句説明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的數字比較:
IF %ERRORLEVEL% LEQ 1 goto okay
如果沒有名為 CMDCMDLINE 的環境變量,%CMDCMDLINE%
將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始
命令行;否則,您會得到其數值。
如果沒有名為 CMDEXTVERSION 的環境變量,
%CMDEXTVERSION% 會擴充為 CMDEXTVERSION 當前數值的
字串符表達式;否則,您會得到其數值。

IFshell—if

IF1

[ -a FILE ] 如果 FILE 存在則為真。
[ -b FILE ] 如果 FILE 存在且是一個塊特殊文件則為真。
[ -c FILE ] 如果 FILE 存在且是一個字特殊文件則為真。
[ -d FILE ] 如果 FILE 存在且是一個目錄則為真。
[ -e FILE ] 如果 FILE 存在則為真。
[ -f FILE ] 如果 FILE 存在且是一個普通文件則為真。
[ -g FILE ] 如果 FILE 存在且已經設置了SGID則為真。
[ -h FILE ] 如果 FILE 存在且是一個符號連接則為真。
[ -k FILE ] 如果 FILE 存在且已經設置了粘制位則為真。
[ -p FILE ] 如果 FILE 存在且是一個名字管道(F如果O)則為真。
[ -r FILE ] 如果 FILE 存在且是可讀的則為真。

IF2

[ -s FILE ] 如果 FILE 存在且大小不為0則為真。
[ -t FD ] 如果文件描述符 FD 打開且指向一個終端則為真。
[ -u FILE ] 如果 FILE 存在且設置了SUID (set user ID)則為真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可寫的則為真。
[ -x FILE ] 如果 FILE 存在且是可執行的則為真。
[ -O FILE ] 如果 FILE 存在且屬有效用户ID則為真。
[ -G FILE ] 如果 FILE 存在且屬有效用户組則為真。
[ -L FILE ] 如果 FILE 存在且是一個符號連接則為真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read則為真。
[ -S FILE ] 如果 FILE 存在且是一個套接字則為真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not則為真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在則為真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的設備和節點號則為真。
[ -o OPTIONNAME ] 如果 shell選項 “OPTIONNAME” 開啓則為真。
[ -z STRING ] “STRING” 的長度為零則為真。
[ -n STRING ] or [ STRING ] “STRING” 的長度為非零 non-zero則為真。
[ STRING1 == STRING2 ] 如果2個字符串相同。 “=” may be used instead of “==” for strict POSIX compliance則為真。
[ STRING1 != STRING2 ] 如果字符串不相等則為真。
[ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale則為真。
[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale則為真。
[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers

IF語句

IF三種形式

if(表達式)語句
if(表達式)語句1else語句2
if(表達式1)語句1

IF嵌套

在if語句中又包含一個或多個if語句稱為if語句的嵌套