Java基础语法

来源:互联网 发布:iphone接电话录音软件 编辑:程序博客网 时间:2024/06/05 15:30

1.java虚拟机实例通过调用某个类的main()来运行一个Java程序,而这个main()必须是public static void 并接收一个字符串数组作为参数,任何拥有这样一个main()的类都可以作为java程序的起点。一个文件中可以有多个public static void 的main函数,但是只有唯一的public类的main会被自动调用。

2.一个文件有且只能有一个共有类,该类与文件名相同。

3.基本数据类型

由于Java的数据类型不管在哪里大小都是固定的,不想C(int有时是4,有时是2),所以Java中没有sizeof函数。这也是java比较容易移植的原因之一。

整数:byte(C语言中无)、short、int(4字节)、long(8字节)
浮点数:float(4字节,小数点后保留7位有效数字)、double(8个字节,小数点后保留15位有效数字)
小数默认为double的,显示指定float,后缀F(f):1.2F //float,显示指定double:1.2D(d)//double

L(l)

字符类型:char
布尔类型:boolean

可以通过下面的变量查看Byte的信息,其他类型类同

Byte.SIZE(占比特数) Byte.MIN_VALUE(最小值) Byte.MAX_VALUE(最大值)

同JS一样,0开头代表8进制,0x开头代表16进制

java中有枚举类型,但是没有结构体和联合体类型。

4.对象数据类型(类似javascript)

基本数据类型

byte

short

int

long

float

double

char

boolean

对象数据类型

Byte

Short

Integer

Long

Float

Double

Character

Boolean

5.对象引用

所有的对象数据类型都属于引用数据类型,所有的对象实例赋值,参数传递等都是通过引用的方式。

Integer a = new Integer(3); b = a; //则b和a指向同一位置。对象必须用new得方法创建实例。

6.和javascript一样,$可以用作变量名,与下划线地位相同。

7.变量的默认值

数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。

7.java修饰符

不可访问修饰符 : final, abstract,Synchronized,Volatile
Final修饰符,用来修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
Abstract修饰符,用来创建抽象类和抽象方法。
Synchronized和volatile修饰符,主要用于线程的编程。
抽象类和接口都不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。

可访问修饰符

默认的,也称为default,在同一包内可见,不使用任何修饰符。
私有的,以private修饰符指定,在同一类内可见。类不允许声明为private的。
共有的,以public修饰符指定,对所有类可见。public类的main函数必须声明为public的,否则无法执行。
接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。

受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。

Protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。

子类能访问Protected修饰符声明的方法和变量,这样就能保护不相关的类使用这些方法和变量
protected是针对不同包来说的,在相同包内,public,protected和default是一样的。default和protected的区别是protected的成员可以被其他包得子类继承。

 
public
protected
default
private
同类
T
T
T
T
同包
T
T
T
 
子类(不同包)
T
T
 
 
不同包中无继承关系的类
T
 
 
 


默认情况下类定义时只能用public修饰,但是内部类定义是可以用protected和private

函数定义三个都可以随便使用。

8.方法继承规则

父类中声明为public的方法在子类中也必须为public。
父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private。
父类中默认修饰符声明的方法,能够在子类中声明为private。
父类中声明为private的方法,不能够被继承。


9.一些java特殊的地方

boolean的数据是不能用来计算的,只能进行测试真假。

小类型的整数char,byte,short在进行计算的时候会进行整数提升为int进行计算。

当计算越界的时候,java编译器不会提示错误。这个需要自己进行保证。


10.其他的语言都是将程序中的绝大多数变量放在堆栈中得,堆栈可以直接从处理器上获得支持,即堆栈指针若向下移动则分配新的内存,若向上移动,则释放内存,这种分配内存的方式是十分快速的,仅次于寄存器。但是在Java中所有的元素都是对象(基本类型除外),java需要维护所有元素的生命周期,这样如果放在堆栈中就会被硬件删除,无法通过java自己进行控制。java中除了基本类型外,都是放在堆中的。

<完>

0 0
原创粉丝点击