一个Java程序的基本结构:
public class DemoTest {
public static void main(String[] args) {
// 打印一句话
System.out.println("hello...");
}
}
以上程序功能是实现打印一句话到控制台输出;这是一个基本的java结构,所有java程序都是这种结构;
以上基本结构主要包含如下信息:
- public 是访问修饰符,用于控制程序的其他部分对块代码的访问级别; 其他修饰符还有private protected default等
- class关键字表明java程序中的全部内容包含在类中;java程序的所有内容必须放到类中;类是一个基本的构建块;类是一个程序的基本单位;
- class后面跟着的是类名:类名必须以英文字母开头,后接字母,数字和下划线的组合;习惯以大写字母开头;类名不能是java的保留字;
- 源代码的文件名称必须与公共的类名相同;并以java作为扩展名;java对大小写是敏感的;
- 一个类中的所有内容都包含在{}中,在{}内部可以定义多个方法;方法中的语句也是包含在{}中;
- 方法定义了一组执行语句,方法内部的代码将会被依次顺序执行。上面代码中的方法名是main,返回值是void,表示这个方法没有返回任何值;
- Java入口程序规定的方法必须是静态方法,用static修饰,方法名必须为 main ,括号内的参数必须是String数组。
以上代码中,main方法内部包含一个注释,和一个执行语句;
在Java程序中,注释是一种给人阅读的文本,不是程序的一部分,所以编译器会自动忽略注释; Java有3种注释,第一种是单行注释,以双斜线开头,直到这一行的结尾结束:而多行注释以 / 星号开头,以 / 结束,可以有多行:还有一种特殊的多行注释,以 /* 开头,以 / 结束,如果有多行,每行通常以星号开头:这种特殊的多行注释需要写在类和方法的定义处,可以用于自动创建文档。
其中执行语句实现输出一个文本到控制台; Java的每一行执行语句必须以分号结束:如果没有IDE而去执行java程序,需要手动编译后执行
使用javac DemoTest.java 会编译出一个class文件
使用java DemoTest 执行程序,输出文本;有IDE的话,点运行按钮;IDE会自动执行以上操作;
Java中的基本数据类型:
Java是一种强类型语言;
Java中一共有8中基本数据类型;
基本数据类型是CPU可以直接进行运算的类型。
8种数据类型分别是:
四种整数类型 btye short int long
两种浮点类型: float double
一种字符类型: char
一种布尔类型: boolean
要了解Java定义的这些基本数据类型的区别,需要简单了解一下计算机内存的基本结构。
计算机内存的最小存储单元是字节(byte),一个字节就是一个8位二进制数,即8个bit。它的二进制表示范围从 00000000 ~ 11111111 ,换算成十进制是0~255,换算成十六进制是 00 ~ ff 。
整型
Java 中的四种整型,表示的数字范围也是从小到大的,之所以表示范围不同主要和他们存储数据时所占的字节数有关。
Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)
整型的这几个类型中:
- byte:byte 用 1 个字节来存储,范围为-128(-2^7) 到 127(2^7-1),
- short:short 用 2 个字节存储,范围为-32,768 (-2^15)到 32,767 (2^15-1)
- int:int 用 4 个字节存储,范围为-2,147,483,648 (-2^31)到 2,147,483,647 (2^31-1)
- long:long 用 8 个字节存储,范围为-9,223,372,036,854,775,808 (-2^63)
到 9,223,372,036, 854,775,807 (2^63-1),
浮点型
在计算机科学中,浮点是一种对于实数的近似值数值表现法,由一个有效数字(即尾数)加上幂数来表示,通常是乘以某个基数的整数次指数得到。以这种表示法表示的数值,称为浮点数(floating-point number)。
浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,所以称为浮点数。
浮点型又分为单精度浮点型和双精度浮点型:
- float是单精度浮点数,在计算机存储器中占用 4 个字节(32 bits);
- double双精度浮点数,使用 64 位(8 字节) 来存储一个浮点数;
为什么在java中int类型和float类型都是4个字节,但是float类型的数值范围却大于int的数值范围
其原因就是:int类型和float组成结构不同:
int类型:第一位是符号位代表正负,剩下的31位表示数值位。float类型:第一位是符号位代表正负,余下的是八位指数位和23位底数位(底数是无符号的)。
int:此类型是各个位之间表示的值直接相加,所以表示的值范围是-2^31 ~ 2^31 - 1。
float:此类型是8位指数23位底数,这么来说可以表示最大的值就是2^23^127,最小值就是-2^23^127。所以范围就是-2^23^127 ~ 2^23^127。
在Java的不同数据类型之间虽然可能是占用相同的字节,但是不同数据类型对于位数的组合不同,数值范围也会有很大的区别。
字符类型char
字符类型 char 表示一个字符。使用2个字节(16位)存储;
Java的 char 类型除了可表示标准的ASCII外,还可以表示一个Unicode字符: char 类型使用单引号 ' ,且仅有一个字符;
布尔值类型boolean
布尔类型 boolean 只有 true 和 false 两个值,布尔类型总是关系运算的计算结果;
Java语言对布尔类型的存储并没有做规定,因为理论上存储布尔类型只需要1 bit,但是通常JVM内部会把 boolean 表示为4字节整数;