1.Java基础
1.1.第一个Java程序
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello, world!");
}
}
1.其语和C语言类似,这里注意main函数的参数与C不同,打印语句使用System.out.println,使用+分隔需要打印的内容; 2.在文件命名上,文件名要和文件内的类名保持一致; 3.编译:javac Hello.java, 会编译生成一个Hello.class 4.运行java Hello,这句命令实际上是启动java虚拟机,然后加载Hello.class类并运行。
1.2.数据类型
1.2.1.基本数据类型
Java支持如下的基本数据类型: 这里注意几点: 1.所有的基本数据类型,定义的时候在栈上分配空间; 2.Char类型占用两个字节
1.2.2.引用数据类型
Java的引用数据类型包含:数组、类、接口、null,所有的引用数据类型在定义定义时需要使用new来分配空间(堆空间)。 以数组为例,使用方法如下;
int a[]=null;
a = new int[10];
int b[]=new int[10];
int c[]={1,2,3,4,5};
1.2.3.数据类型转换
数据类型的转换分为: 自动转换: 数据不丢失的前提下进行自动转换,java中×××数据默认为int,浮点型数据默认为double;
int a=30;
long b = a; // 自动转换,因为long的表示范围比int大
float c = 3.1
int d = (int)c; // 必须使用强制转换
强制转换: 注意一点:在进行数据运算时,会先将数据当做默认类型进行计算;
byte b= 1;
short s= 3;
// 编译器会判断该值有无超过该变量的表示范围,如果超过就报错。
short s = 1;
s = s + 1; // 出错,因为对于byte,short的运算,为了保证精度,会自动转换为int类型
s = (short)(s + 1);
1.3.预算符|表达式|语句
和C语言完全一样:
if, if...else, if...else if...else, switch
while, do...while, for; break, continue
1.4.方法
在java中将函数称为方法。
public static 返回值类型 方法名称 (类型 参数1, 类型 参数2, ...)
{
程序语句;
[return 表达式];
}
public static int add(int x, int y)
{
int sum;
sum = x + y;
return sum;
}
1.4.1.重载
在java语言中引入了重载的概念:方法名(函数名)相同,参数的类型或个数、或顺序不同的两个或多个函数为重载关系; 注意:返回值不能作为重载的依据;
public class Function {
public static void main(String args[]) {
System.out.println(add(1,2));
System.out.println(add(1,2, 3));
System.out.println(add(1.0f, 2.0f));
}
public static int add (int x, int y) {
return x + y;
}
public static int add (int x, int y, int z) {
return x + y + z;
}
public static float add (float x, float y) {
return x + y;
}
}
1.4.2.参数传递
基本数据类型作为参数,方法内部对参数的修改不会影响调用者(传值调用) 引用数据类型作为参数,方法内部会修改堆空间,结果会被保留下来;
public class Param {
public static void main(String args[]) {
int x = 1;
fun (x);
int p[] = new int[1];
p[0] = 123;
System.out.println("Before fun2: "+p[0]);
fun2(p);
System.out.println("After fun2: "+p[0]);
System.out.println(x);
}
public static void fun(int x) {
x = 100;
}
public static void fun2(int[] p) {
p[0] = 200;
}
}