为什么选择JAVA
JAVA的特点:
- 简单性
- 面向对象
- 分布式
- 健壮性
- 安全性
- 体系结构中立
- 可移植性
- 解释性
- 高性能
- 多线程
- 动态性
从语法结构上来说,JAVA相对于C/C++较简单,因为少了指针的困难,JAVA显得就会简单一些。
并且,JAVA具有很好的跨平台性,版本选定好后,无论在MAC还是windows平台都能实现正常运行,但C/C++很有可能在不同平台甚至不同计算位的情况下,运行结果就会不同。而对于JAVA:一次编译,到处运行
当然对于语言来说,并不是具有绝对性的好坏的。
每种语言都有其适合的、擅长的应用环境:
- C语言是基础的构建者,几乎所有的操作系统就是用C语言写。
- C++是面向对象的C语言,还在一直不断改进,并且相比于JAVA,C++在研发大型游戏时展现出更高的优越性。
- Python用于系统管理,并通过高性能预编译的库,提供API来进行科学计算,文本处理等,是Linux必选的解释性语言。
- GO语言内置了并发能力,可以编译成本地代码;当前新的网络相关项目,很大比例是由GO语言编写的,如Docker、Kubernetes等。
- JavaScript 是能运行在浏览器中的语言,丰富的前端界面离不开 Javascript 的功劳。近年来的 Node.js 又在后端占有
一席之地。
还有编写网页用 PHP,函数式编程有 Lisp/Scala,编写 iOS 程序有 Swift/Objective-C。
让JAVA给我的生活打个招呼
-
创建一个记事本,后缀改为.java
-
使用note++编程
-
使用cmd运行
解析
在编程中我们应注意:
关于首行:
1、一个java文件中,只能有一个public的类
2、类名需要和文件名是一致的
3、根据命名规范,类名使用大写首字母的形式间隔
4、左括号应该紧跟当前行
关于类体:
中间由最外界大括号包含的部分被称为类体
类体包含:字段、方法
从最简单的一段编程,我们学到了什么?
java的main方法是static(静态)的
main方法无返回值
main是一个方法体
“Hello World!”是一个字符串类型(C语言所没有的)
关于运行:
在不使用编译器的情况下,我们可以清晰理解一个java程序
当我们编译java时,需要进入文件所在位置,在所在位置使用javac命令生成class文件,将该二进制文件交给机器识别。
其中,java文件中的一个类,对应一个class文件。
这样做的优势是对于虚拟机,可以随用随取,用到哪个类,就取得哪个类,不用同时占用大量内存。
当在使用java命令运行时,class文件就会被加载进入JVM虚拟机中运行。
其中java、javac都属于JDK命令
面试问题
- JDK、JRE、JVM都是什么?
JDK:Java开发工具
JRE:Java Runtime Environment Java运行环境
JVM:Java Virture machine Java虚拟机
(正是使用了JVM虚拟机,也就证明了Java一次编译,到处运行的特性,不会因操作系统或平台的不同对代码结果产生影响)
三者关系:
注释方法
- 行注释
仅注释当前行 - 块注释
整个一块代码的注释 - 文档注释
一般用作写明代码作者和相关描述。
关于报错
从运行过程来看,只需要使用javac HelloWorld.java命令就可以实现编译,那么我在这里为什么又要加上
-encoding UTF-8 呢?
当java文件中含有中文字符时,单纯使用javac 会出现以下报错:
这是字节码格式不匹配导致的,在不声明使用哪种字节码格式时,系统默认使用GBK格式
此时,我们可以加上-encoding UTF-8命令,就可以命令javac编译过程中使用UTF-8格式,转化成我们想要的结果。