目录
1.Java是什么
2.Java的特性
1. 简单性
2. 面向对象
3. 分布式
4. 健壮性
5. 安全性
6. 体系结构中立
7. 可移植性
8. 解释性
9. 多线程
10. 动态性
3.Java的编程环境
4.Java的编程工具
记事本写Java
5.编写第一个Java程序
6.Java的基本数据类型
整形
浮点型
字符型
布尔类型
1.Java是什么
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系 列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛 应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。运用面以及范围非常之广。不仅好上手,而且功能强大,深受广大程序员的青睐。且Java也是越来越卷(校招竞争是c++的两倍,可见大家对Java的喜爱之深~)。
接着,拜见一下Java之父——詹姆斯·高斯林
最后,关于这个形似咖啡的Java图标来源,还挺戏剧性的——
本来院子外面有颗橡树(oak),但是oak商标被人家注册了,没办法这帮大牛们边喝咖啡边想名字,突然想到了咖啡是爪哇岛(java)的咖啡,所以这个图标就这么诞生了。
2.Java的特性
言归正传,Java这么吸引人,肯定有不少特点吧,接下来带大家看看Java的特点。
1. 简单性
Java语法是C++语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重 载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。
2. 面向对象
什么是面向对象? 这里我们用木匠打一个比方,一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所 使用的工具;而一个“非面向对象的”木匠首先考虑的是所使用的工具。 在Java的世界里,一切皆对象。 Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口 概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
3. 分布式
(微服务) 比特科技 Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的 对象,其便捷程度就好像访问本地文件一样。
4. 健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来 检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5. 安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统从一开始,Java就设计成能够防范常见的各种攻击: 运行时堆栈溢出。蠕虫和病毒常用的攻击手段。 破坏自己进程空间之外的内存。
6. 体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代 码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。
7. 可移植性
与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例 如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定 的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
8. 解释性
Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程。所以开发过程也变得更加快捷,更加具有探索性。
9. 多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发 程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。
10. 动态性
Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java中找出运行时类型信息十分简单。
3.Java的编程环境
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程 序运行的所需环境。
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译 器javac与自带的调试工具Jconsole、jstack等。
它们之间的关系如图:
JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可 。
4.Java的编程工具
Eclipse:一个开放源代码的、基于Java的可扩展开发平台 。
NetBeans:开放源码的Java集成开发环境。
IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。(一般用的最多,公司也较为常用,最推荐使用。)
MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境 。(一般部分学校会要求用这个)
EditPlus:如果正确配置Java的编译器"Javac"以及解释器"Java"后,可直接使用EditPlus编译执行Java程序 。
记事本写Java
其实最朴实无华的记事本也可以用来写Java(下面简述一下记事本写Java的步骤)
1.新建一个文本文档,改后缀名为.java。
2.写完Java代码后Ctrl+s保存。(注:public修饰的类名要与文件名保持一致!)
3.Windows+r输入cmd进入控制命令窗口。
4.输入(cd 你的文件所在位置)然后回车,查找进入java文件。(cd就是进入文件的意思)
5.编译java文件,生成class文件。在命令提示符中输入“javac 文件名.java”,然后回车,等待编译。
6.运行文件。继续输入“java 文件名”然后回车就可以运行我们写好的文件了。
5.编写第一个Java程序
当我们了解了java的部分基础知识后,我们回归到代码上。
我们编写第一个Java程序。
public class testdemo {
public static void main(String[] args) {
System.out.println("hello world");
}
}
最后输出结果
虽然这是最简单的一个代码,还是有很多值得分析之处,如同c语言刚入门时候的printf函数。
1.public是访问修饰限定符,是不可缺少的。(后续还有private,protected,到类再专门讲)
2.class是用于定义一个类的,上述程序中类名是“testdemo”。(注意:如果类是public修饰的,类名需要和文件名保持一致,否则会出现问题。)
3.第三行输出语句类似c语言中的printf函数,作用是输出语句并且换行,Java中有三条类似的输出语句。
-
System.out.println("hello world");//输出语句hello world且换行 -
System.out.print("hello world");//输出语句但不换行 -
System.out.printf("%dn",10);//类似c语言中printf的用法,与%d等结合输出数据。
4.(String[] agrs) :类似c语言中定义数组为(int arr[]),而Java定义数组方式是int[] arr。
6.Java的基本数据类型
Java中有8种数据类型来存储数值、布尔值、字符。
整形
| 数据类型 | 内存 |
| byte | 8位(1字节) |
| short | 16位(2字节) |
| int | 32位(4字节) |
| long | 64位(8字节) |
(注:Java中无long long类型整数!)
浮点型
| 数据类型 | 内存 |
| float | 32位(4字节) |
| double | 64位(8字节) |
字符型
| 数据类型 | 内存 |
| char | 16位(2字节) |
(注:与c不同,Java中的char类型占2个字节,而c中只占1个字节。)
布尔类型
布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有只有true和false两个取值,分别代表布尔逻辑中的"真"和"假"。布尔类型通常被用在流程控制中作为判断条件。
to be continue→
欢迎大家互相探讨交流补充 欢迎捉虫!



