主要笔记
基础语法
语法元素
-
艺术讲究留白,程序同样如此。换行符以及回车符都可以表示一行代码的结束,它们都被视为空白。除此之外,还有空格键、Tab键也是空白。我们在Java代码中应适当加入空白,以提高代码的易读性,你不用担心影响Java的执行,编译器会自动忽略掉这些空白。
-
代码注释对程序的易读性同样重要,并且编译器也会忽略注释。
-
Java代码的3种注释方式:
- 行尾注释,对声明的变量,单行程序做简短说明;
private Boolean show = true; // 是否显示
- 独立注释,对方法的功能,设计逻辑及基本思想做说明注释;
/* 名称 */ public String name = 'huilin';
- 文档注释,写在公有类定义或公有方法头作为注释;
/* * 这是一个类 */ public class HelloWorldApp { public static void main(){ System.out.println("say hello"); } }
-
语句是Java最小的执行单位,语句以分号结尾。一个语句可以写连续的若干行。由{}包含的称为语句块。语句块可以嵌套声明。
关键字
- 关键字也称为保留字,编译器预先保留用作特殊意义和用途的,所以不能作为标识符使用。
abstract、boolean、break、byte、case、cast、catch、char、class、
const、continue、default、do、double、else、extends、false、final、
finally、float、for、futrue、generic、goto、if、implements、import、
inner、instanceof、int、interface、long、native、new、null、operator、
outer、package、private、protected、public、rest、return、short、
static、strictfp、super、switch、synchronized、this、throw、
throws、transient、true、try、var、void、volatile、while
标识符与命名
- 标识符由字母、数字、下划线或美元符组成的字符串。标识符区分大小写,长度没有限制。
- 标识符不能 以数字作为开头。标识符中不能含有特殊字符。
- 标识符可用作变量名、方法名、接口名和类名等。
- Java源代码使用的是Unicode码,用16位无符号二进制数表示一个字符。
- 良好的编程风格:
- 类名或接口名:名词,单词首字母大写,如
HelloWorld、Customer、SortClass
等; - 方法名:动词,首字母小写的驼峰命名,如
getName、setAddress、searchKey
等; - 变量名:全部为大写字母,如
BLUE_COLOR
; - 变量名:包括所有实例变量、类变量、终极变量和静态变量,都应该首字母小写的驼峰命名,尽量不要使用下划线。如
balance、orders、byPercent
;
- 类名或接口名:名词,单词首字母大写,如
数据类型
基础数据类型
整数类型:byte、short、int、long
- 整数类型数据可存储十进制(1-9开头)、八进制(0开头)或者十六进制(0x开头)形式的数值
- Integer.MAX_VALUE表示int类型的最大值,Integer.MIN_VALUE表示int类型的最小值
- Long.MAX_VALUE表示long类型的最大值,Long.MIN_VALUE表示long类型的最小值
浮点数类型:float、double
- 单精度浮点型数据用float说明,双精度浮点型数据用double表示
- 浮点型常量默认情况下是double类型,除非用字母F明确是float类型
字符串类型:char
- 单个字符用char类型表示,char类型的常量通常用一对单引号包含
- 字符串分为普通字符串和转义字符串
布尔类型:boolean
- 布尔类型数据只有两个状态,true/false
- Java是强类型语言,不允许数值类型和布尔类型相互转换
复合数据类型
- 复合类型数据包含数组、类和接口
表达式
- 表达式由“运算符”和“操作数”组成。操作数通常是常量或者变量。运算符按功能可分为:算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和条件运算符
- 变量是存储数据的基本单位,变量在使用前要先声明。
- 声明变量在方法内,称为自动变量、局部变量或者栈变量。也可以声明在类当中,称为类的成员变量。
- 简单数据类型的变量在声明后,自动分配内存空间;而创建一个对象引用后,需要使用new运算符实例化后,才会分配内存空间。
- 变量的作用域,是指可访问该变量的代码范围。类的成员变量作用域是整个类,方法的局部变量作用域是整个语句块。
- 如果类中的方法,存在同名变量,则会被方法内的变量屏蔽。
运算符
- 算术运算符:加
+
、减-
、乘*
、除/
、取模%
- 算术运算符还有
++
自加1操作、--
自减1操作。自加自减运算符前缀和后缀形势含义是不同的,++i
是i先+1然后返回值,i--
是先-1再返回值。 - 关系运算符用来比较两个值:大于
>
、大于等于>=
、小于<
、小于等于<=
、等于==
和不等于!=
- 逻辑运算符:逻辑与
&&
、逻辑或||
、逻辑非!
,&&
与||
提供短路操作 - 位运算用来对二进制数据进行操作,包含:按位取反
~
、按位与&
、按位或|
、异或^
、右移>>
、左移<<
和无符右移>>>
- 此外,Java中还有扩展运算符
+=
、-=
、*=
、/=
、%=
、&=
、|=
、^=
、>>=
、<<=
、>>>=
,条件运算符?:
、点运算符.
、实例运算符instanceof
、new运算符以及数组下标运算符[]
- Java是一种强类型语言,不支持自动的隐式类型转换,必须显式的进行类型转换,目的是保证转换时不丢失有用信息。但低级类型可以转换高级类型。
- 运算符的优先级:
练习题
选择题
- 以下,Java关键字是【switch、new、long】
- 以下,能作为Java程序中标识符的是【Val】
- 能作为Java程序变量名的是【CASE】
- 能作为Java语言注释的是【从//开始知道行尾】
- main标识符不能作为【主函数名】
- 属于Java基本数据类型的是【整型、浮点型、布尔型】
- 以下类型转换中必须进行强制类型转换的是【long→char】
- 以下类型转换中必须进行强制类型转换的是【long→byte】
- 以下属于转义字符串的是【\t、\141、\u0061】
填空题
- 用来声明Java布尔类型的保留字是【boolean】
- 方法内定义的变量称为【局部变量、自动变量、临时变量或者栈变量】
- Java逻辑与和逻辑或运算符有一个特殊功能,当左侧操作数能决定表达式的值时,跳过右侧操作数的运算,称为【短路操作】
- 一个byte类型的运算数和一个int类型的运算数进行运算,结果的类型是【int】
- 当不同类型的数据进行运算时,表示范围小的类型转换成表示范围大的类型,称为【自动类型转换】
- 当不同类型的数据进行运算时,表示范围大的类型转换成表示范围小的类型,称为【强制类型转换】
- 表达式
45 & 20
的十进制值是【4】 - 表达式
1==1>>>32
值为【true】