每日一题
- JDK = JRE + Java开发工具(javac.exe, java.exe, javadoc.exe)
- JRE = JVM + Java核心类库
- 希望在任何一个文件路径下都能执行Java的开发工具,所以需要配置Path路径
- JAVA_HOME = bin的上一层目录
- path = %JAVA_HOME%\bin
- 编译:javac 文件名.java
- 运行:java 文件名
2-1 关键字与保留字
- 关键字(keyword)。定义:被Java语言赋予了特殊含义,用做专门用途的字符串。特点:关键字中所有字母都为小写。
- 保留字(reserved word):现有的Java版本尚未使用,但以后的版本可能会作为关键字使用。goto、const。
2-2 标识符(Identifier)
- Java对各种变量、方法和类等要素命令时使用的字符序列称为标识符。
- 技巧:凡是自己可以起名字的地方都叫标识符。
- 定义合法标识符规则:1、由26个英文字母大小写,0-9,_和$组成。2、数字不可以开头。3、不可以使用关键字和保留字,但能包含关键字和保留字。4、Java中严格区分大小写,长度无限制。5、标识符不能包含空格。
- Java中的名称命名规范。包名:多单词组成时所有字母都小写;类名、接口吗:多单词组成时,所有单词的首字母大写;变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写;常量名:所有字母都大写,多单词时用下划线连接;
- 注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
2-3 变量
- 变量概念:1、内存中的一个存储区域;2、该区域的数据可以在同一类型范围内不断变化;3、变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值。
- 说明:变量需要先声明,后使用。局部变量需要先初始化后使用。
- 变量都定义在其作用域内。在作用域内,它是有效的。出了作用域,就失效了。
- 同一个作用域内,不可以声明两个同名的变量。
- 变量按照数据类型来分:基本数据类型:整型(byte,short,int,long),浮点型(float,double),字符型(char),布尔类型(boolean);引用数据类型:类(class),接口(interface),数组(array)。
- 变量在类中声明的位置:成员变量 vs 局部变量
- byte:1字节=8bit位 -128~127
- short:2字节
- int:4字节
- long:8字节,声明long型变量,必须以"l"或"L"结尾。
- 通常,定义整型变量时,使用int型。
- 与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响。
- Java的浮点型常量默认为double型,声明float型常量,须加"f"或"F"。
- float:4字节
- double:8字节
- char:2字节
- 定义char型变量,通常使用一对’’,内部只能写一个字符。
- 直接使用Unicode值来表示一个字符。
- ASCII码:1个字节
- Unicode
- UTF-8是互联网使用最广的一种Unicode的实现方式。
- UTF-8是一种变长的编码方式。它可以使用1-6个字节表示一个符号。
- 布尔型:boolean。只能取两个值之一:true和false;常常在条件判断、循环结构中使用。
- 自动类型转换。
- 自动类型提升:byte, short, int, long, float, double。当容量小的数据类型的变量与容量大的数据类型变量做运算时候,结果自动提升为容量大的类型。
- 说明:此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量。
- 特别的:当byte, char, short三种类型的变量做运算时,结果为int类型。
- 强制类型转换:自动类型提升运算的逆运算。1、需要使用强转符号:()。2、强制类型转换,可能导致精度损失。
- 整型常量:默认为int型。
- 浮点型常量:默认为double型。
- 字符串类型:String。String不是基本数据类型,属于引用数据类型。
- 声明String类型变量时,使用一对""
- String可以和8种基本数据类型变量做运算,且运算只能是连接运算+。
- 运算的结果仍然是String类型。
- 整型的结果赋值给整型变量。
- 所有数字在计算机底层都以二进制形式存在。
- 二进制(binary):0,1,满2进1,以0b或0B开头。
- 十进制(decimal):0-9,满10进1。
- 八进制(octal):0-7,满8进1,以数字0开头表示。
- 十六进制(hex):0-9及A-F,满16进1,以0x或0X开头表示。此处的A-F不区分大小写。
- 正数的原码、反码、补码相同。
- 负数的反码:除符号位之外各个位取反。
- 负数的补码:反码加1。
- 计算机的底层都以补码的方式来存储数据。