简单程序FirstSample
//一个简单的Java程序 public class FirstSample { public static void main(String[] args) { System.out.println("We will not use ‘Hello,World!’"); } }
运行输出结果:We will not use ‘Hello,World!’
Java程序大小写敏感(例如:若将main写成Main),那程序将无法运行。
关键字public为访问修饰符(access modifier),作用是控制程序的其他部分对这段代码的访问级别。
关键字class表明Java程序中的全部内容都在类中。而类是一个加载程序逻辑的容器,程序逻辑定义程序的行为。
关键字class后面紧跟着的是类名。Java类名定义规则很宽松,名字必须以字母开头,后面可以跟字母和数字的任意组合,长度基本无限制。但不能使用Java的保留字作为类名。
类名的命名标准:驼峰命名法。大写字母开头,如果是多个单词组成,则每个单词的首字母大写。
花括号划分程序的的各个部分,通常成为块。Java中任何方法的代码都用”{“开始,用”}“结束。
在main方法的方法体中只有一条语句。这条语句的功能是:将文本行输出到控制台上。在这里,使用了System.out对象并调用了它的println方法。调用println方法给其传递一个字符串参数。这个方法将传递给它的字符串参数显示在控制台上。然后,终止这个输入行,一边每次调用println都会在新的一行上显示输出。
注意:1.源代码的文件名必须与公共类的类名相同,并用 .java 为扩展名。
2.Java方法调用的通用语法是:object.method(parameters)。这里点号(.) 代表调用方法。parameters可以是零个、一个、或多个,根据具体情况决定。
注释
//注释 /* 注释 注释 注释 注释 */
下面这种这种注释可以用来自动生成文档注释以 /** 开始,以 */ 结束。
/** *@version 1.0 2024-6-5 *author Hao */
注意:/* */注释不能嵌套。就是说注释内容本身包含了 */ 就不能用
/* */ 将注释括起来。
数据类型
Java是强类型语言。意味着必须为每一个变量声明一种类型。Java中有八种基本类型(primitive type)。四种整型(byte,short,int,long)、两种浮点类型(float,double)、一种用于表示Unicode编码的字符单元的字符类型char和其中用于表示真值的boolean类型。
1.整型
整型用于表示没有小数部分的数值,允许为负数。
类型 | 存储要求 | 取值范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -32 768 ~ 32 767 |
int | 4字节 | -2 147 483 648 ~ 2 147 483 647 |
long | 8字节 | -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 |
-
整形的范围与运行Java代码的机器无关。
-
长整型数值有一个后缀L(如 400000000L)。十六进制数值有一个前缀0x(如0xCAFE)。八进制有个前缀0(如010),八进制表示法易混淆,建议不用。在Java7 开始加上前缀0b就可以写二进制数(如0b1001)。
-
Java7开始,还是可以为数字字面量加下划线,如用1_000_000(或0b1111_0100_0010_0100_0000)表示一百万。这些下划线只是为了让人更易读,Java编译器会去除这些下划线。
2.浮点类型
-
浮点类型用于表示有小数部分的数值。由于float类型的数值精度较低,所以一般情况下应用程序都采用double类型。float类型只出现在一些有特殊要求的情形,例如,需要快速处理单精度数据,或者需要存储大量数据。
-
float类型的数值有一个后缀F(例如,3.14F)。没有后缀F的1浮点数值(如3.14)默认为double类型。当然也可以在浮点数值后面添加后缀D(例如3.14D)。
-
在JDK 5.0中,可以使用十六进制表示浮点数值。例如,0.125可以表示成0x1.0p-3。在十六进制表示法中,使用p表示指数,而不是e。注意,尾数采用十六进制,指数采用十进制。指数的基数是2,而不是10.
-
表示移除和出错的三个特殊的浮点数值:正无穷大、负无穷大和NaN(不是一个数字)。常量Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY和Double.NaN分别表示这三个特殊的值。特别说明的是,不能检测一个特定值是否等于Double.NaN:
if(x == Double.NaN)//is never true //所有“非数值”的值都认为是不相同的。然而可以使用Double.isNaN方法: if(Double.isNaN(x))//check whether x is "not a number"
-
浮点数不适用于禁止出现舍入误差的金融计算中。例如,命令System.out.println(2.0-1.1)将打印出0.8999999999999999,而不是0.9。主要原因是浮点数值采用二进制表示,二二进制中无法精确的表示分数1/10。就像十进制无法精确表示1/3一样。如果需要在数值计算中含有任何的舍入误差,就应该使用BigDecimal类。
类型 | 存储要求 | 取值范围 |
---|---|---|
float | 4字节 | 大约正负 3.402 823 47E+38F(有效位数6~7位) |
double | 8字节 | 大约正负 1.797 693 134 862 315 70E+308(有效位数15位) |