嘛,这个本来应该发在OOP之前的,无所谓了,补发一下,这篇文章只会对JavaSE的语法做一个基本的概述而已,我会在最近新开一个新坑,也就是JavaEE系列,以后还会有Cpp(相对于C++,我还是更喜欢cpp这个称呼)系列啊,linux系列啊各种新坑,咱们一步一步慢慢来。
对于JavaSE的基本语法,其实大部分还是借鉴了C语言的语法(好多语言都是这样),这里,首先要明确一个概念就是强类型语言,跟弱类型语言相对,强类型语言的特点就是每一个变量都有其固定的类型,并且无法被隐式转换,Java正是其中的代表。弱类型语言的代表则是JavaScript。
Java提供了以下几种基本数据类型:
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
还有一个引用数据类型:String
值得一提的是,Java程序运行的环境是Jdk内置的JVM(Java virtual machine Java虚拟机),即使是在不同的平台上运行Java程序,也都是在虚拟机上运行的,因此他的数据类型是不受平台限制的,并且拥有了所谓的“跨平台性”。而Cpp不同,他依赖于平台,在不同的平台上它的各种数据类型所占空间不同,这点暂时不做详细讨论(= o =),以后开了Cpp系列会详细说明。
必须要get到的一个点就是“跨平台性”,java之所以如此流行的重要原因就是由于它跨平台,众所周知,Microsoft的C#与Java极其相似,但是它之所以没有Java火爆,就是它只能在Windows下运行。
跨平台性有哪些具体的体现呢?
1 Android系统,这就不用我多说了吧
2 Linux系统的服务器,将JavaEE部署在服务器上。市面上用WIndows做服务器的有,但是少,有多少?百分之几,这百分之几还是在国内的不是非常发达的地区,像北上广深用windows做服务器的估计都没有1%。
说句实话,Java的执行效率不怎么样(比起C/Cpp),但是胜在现在的电脑够强大,Java的执行效率已经不弱于以前的Cpp(笑),比起一些脚本语言,如python之类的,还是快许多的。
所有的变量在使用之前都要先初始化。
public class Demo { public static void main(String[] args){ int i = 0;//声明并初始化 double j;//声明一个变量 j = 2.0;//给一个变量赋值 float k; System.out.println(k);.//报错,k未初始化。 } }
我们可以使用的/* */进行代码注释,也可以用//进行单行注释,/** .. */的效果与/* .. */注释效果类似,不同的地方在于/**..*/我们可以使用一些html标签,并且使用javadoc命令将其输出为一个文档。
/** Demo类 */ public class Demo { public static void main(String[] args) { /* 我们进行代码注释 */ int i = 0; int j = 2; int k = i + j; //可以使用变量进行各种运算 //可以使用//来进行单行的注释。 } }
方法:
/** 方法演示: */ public class Demo { public static void main(String[] args) { int i = 3; int j = 5; System.out.println(add(i, j));//输出8 } public static int add(int x, int y) { return x + y; } }
方法即C/Cpp中的函数,可以使用return关键字返回指定类型的值。
/** 方法演示: */ public class Demo { public static void main(String[] args) { int i = 3; int j = 5; add(i, j); } public static int add(int x, int y) { System.out.println(x + y);//输出8 return; } }
当指定返回类型为void时,无需返回值,但是return关键字仍旧起作用,它可以返回方法被调用处,即结束当前方法。
PS:关于Java初学,对于一个C/Cpp入门的人来说几乎没有任何难度,但是不同语言都有其独特的思想以及编程的风格。大家如果想对Java有一个深层次的了解,建议读《effective java》 《coreJava》《thinking in java 》,前二者选1即可,当有了一定基础后可以看thinking in java ,多看几遍(笑)。