最近一段时间的自学重心是安卓底层。首先啃一下java。新年伊始,向着 知识的海洋急行军,世界人民团结万岁….
笔记方式为代码加注释的方式:
一、最基础
public class Hello {public static void main(String args[]) {System.out.println("Hello, world!");}
}
1:一个java文件中只能有一个public修饰的类,每个类中只能有一个main方法,所以一个java文件中可以有多个main方法。
(注意一个类,和一个文件的区别)
也就是说,如果一个java文件有一个public修饰的类,那么java文件的名字,必须和这个public类的名字一样。
否则在eclipse这样的java编辑工具中会报错的。
好比,这个文件中如果还有其他的类要书写,就不能用public来修饰了。
2:main函数使用public和static进行的修饰。pulic表示最高的通用权限,类比与c++,static表示该函数属于类的一种属性,不需要去实例化对象就可以使用。所以Vm就会自动使用这个main函数。
3: 有的小伙伴看到后不理解,为什么是 String[] args,这个 args 是干嘛的?
String[] args 可以看出来它是一个数组。在命令行中比如运行 Test.class 文件,你可以这样写:
java Test runoob
相当于给数组传入了一个 runoob 字符串。也可以打印出来,可以作为简单的输入。
例如:
public class Test {public static void main(String[] args) {System.out.println(args[0]);}
}
运行以上实例,输出结果如下:
$ javac Test.java
$ java Test runoobrunoob
此处注意,main 是一个程序的入口,一个 java 程序运行必须而且有且仅有一个 main 方法。
args[0] 是你传入的第一个参数,args[1]是传入的第二个参数,以此类推。
public class Hello {public static void main(String args[]) {int i = 0;for (i = 0; i < 3; i++) {System.out.println("Hello, world!");}}
}
二、第二个案例
public class Var {
public static void main(String args[]) {
int a = 3;
float f = (float)3.14;
float f2 = 3.14f;
int i = 4;
short s = 4;
short s2 = (short)40000;
//s = i;s = (short)(s + 1); s = (short)(s + s2);/* Java has no pointer *///int* p = malloc(10*sizeof(int));int p[] = new int[10];int p2[] = {1,2,4}; /* static alloc *///char str[100];char str[] = new char[100];//char str2[] = "abc";String str2 = "abc";p = null;p2 = null;str = null;str2 = null;
}
}
这段代码包含的东西比较多。
float f = (float)3.14;
float f2 = 3.14f;
- 1
java中默认的小数都是double类型。所以直接float f=3.14是不允许的,必须进行类型的转换。
- 2
int i = 4;short s = 4;short s2 = (short)40000;
整数类型默认为int。如果将int赋值给short类型,系统会根据数值的大小,如果超过了short类型的大小,那就报错,否则就不会报错。
s = (short)(s + 1); s = (short)(s + s2);
从这里面看到s是一个变量。那么java运算时,先将右侧变为int类型的运算。当然还要手动的将其变为short类型。
- 3
java没有指针。
- int p[] = new int[10];int p2[] = {1,2,4}; /* static alloc *///char str[100];char str[] = new char[100];//char str2[] = "abc";String str2 = "abc";
其中加”//”都表示不允许的写法。除去基本的类型,像数组,字符串都为名字开辟的栈空间存储实际存储内容堆空间的首地址。
- 4
在程序运行结束后,系统会回收资源。如果想要在程序进行中回收资源。
p = null;p2 = null;str = null;str2 = null;