展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > Java基础_Java语法

Java基础_Java语法

Java语法涵盖环境搭建、基本语法、变量、运算符、语句、函数与数组。需配置JDK/JRE及环境变量;基础包括关键字、标识符、注释、数据类型;语句含条件、循环;函数涉及定义与调用;数组涉及定义、排序、查找及进制转换。

本文目录

    先来梳理一下入门Ja va必须要掌握的核心知识框架。

    一、Ja va语法

    (一)Ja va环境搭建

    1. 基本常识

    软件,说到底就是按照特定顺序组织起来的一组计算机数据和指令。常见的系统软件比如Linux,应用软件比如Google Chrome。软件存在的意义,就是让人和计算机之间能更好地“对话”。这种交互方式主要有两种:图形化界面和命令行。

    说到命令行,DOS命令是绕不开的基本功:

    • dir — 列出当前目录下的文件及文件夹
    • md — 创建目录
    • del — 删除文件
    • rd — 删除目录
    • cd — 进入指定目录
    • cd.. — 退回上一级目录
    • cd/ — 退回根目录
    • exit — 退出DOS命令行

    需要注意,在DOS里删除文件夹,前提是文件夹里必须是空的。

    实际上,玩转DOS命令行之后你会发现,操作计算机就像跟它说话——你告诉它做什么,它就做什么。当然,前提是你说的话它得能听懂,这就是计算机语言的核心意义。

    2. Ja va的跨平台性

    跨平台性,简单说就是:用Ja va写的应用程序,在Windows上能跑,在Linux上也能跑。原理其实不复杂——只要在需要运行Ja va程序的操作系统上,提前装好一个Ja va虚拟机(JVM)就行了。JVM负责在对应的系统里把Ja va程序跑起来,至于底层是啥系统,它全包了。

    3. Ja va编程环境搭建

    两个关键概念得先分清:

    • JRE(Ja va Runtime Environment)—— Ja va运行环境。它包含JVM和核心类库。如果你想运行一个现成的Ja va程序,装JRE就够了。
    • JDK(Ja va Development Kit)—— Ja va开发工具包。这个是为开发人员准备的,里面不仅有开发工具(编译用的ja vac.exe、运行用的ja va.exe、打包用的jar.exe等),还顺带把JRE也装进来了。所以,装好JDK就不用再单独装JRE了。

    一句话总结:你用JDK写程序,交给JRE去跑。

    还有个小细节:JDK里自带JRE和开发工具,而JRE里才包含虚拟机。当你敲下运行命令ja va时,系统会自动去找JRE里的虚拟机,让它去执行对应的字节码文件(.class)。

    4. 环境变量

    在DOS下敲命令时,操作系统会先在当前目录找有没有这个命令。找不到?它就会去环境变量里找那些配置好的路径,看里面有没有。所以,配置环境变量的目的很单纯——让Ja va开发工具用起来更方便。

    配置时注意一点:文件必须是可执行文件。

    常用配置如下:

    • JA VA_HOME → C:\Ja va\jdk1.7.0_17
    • PATH → %JA VA_HOME%\bin;
    • CLASSPATH → .;%JA VA_HOME%\lib;

    这里有几个要点值得注意:

    • 把可能会变的路径(比如JDK安装目录)提取出来,用JA VA_HOME变量统一管理。这样在PATH里引用%JA VA_HOME%就能动态获取,以后换版本只改一处就行。
    • 在DOS里用set命令配置环境变量,只对当前窗口有效。比如:set PATH=C:\Ja va\jdk1.7.0_17\bin;
    • PATH的特点是先当前目录、再环境变量。而CLASSPATH正好相反——先去CLASSPATH配置的路径里找,找不到才去当前目录。
    • 同样是配置CLASSPATH,在结尾加不加分号区别很大。加了的,既找环境变量路径也找当前目录;没加的,只找环境变量路径。

    5. 第一个Ja va程序

    主函数的作用是确保这个类能独立运行。当你敲下ja va命令,系统会去调用JVM,JVM再去调用Windows底层,然后运行你指定的类。而在运行之前,JVM会先检查这个类里有没有public static void main(String[] args)——这就是程序的入口,没有它,一切免谈。

    Ja va基础_Ja va语法

    (二)语法基础

    1. 基础语法

    (1)关键字

    关键字,就是计算机语言里被赋予了特殊含义的单词。Ja va里的关键字有个共同特点:全是英文小写。

    (2)标识符

    标识符就是你在程序里起的各种名字。成分包括:0-9、A-Z、a-z、下划线_、美元符号$。注意两条铁律:数字不能开头,不能和关键字重名。

    (3)注释

    注释有三种:

    • 单行注释:// 注释内容
    • 多行注释:/* 注释内容 */
    • 文档注释:/** 注释内容 */

    注释既可以用来解释说明代码,也可以用来临时屏蔽代码做调试。不过有一个坑要记住:多行注释里不能再嵌套多行注释。

    (4)Ja va关键字一览

    数据类型:class、interface、byte、short、int、long、float、double、char、boolean、void
    数据值:true、false、null
    流程控制:if、else、switch、case、default、while、do、for、break、continue、return
    访问权限:private、protected、public
    类/函数/变量修饰:abstract、final、static、synchronized
    类关系:extends、implements
    实例相关:new、this、super、instanceof
    异常处理:try、catch、finally、throw、throws
    包操作:package、import
    其他:native、strictfp、transient、volatile、assert

    (5)Ja va名称规范

    • 包名:全小写
    • 类名/接口名:每个单词首字母大写(大驼峰)
    • 变量名/函数名:第一个单词首字母小写,后续每个单词首字母大写(小驼峰)
    • 常量名:全大写,单词之间用下划线连接

    2. 进制

    任何数据在计算机底层都是以二进制形式存在的。二进制说到底就是开关的演变,但一连串的0和1实在不方便阅读。于是人们想到把三位二进制缩成一位表示——三位最大是7,超过就进位,这就是八进制。后来又觉得不够,干脆用四位二进制表示一位,这就是十六进制。

    计算机里,8位二进制数组成一个最小的存储单位——字节。

    为了把文字也塞进计算机,人们用0和1的不同排列来对应A、B、C……这就形成了编码表。最基础的是ASCII表,美国人用的。中文词太多,对应的编码表自然也更复杂。

    负数在二进制里怎么表示?举个例子:6在32位二进制里是00000000 00000000 00000000 00000110。先取反得11111111 11111111 11111111 11111001,再加1,得到11111111 11111111 11111111 11111010,这就是-6。负数的最高位总是1,这个特征很明显。

    (三)变量

    1. 变量的概念

    变量就是内存里的一块存储区域,有自己的名字(变量名)和类型(数据类型)。这块区域里的数据可以在同一类型范围内不断变化。

    2. 为什么要定义变量

    说白了,就是为了反复存放同一类型的常量数据,并且能重复使用。

    3. 使用变量要注意的两件事

    • 变量的作用范围
    • 初始化值

    4. 什么时候定义变量

    数据不确定、需要存储的时候,就定义一个变量。本质上,程序里要用一些内存单元来暂存数据。为了方便访问,我们用标识符(也就是变量名)给这些内存单元取个名字,而不是记它那一长串唯一地址。命名同时还要指定数据类型,这样才能存入和读取正确类型的数据。因为程序运行时这些数据会变化(常量除外),所以叫变量。

    这里顺便扯一句C语言的类比:类型本身(比如int)是不占内存的,但用它们定义的变量和数组是占内存的。结构体类型也不占内存,它只是告诉编译器:将来定义这种类型的对象由哪些成员构成、各占多少字节。一旦定义变量,内存就分配好了,而且是连续的。

    经典示例:类型转换

    short s = 3;
    s = s + 2;  // 编译失败!s被自动转成int,运算结果也是int,没法赋值给short
    s += 2;     // 编译通过!+=运算符在赋值时自动完成了强制类型转换

    (四)运算符

    位运算示例:

    60 >> 4 = 3
    // 00000000 00000000 00000000 00111100 >> 4 = 00000000 00000000 00000000 00000011

    注意一个规律:左移相当于乘以2的移动位数次幂,右移相当于除以2的移动位数次幂。

    (五)语句

    1. switch语句的特点

    • 选择的类型只有四种:byte、short、int、char
    • case和default的顺序无所谓,程序会先看第一个case,没有匹配就去执行default
    • switch语句结束只有两种可能:遇到break,或者执行到switch结尾
    • 如果匹配的case或default没有break,程序会继续往下执行,直到遇到break或switch结尾

    2. 循环语句

    需要多次执行某些语句时,就用循环。另外要留意变量的作用域:如果把增量定义在for语句里,这个变量只在for循环内有效,循环结束后它就在内存里被释放了。这一点其实很实用——如果循环结束后还要用到这个变量,就得用while循环;否则,用for更省内存。

    for与while的对比:

    for(int i = 0; i < 3; i++) {
        System.out.println("i=" + i);
    }
    // System.out.println("i=" + i);  // 编译出错,找不到符号i
    
    int j = 0;
    while(j < 3) {
        System.out.println("j=" + j);
        j++;
    }
    System.out.println("j=" + j);  // 编译正确,输出j=3

    嵌套循环示例:

    for(int i = 1; i <= 5; i++) {       // 控制行
        for(int j = 1; j <= i; j++) {   // 控制列
            System.out.print(j);
        }
        System.out.println();
    }
    // 运行结果:
    // 1
    // 12
    // 123
    // 1234
    // 12345

    (六)函数

    函数是定义在类中的、具有特定功能的一段独立小程序。它的基本格式如下:

    修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...) {
        执行语句;
        return 返回值;
    }
    • 返回值类型:函数运行后的结果的数据类型
    • 参数类型:形式参数的数据类型
    • 形式参数:函数的自变量,用来接收调用时传入的实际参数
    • 实际参数:传给形式参数的具体数值
    • return:结束函数,同时把返回值交给调用者

    定义函数的思路:

    1. 先明确这个功能的运算结果是什么(确定返回值类型)
    2. 再明确运算过程中是否需要未知内容参与(确定参数列表)

    有两个原则必须记住:函数里只能调用函数,不能在函数内部再定义函数;函数的结果应该返回给调用者,让调用者自己决定怎么处理。主函数的作用,就是调用其他函数来做测试。

    错误案例:

    public static void getAdd(int a, int b) {
        System.out.println((a+b));  // 问题很大!打印操作应该是调用者的事
        return;
    }

    另一个常见错误:

    class Demo {
        // 错误:找不到程序入口
        for(int i = 0; i < 5; i++) {
            System.out.println(i);
        }
    }

    函数重载

    重载指的是在同一个类中,允许存在多个同名函数,只要参数个数或参数类型不同即可。重载和返回值类型无关,只看参数列表。它的好处是方便阅读,优化设计。什么时候用?功能相同,但参与运算的未知内容不同时,就用同一个函数名来统一语义,靠参数列表来区分。

    (七)数组

    1. 数组的概念

    数组就是同一种类型数据的集合,本质上就是一个容器。好处是:数组会自动给每个元素从0开始编号,方便操作。

    2. C语言中的数组(拓展理解)

    C语言里,数组定义后,数组和它的每个元素在内存中都有明确的地址。数组起始地址就是数组的指针,可以用数组名或取地址符来给指针变量赋值——数组名本身代表数组首地址,并且永远是常量。

    3. Ja va内存结构

    Ja va程序运行时,内存被划分为不同区域,每个区域有特定的数据处理和管理方式:

    • 栈内存:存局部变量,数据用完自动释放
    • 堆内存:存实体(包括数组和对象),通过new创建的对象都在这里。每个实体都有地址值,实体中的变量都有默认初始值,不再使用时会在不确定的时间内被垃圾回收器回收
    • 方法区(也叫共享区或数据区)
    • 本地方法区
    • 寄存器

    4. 数组常见操作

    (1)遍历

    public static void print(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.println("arr[" + i + "]=" + arr[i]);
        }
    }

    (2)最值

    public static int max(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }

    (3)排序

    选择排序:

    public static void sort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }

    冒泡排序:

    public static void sort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    (4)查找

    折半查找:效率很高,但前提是数组必须有序。

    public static int search(int[] arr, int key) {
        int min = 0;
        int max = arr.length - 1;
        int mid;
        while (min <= max) {
            mid = (min + max) / 2;
            if (key > arr[mid]) {
                min = mid + 1;
            } else if (key < arr[mid]) {
                max = mid - 1;
            } else {
                return mid;
            }
        }
        return -1;
    }

    向有序数组插入元素(保持有序):

    public static int insert(int[] arr, int key) {
        int min = 0;
        int max = arr.length - 1;
        int mid;
        while (min <= max) {
            mid = (min + max) / 2;
            if (key > arr[mid]) {
                min = mid + 1;
            } else if (key < arr[mid]) {
                max = mid - 1;
            } else {
                return mid;
            }
        }
        return min;
    }

    5. 进制转换

    十进制 → 十六进制:

    public static void toHex(int num) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < (32 / 4); i++) {
            int temp = num & 15;
            if (temp > 9) {
                sb.append((char) (temp - 10 + 'A'));
            } else {
                sb.append(temp);
            }
            num = num >>> 4;
        }
        System.out.println(sb.reverse());
    }

    十进制 → 任意进制:

    public static void toBinary(int num) {
        transform(num, 1, 1);
    }
    
    public static void toOctal(int num) {
        transform(num, 7, 3);
    }
    
    public static void toHex(int num) {
        transform(num, 15, 4);
    }
    
    public static void transform(int num, int base, int offset) {
        char[] chs = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8',
                '9', 'A', 'B', 'C', 'D', 'E', 'F' };
        char[] arr = new char[32];
        int pos = arr.length - 1;
        while (num != 0) {
            int temp = num & base;
            arr[pos] = chs[temp];
            pos--;
            num = num >>> offset;
        }
        for (int i = pos + 1; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
    }

    6. 二维数组

    int[][] arr = new int[3][];
    arr[0] = new int[3];
    arr[1] = new int[2];
    arr[2] = new int[1];
    
    System.out.println(arr.length);        // 二维数组的长度
    System.out.println(arr[0].length);     // 第一个一维数组的长度
    System.out.println(arr[1].length);     // 第二个一维数组的长度
    System.out.println(arr[2].length);     // 第三个一维数组的长度
    
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr[i].length; j++) {
            System.out.println(arr[i][j]);
        }
    }
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Java
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Adobe Acrobat Pro macOS版
    Adobe Acrobat Pro macOS版

    Adobe Acrobat Pro 是面向办公、法务、财务、教育及出版用户的专业PDF处理软件,可在Mac上创建、编辑、转换、合并和保护文档,并提供OCR文字识别、表单、批注、内容比较、敏感信息遮盖及电子签名功能。

    Blender
    Blender

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    Shapr3D macOS版
    Shapr3D macOS版

    Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

    Adobe Illustrator macOS版
    Adobe Illustrator macOS版

    Adobe Illustrator 是 Adobe 推出的专业矢量图形设计软件,适合在 Mac 上制作标志、图标、插画、包装、信息图及印刷版面。它以路径和锚点构建可无损缩放的图形,并提供钢笔、形状、文字、图像描摹、渐变、画板及生成式功能。

    Adobe InDesign macOS版
    Adobe InDesign macOS版

    Adobe InDesign 是面向印刷品与数字出版物的专业版面设计软件,可在 Mac 上制作书籍、杂志、宣传册、海报、报告及交互式文档。它提供精细的文字样式、网格、母版、长文档管理和印前输出能力。

    Affinity Designer macOS版
    Affinity Designer macOS版

    Affinity Designer 的矢量设计能力现已整合进 Affinity by Canva,可在 Mac 上进行标志、图标、插画、界面原型及印刷品设计。个人用户使用免费 Canva 账户即可使用完整的矢量、像素和版面工具。

    Archicad macOS版
    Archicad macOS版

    Archicad是Graphisoft推出的建筑信息模型设计软件,可在Mac上完成概念设计、参数化建模、图纸编制、工程量统计、渲染展示及团队协同。模型与平立剖面、明细表和布局保持关联,适合建筑师、室内设计师、BIM团队及相关专业学生使用。

    AutoCAD LT macOS版
    AutoCAD LT macOS版

    AutoCAD LT是Autodesk推出的专业二维CAD设计与文档编制软件,Mac版本提供原生界面、多点触控及分屏查看体验。用户可精确创建和编辑DWG图形,完成图层管理、尺寸标注、表格、PDF参考、外部参照及打印输出。

    AutoCAD macOS版
    AutoCAD macOS版

    AutoCAD for Mac 是 Autodesk 面向 macOS 提供的专业计算机辅助设计软件,支持精确的二维绘图、标注、布局输出以及实体、曲面和网格建模。软件采用适配 Mac 操作习惯的界面,可处理 DWG 图纸。

    Autodesk Fusion macOS版
    Autodesk Fusion macOS版

    Autodesk Fusion 是面向产品设计与制造的一体化云连接平台,在 Mac 上提供参数化建模、自由曲面、装配、工程图、仿真、PCB 设计和 CAM 加工等工具。它适合机械工程师、工业设计师、创客及制造团队使用。

    Autodesk Maya macOS版
    Autodesk Maya macOS版

    Autodesk Maya是一套面向影视动画、游戏开发和视觉特效制作的专业三维创作软件,集多边形与曲面建模、角色绑定、关键帧动画、动力学模拟、程序化特效及Arnold渲染于一体,并提供脚本、插件和开放式制作管线支持。

    Blender macOS版
    Blender macOS版

    Blender是一款免费开源的综合三维创作软件,可在Mac上完成建模、数字雕刻、材质制作、角色绑定、动画、物理模拟、渲染、合成及视频剪辑。软件提供Cycles与Eevee渲染工具,并支持几何节点、蜡笔绘制和Python扩展。

    WINDOWS 更多
    AutoCAD Windows版
    AutoCAD Windows版

    AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。

    Adobe Acrobat Pro Windows版
    Adobe Acrobat Pro Windows版

    Adobe Acrobat Pro 是面向专业 PDF 工作的综合解决方案,可在 Windows 中创建、编辑、转换、比较、整理和保护文档,并支持表单、电子签名、扫描件文字识别及敏感信息永久遮盖。订阅还包含网页、移动服务和云端协作能力,

    Blender
    Blender

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    3dmax(3ds max)
    3dmax(3ds max)

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    Adobe InDesign Windows版
    Adobe InDesign Windows版

    Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator

    Adobe Illustrator Windows版
    Adobe Illustrator Windows版

    Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。

    Figma Windows版
    Figma Windows版

    Figma 是面向产品设计与开发团队的云端协作平台,可在 Windows 桌面客户端中完成界面绘制、组件管理、交互原型、评论评审和开发交付。文件保存在云端,多名成员能够同步编辑并共享设计系统;官方同时提供免费 Starter 方案及按席位计

    Affinity Designer Windows版
    Affinity Designer Windows版

    Affinity Designer 是面向矢量图形、数字插画和界面设计的专业创作工具,可在矢量、像素与导出工作区之间快速切换。它提供曲线编辑、形状构建、画板、排版、图层和专业色彩管理,并支持常见设计文件的导入及多种印刷、网页格式输出。

    Cinema 4D Windows版
    Cinema 4D Windows版

    Cinema 4D是Maxon推出的专业三维创作软件,将建模、动画、MoGraph动态图形、粒子与动力学模拟、材质灯光及Redshift渲染整合在统一工作环境中,适用于广告包装、影视特效、产品和建筑可视化、游戏素材等制作场景。

    Blender Windows版
    Blender Windows版

    Blender 是免费开源的三维创作套件,在 Windows 上提供建模、雕刻、材质、动画、物理模拟、合成、跟踪、视频剪辑及 Cycles、EEVEE 渲染工具。它适合个人创作者、学生和小型工作室,

    Autodesk Maya Windows版
    Autodesk Maya Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    SketchUp Pro Windows版
    SketchUp Pro Windows版

    SketchUp Pro 是面向建筑、室内、景观、施工和产品设计等专业场景的三维建模工具,提供桌面建模、LayOut 二维文档、模型资源库、扩展程序及云端协作能力。其操作逻辑直观,适合从概念推敲、空间规划到图纸表达和方案汇报的完整工作流程。