第三章 Java的基本程序设计结构
Posted 吞吞吐吐鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三章 Java的基本程序设计结构相关的知识,希望对你有一定的参考价值。
2021/7/29
从今天开始我将对《Java 核心技术卷I》该书进行阅读学习,并对每次学习写出读书笔记,以加深记忆、巩固学习。也希望给大家带来一些收获,一起加油进步!!!
一、简单的程序
-
关键字 public
访问修饰符:用于控制程序的其他部分对这段代码的访问级别
-
关键字 class
表明 Java 程序中的全部内容都包含在类中
-
关键字 class 后面紧跟类名
-
源代码的文件名必须与公共类的名字相同,并且以
.java
作为扩展名 -
编译源代码后会得到一个包含这个类字节码的文件,并命名为
文件名.class
,与源文件存储在同一目录下 -
因为 Java 虚拟机将从指定类中的 main 方法开始执行,所以为了代码能够执行,在类的源文件中必须包含一个 main 方法
-
点号( . )用于调用方法
System.out.println("Hello World!");
在这里使用了 System.out 对象并调用了它的 println 方法
二、注释
- 单行注释://
- 段落注释:以 /* 开始,以 */ 结束 (不能嵌套)
- 可自动生成文本文档的注释:以 /** 开始,以 */ 结束
三、数据类型
-
整形
- 整形的范围与运行 Java 代码的机器无关
- Java 没有任何无符号(unsigned)形式的整形
- 后缀 L 或 l,表示长整型
- 前缀 0X 或 0x,表示十六进制
- 前缀 0,表示八进制
- 前缀 0b 或 0B,可以写成二进制,如 0b1001 就是 9
- 数字字面量加下滑线,为了让人更易读懂,如 1_000_000 就是一百万
类型 存储需求 取值范围 int 4字节 -2147483648 ~ 2147483647(-21以亿 ~ 21亿) short 2字节 -32768 ~ 32767 long 8字节 byte 1字节 -128 ~ 127 -
浮点型
-
float 类型的数值后有后缀 F 或 f,没有后缀的浮点数默认为 double 类型,也可后缀 D 或 d
-
溢出或者出错时会有三个特殊的浮点数的值:Infinity(正无穷大)、-Infinity(负无穷大)、NAN(不是一个数字)
-
浮点数值不适用于无法接受舍入误差的金融计算中,例如
System.out.println(2.0-1.1); //结果为0.89999999999999,而不是0.9
舍入误差的主要是因为浮点数值采用二进制系统表示,而二进制系统中无法精确地表示分数
类型 存储需求 取值范围 float 4字节 double 8字节 -
-
char 类型
-
char 类型原本用于表示单个字符,但如今有些 Unicode 字符可以用一个 char 值描述,有些则需要两个 char 值
-
char 类型的字面量值要用单引号括起来
-
char 类型的值可以表示为十六进制值,其范围从
\\u0000
到\\Uffff
-
所有的转义序列都可以出现在加引号的字符字面量或字符串中
-
转义序列 \\u 还可以出现在加引号的字符字面量或字符串外,如
public static void main(String\\u005B\\u005D args);
因为
\\u005B
和\\u005D
,是 [ 和 ] 的编码 -
Unicode 转义序列会在解析代码之前得到处理,如一个隐秘的错误
// \\u000a is a newline
这是一个注释对吧,按理说注释怎么写对代码也没有影响,但是读程序时
\\u00A0
会替换为一个换行符,并且在解析代码之前就得到了处理,所以语法会报错再看一个错误
// Look inside c:\\users
因为 \\u 后面没有跟4各十六进制数,而转义序列会在解析代码之前处理,则会产生语法错误
-
特殊字符的转义序列 | ||
---|---|---|
转义序列 | 名称 | Unicode 值 |
\\b | 退格 | \\u0008 |
\\t | 制表 | \\u0009 |
\\n | 换行 | \\u000a |
\\r | 回车 | \\u000d |
\\ ‘’ | 双引号 | \\u0022 |
\\ ’ | 单引号 | \\u0027 |
\\ \\ | 反斜杠 | \\u005c |
-
boolean 类型
-
boolean(布尔)类型的值有两个:false 和 true
-
整型值和布尔值之间不能进行互相转换(和 C/C++ 不同,Java 中0不相当于 false,非0不相当于 true)
-
四、变量
-
变量名
- 变量名必须是一个以字母开头,并由字母或数字构成的序列
- Java 中的字母包括 ‘A’‘Z’、‘a’‘z’、’_’、’$’ 或在某种语言中表示字母的任何 Unicode 字符
- Java 中的数字包括 ‘1’~‘9’ 和在某种语言中表示数字的任何 Unicode 字符
- ’+‘、‘©’ 和空格不能出现在变量名中
- 不能使用 Java 保留字作为变量名
- ‘$’ 不要使用在自己代码中,它只用在 Java 编译器或其他工具生成的名字中
-
在 Java 中,不区分变量的声明与定义
-
常量
-
在 Java 中,利用关键字 final 指示常量,如
final double CM_PER_INCH=2.54;
-
关键字 final 表示这个常量只能被赋值一次,不可更改
-
习惯上,常量名使用全大写
-
可以使用关键字 static final 设置一个类常量,使其在一个类的多个方法中使用,如
public class Constants2 { public static final double CM_PER_INCH=2.54; public static void main(String[] args) { double paperWidth=8.5; double paperHeight=11; System.out.println("Paper size in centimers:" + paperWidth * CM_PER_INCH + "by" + paperHeight * CM_PER_INCH); } }
-
阅读时发现的该书的一些小错误
- 《Java核心技术卷 I》的34页底部的警告中,所述:因为读程序时
\\u00A0
会替换为一个换行符。根据代码上机发现并没有报错,经过查询,\\u00A0
是不间断空格的含义,而改成\\u000a
换行,就会产生语法错误。
以上是关于第三章 Java的基本程序设计结构的主要内容,如果未能解决你的问题,请参考以下文章