《java核心技术卷一》读书笔记 day1

简单程序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.整型

整型用于表示没有小数部分的数值,允许为负数。

类型存储要求取值范围
byte1字节-128 ~ 127
short2字节-32 768 ~ 32 767
int4字节-2 147 483 648 ~ 2 147 483 647
long8字节-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类。

类型存储要求取值范围
float4字节大约正负 3.402 823 47E+38F(有效位数6~7位)
double8字节大约正负 1.797 693 134 862 315 70E+308(有效位数15位)
  • 24
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值