主流编程语言语法简单总结(Java, C, C++, C#, PHP, JavaScript, Swift, Go)

这篇博客总结了Java, C, C++, C#, PHP, JavaScript, Swift, Go八种主流编程语言的基础语法,包括Hello World、标识符、数据类型、变量、常量、运算符、判断、循环等核心概念,便于快速学习和对比不同语言的特点。" 107209254,9419229,PHP三目运算符版本兼容问题及解决,"['PHP', '编程', '语法', '错误修复', '版本管理']
摘要由CSDN通过智能技术生成

经常用到多种编程语言,时间长了容易搞混,整理一下不用语言语法的异同点,方便快速学习或温习。

根据TIOBE编程语言排行榜,语言顺序是Java, C, C++, Python, Visual Basic .NET, C#, PHP, JavaScript(简称JS), SQL, Swift,MATLAB, Go,其中Python和Visual Basic .NET语法比较特别,SQL主要是访问和处理数据库,MATLAB主要是数学方面,所以只整理八种语言。

TIOBE 发布的2018年10 月编程语言排行榜:

Oct 2018 Oct 2017 Programming Language Ratings Change 主要使用场景
1 1 Java 17.801% +5.37% web后端,游戏后端,大数据,Android
2 2 C 15.376% +7.00% 各种核心库,嵌入式
3 3 C++ 7.593% +2.59% 各种后端(除web)
4 5 Python 7.156% +3.35% 机器学习,大数据
5 8 Visual Basic .NET 5.884% +3.15% Win平台下的APP、web后端
6 4 C# 3.485% -0.37% Win平台下的APP、web后端,Unity3D
7 7 PHP 2.794% +0.00% web后端
8 6 JavaScript 2.280% -0.73% web前端,Node.js
9 - SQL 2.038% +2.04% 数据库
10 16 Swift 1.500% -0.17% iOS
11 13 MATLAB 1.317% -0.56% 数学计算
12 20 Go 1.253% -0.10% 高性能分布式后端

主要参考:菜鸟教程(Java 教程C 语言教程C++ 教程Python 3 教程C# 教程PHP 教程JavaScript 教程Node.js教程SQL 教程Swift 教程Go 语言教程

基础语法

Hello World

//java
public class HelloWorld {
   
    public static void main(String []args) {
   
        System.out.println("Hello, World!");
    }
}
//c
#include <stdio.h>
int main(){
   
   printf("Hello, World! \n");
   return 0;
}
//cpp
#include <iostream>
using namespace std;
int main(){
   
   cout << "Hello, World!";
   return 0;
}
//csharp
using System;
namespace HelloWorldApplication{
   
   class HelloWorld{
   
      static void Main(string[] args){
   
         Console.WriteLine("Hello, World!");
         Console.ReadKey();
      }
   }
}
<!DOCTYPE html> 
<html> 
<body> 
<?php
	echo "Hello, World!"; 
?> 
</body> 
</html>
//Node.js
console.log("Hello, World!");

//javascript
<!DOCTYPE html>
<html>
<body>
<script>
	document.write("<p>Hello, World!</p>");
</script>
</body>
</html>
//swift
import UIKit
var myString = "Hello, World!"//Swift语言没有";"
print(myString)
//go
func main(){
     
//{  //{不能在单独的行上,其他语言没这个问题
    fmt.Println("Hello, World!")//Go语言没有";"
}

标识符

类名、变量名以及方法名都被称为标识符。

  • 所有的标识符都以字母(A-Z或者a-z)或下划线(_)开始(Java、JS可用$,C#可用@开始)
  • 首字符之后可以是字母(A-Z或者a-z)、下划线(_)或数字(0-9)的任何字符组合(Java、JS可用$,C#可用@)
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、_value、__1_value
  • 非法标识符举例:123abc、-salary

空格

空格分隔语句的各个部分。

int age;//age前至少一个空格
fruit = apples + oranges; //fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,只是为了增强可读性

let a= 1 + 2 //在Swift中,运算符不能直接跟在变量或常量的后面,这样会报错

注释

//这是单行注释
/*这也是单行注释*/
/* 这是多行注释
 * 这是多行注释
 */

数据类型

  • java: byte, short, int, long, float, double, boolean, char, 引用类型(类似C的指针,对象、数组)
  • C: char, unsigned char, signed char, int, unsigned int, short, unsigned short, long, unsigned long, float, double, long double, void
  • C++: bool, char, int, float, double, void, wchar_t, (可加signed, unsigned, short, long修饰), (typedef int feet; feet varA;//定义新类型),
  • C#: bool, byte, char, decimal, double, float, int, long, sbyte, short, uint, ulong, ushort
  • PHP: String, Integer, Float, Boolean, Array, Object, NULL
  • JS: String, Number, Boolean, Null, Undefined, Symbol, 引用类型(Object, Array, Function)
  • Swift: Int, UInt, Int8, UInt8, Int32, UInt32, Int64,UInt64, Float, Double, Bool, String, Character, Optional
  • Go: bool, int, uint8(byte), uint16, uint, unit32, uint64, int8, int16, int32(rune), int64, float32,float64, complex64, complex128, uintptr(无符号整型,用于存放一个指针), 派生类型(指针Pointer,数组,结构化struct,Channel,函数,切片,接口类型interface,Map )

变量类型

  • Java, C, C++, C#: int varA;, int varA = 42;
  • PHP: $varA=42;
  • JS: var varA;, var varA = 42;, let varA = 42;(let是ES6引入,声明的变量只在代码块有效,不影响同名块外变量)
  • Swift: var varA:Int, var varA = 42
  • Go: var varA int, var varA = 42, varA := 42

Swift 可选(Optionals)类型

Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x “或者"那儿没有值”。
Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:

var optionalInteger: Int?
var optionalInteger: Optional<Int>

当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个感叹号表示"我知道这个可选有值,请使用它。"这被称为可选值的强制解析(forced unwrapping)。

var myString:String?
myString = "Hello, Swift!"
print(myString)//正常输出
print( myString! )// 强制解析

程序执行结果为:

Optional("Hello, Swift!")
Hello, Swift!

常量

  • Java:使用 final 关键字来修饰常量,final int CONSTA = 42;
  • C, C++: #define CONSTA 42, const int CONSTA = 42;
  • C#: const int constA = 42;
  • PHP: define("CONSTA", 42);
  • JS: const constA=42;(ES6引入)
  • Swift: let constA = 42
  • Go: const CONSTA int = 42, const CONSTA = 42

运算符

  • 算术运算符: +, -, *, /, %, ++(Swift3取消), --(Swift3取消)
  • 关系运算符: ==, !=, >, <, >=, <=, ===(绝对等于,PHP、JS特有), !==(绝对不等于,PHP、JS特有), <>(不等于,PHP特有)
  • 逻辑运算符: &&与, ||或, !非,(PHP特有:and, or, xor)
  • 位运算符: &与, |或, ^异或,~反, <<左移, >>右移,>>>右移补0(Java特有) ,(PHP、JS没有位运算符)
  • 赋值运算符: =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=, (PHP、JS没有移位和逻辑赋值)
  • 其他运算符:
    • ? :(条件运算符,JS、Go没有)
    • instanceof(检查对象类型,Java特有)
    • &(返回变量地址,C、C++、C#、Go特有)
    • *(指针变量,C、C++、C#、Go特有)
    • sizeof()(返回字节数,C、C++、C#特有)
    • ,(顺序执行一系列运算,只返回最后表达式的值,C++特有)
    • Cast(强制转换,C++特有))
    • .=(连接字符串,PHP特有)
    • typeof()(返回class类型,C#特有)
    • is(检查对象类型,C#特有),
    • as(强制转换,C#特有)

判断

if(布尔表达式){
   //Swift、Go表达式外面没括号
	//如果布尔表达式为true将执行的语句
}

if(布尔表达式){
   
   	//如果布尔表达式的值为true
}else{
   
   	//如果布尔表达式的值为false
}

if(布尔表达式 1){
   
   	//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
    //PHP也可以写成elseif
   	//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   
   	//如果布尔表达式 3的值为true执行代码
}else {
   
   	//如果以上布尔表达式都不为true执行代码
}

if(布尔表达式 1){
   
	//如果布尔表达式 1的值为true执行代码
   	if(布尔表达式 2){
   
      	//如果布尔表达式 2的值为true执行代码
  	}
}

switch(expression){
   
	case value :
       	//语句
       	break; //可选
    case value :
       	//语句
       	break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

循环

//好像Go没有
while( 布尔表达式 ) {
   
  	//循环内容
}

//Swift不用do,用repeat
//好像Go没有
do {
   
	//代码语句
}while(布尔表达式);

//Swift3已弃用
//for(初始化; 布尔表达式; 更新)
for(int x = 10; x < 20; x = x+1) {
   
    //代码语句
}

//for/in Java5以上
//for(声明语句 : 表达式)
for(int x : numbers ){
   
   //代码句子
}
for(Iterator i = list.iterator(); i.hasNext(); ) {
   
   Object listElement = i.next();
}

//forEach,Java8以上
List<Integer> numbers = new ArrayList<>();
numbers.forEach((Integer integer) -> {
   //第一种
    System.out.println(integer);
});
numbers.forEach(integer -> {
   //第二种
    System.out.println(integer);
});
numbers.forEach(integer -> System.out.println(integer));//第三种
numbers.forEach(System.out::println);//第四种

numbers.forEach(new MyConsumer());第五种,基于MyConsumer类
class MyConsumer implements Consumer<Integer>{
   
    @Override
    public void accept(Integer integer) {
   
        System.out.println(integer);
    }
}

//stream,Java8以上
arrayList.stream().filter(i -> i > 0);
arrayList.stream().forEach(s -> System.out.println(s));

//C#
foreach (int element in fibarray){
   
	System.Console.WriteLine("Element #{0}", element);
}

//PHP
foreach ($array as $value){
   
   //要执行代码;
}

//JS
for (x in person){
     // x 为属性名
    txt=txt + person[x];
}

//Swift
for index in 1...5 {
   
    print("\(index) 乘于 5 为:\(index * 5)")
}
var someInts:[Int] = [10, 20, 
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值