终于开始了Java的学习,在Java学习过程果然发现了许多和C语言所不同的语法规则和代码逻辑,最主要的还是面向对象这种宝贵的编程思想。
首先,C语言是一种编译型语言,而Java是一种解释型语言(之前了解的python也一样)。这意味着,在编写C程序时,源代码需要先被编译成机器码,然后才能被计算机执行;而Java程序则直接被Java虚拟机(JVM)解释执行。
其次,Java是一种面向对象的语言,而C语言则不是。这意味着Java支持类、继承、封装、多态等面向对象的概念,而C语言则更加注重底层的内存管理和指针操作。
另外,Java具有更好的跨平台性能,它可以在不同的操作系统和硬件上运行,而C语言程序则需要重新编译才能在不同的平台上运行,我觉得这也是C语言过于底层而不得不产生的弊端。
接下来基础语法在操作过程中所发现的不同:
1.在Java语言中,扩展的的赋值运算符底层隐含了强制类型转换。
public class OperatrDemo{
public static void main(String[] args){
short s = 10;
s + = 20;
//s = (short)(s + 20);
System.out.println("s:" + s);
}
}
而在C语言中显然是不行的,只能使用强制类型转换符。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
a = 1;
printf("%f",a+0.01);//报错!
return 0;
}
2.关于浮点类型数值的默认精度。
在Java语言中浮点数值类型的默认精度为double。
float f = 12.22F//因此在末尾加上标识符以区分
3.再一个就是字符串的拼接,这也算是Java便捷性的一种体现吧。
public class HelloWorld{
public static void main(String[]args){
System.out.println(1+"HelloWorld");//无需使用函数,‘+’即可
}
}
4.语句的执行顺序的不同。C语言为从右至左,Java为从左至右!
public class HelloWorld{
public static void main(String[]args){
System.out.println("HelloWorld"+1+2);
}
}
执行结果如下:
HelloWorld12
这里值得一提的是,如果调换顺序, 则会先进行运算后进行拼接!
public class HelloWorld{
public static void main(String[]args){
System.out.println(1+2+"HelloWorld");
}
}
执行结果如下:
3HelloWorld
接下来我尝试了一下用Java要做一些经常碰到的操作:
判断一个数是否是偶数:
public class test {
public static void main(String[] args) {
int num = 10;
if (num % 2 == 0) {
System.out.println(num + "yes");
} else {
System.out.println(num + " no");
}
}
}
九九乘法表打印
public class test {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " × " + i + " = " + (i * j) + "\t");
}
System.out.println();
}
}
}
总结:虽然初学不久,任然无不容易感受到Java语言作为一门面向对象的编程语言的便利性和简洁性,希望能在以后的Java学习中有更大的发现。