java是什么?
说到java就不得不提到一个人———詹姆斯.高斯林。
Java被他和一群技术人员创建之后喊出了“一次编译,到处运行”的口号,也正是这句口号使得Java在当时的主流语言c,c++等之中渐渐崭露头角。现在,Java已经成为了国内互联网公司所使用的语言当中的一个大头。
那么,Java相较于C和C++的最大的区别是什么呢?
Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机;不同的是,Java是一种面向对象的语言,c是一门面向过程的语言。打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走到你朋友所在的地方,找到朋友,然后将快递交给你朋友;这样相比较,Java会简洁方便很多。
其次对于不同的平台来说,Java只需要一次编译,就可以在不同的平台上面运行,对于c来说,如果在window上面编译生成的文件只能在window上运行,如果想要在Linux系统下运行,需要重新在Linux下面进行编译,原因是由于Java有自己的一套虚拟机体制,Java编译完成之后,会生成class文件,然后将生成的文件移到不同的平台时,Java虚拟机会帮助我们将class文件翻译成计算机所能识别的信息,这样就可以在不同平台运行了。
第三从语法结构上来说,Java去掉了c里面比较重要的指针的概念,对于指针的概念就是我们可以直接去操作计算机的物理地址,所以使用c的时候,我们需要经常去自己申请一些内存空间,用完之后还需要自己手动释放,Java的垃圾回收机制较好的解决了这一点,我们不用再去关心申请的内存释放释放,Java虚拟机会帮助我们去清理一些我们用不到的空间,从而降低了很多出错的可能。当然Java和c的主要用途也不一样,Java主要针对的是互联网应用的开发,而c主要偏向于底层的开发,所以现在我们所看到的的操作系统,智能设备这些都是使用的c,而我们平时的一些大数据平台,网站开发,比如我们经常使用的电商网站,还有一些企业管理网站等。
学习Java的第一段代码
相信在学习C语言的时候,我们的第一段代码都是常识在屏幕上打印出一段“hello world”。那么我们今天Java的第一段代码也一样来尝试打印相同的内容:
public class TestDemo {
public static void main(String[] args) {
System.out.println("hello world");
}
}
这段代码当中,public是一个访问修饰限定符而class是一个关键字,用来定义一个抽象的类。需要注意的是,一个文件中只能有一个public class,而且它的名字必须是和文件名相同的。
System.out.println("hello world")的功能相当于C语言当中的打印函数printf(),它有三种打印方式:
1.打印换行:System.out.println("hello world");
2.打印不换行:System.out.print("hello world");
3.格式化打印:System.out.printf(" %d\n",a);
下面我们就同时使用上述三种打印方式来观察它们的区别
public class TestDemo {
public static void main(String[] args) {
int a=10;
System.out.println("hello world");
System.out.print("hello world");
System.out.printf(" %d\n",a);
}
}
运行之后:
我们可以清楚的观察到第一段字符打印之后便换行了,而第二段字符打印完成以后并没有换行就打印了第三个内容。
假如我们想要打印一个带两位小数的数字,那么前两种方法是没法办到的,因此我们需要格式化的打印函数:
public class TestDemo {
public static void main(String[] args) {
double a=12.5;
System.out.println(a);
System.out.printf("%.2f\n",a);
// int a=10;
// System.out.println("hello world");
// System.out.print("hello world");
// System.out.printf(" %d\n",a);
}
}
运行之后: