Java语言基础
-
关键字
-
关键字概述:被Java语言赋予特定含义的单词
-
关键字特点:组成关键字的字符全部小写
-
关键字注意事项:
- ①goto和const作为保留字存在,目前并不使用
- ②类似于notepad++或idea等高级记事本或编辑器针对关键字有特殊的颜色标记,方便代码编辑
-
-
标识符
-
标识符概述:就是给类、接口、方法、变量等起名字时用的字符序列
-
组成规则
- ①有英文大小写字母、数字字符、$、_组成
- ②不能以数字开头
- ③不能是Java中的关键字
- ④严格区分大小写
- 常见命名规则(见名知意)
- 包:其实就是文件夹
- 单级包:包名要全部小写
- 多级包:报名全部小写,并用 . 隔开,一般是域名倒写,例如:cn.itcase,com.baidu
- 类或接口
- ①一个单词:单词的首字母大写
- ②多个单词:每个单词的首字母都必须大写
- 方法或变量名
- ①一个单词:单词小写
- ②多个单词:从第二个单词开始,每个单词的首字母大写
- 常量
- ①一个单词:字母全部大写
- ②多个单词:每个单词都大写,并用 _ 隔开
- 包:其实就是文件夹
-
-
注释
- 概述:用以解释说明程序的文字
- Java中注释分类
- 单行注释://注释文字
- 多行注释:/注释文字/
- 文档注释:/**注释文字 */
- 注释的作用
- 解释说明程序,提高可读性
- 可以帮助调试程序
- 注意
- 单行注释可以嵌套,多行注释不可以嵌套
- 实例(Hello World案例)
-
常量
- 概述:在程序执行过程中,其值不发生改变的量
- 分类
- 字面值常量
- 1.字符串常量:用双引号括起来的内容
- 2.整数常量:所有的整数
- 3.小数常量:所有的小数
- 4.字符常量:单引号括起来的内容
- 5.布尔常量:只有true和false两个值
- 6.空常量
- 自定义常量
- 字面值常量
- Java针对整数常量提供了4中表现形式
- 二进制
- 八进制
- 十进制
- 十六进制
-
变量
- 概述:变量就是在程序的执行过程中,可以在一定范围内发生改变量。从本质上讲,变量其实就是内存中的一小块区域,使用变量名来访问这块区域,因此,没一个变量使用前必须要先申请(声明),然后进行赋值(填充内容)。
- 组成规则
- 通过数据类型对变量进行限定
- 程序运算时,进行运算的不是内存空间,而是内存空间中的值,对这个装有值的空间取名,这个名字就是变量名
- 有数据类型和变量名后,如果这个内存空间中没有值,这个空间就是一个垃圾空间,没有任何意义,所以定义变量时应初始化值(局部变量初始化后才能使用)
- 变量定义格式
- 数据类型 变量名=初始化值
-
数据类型
- 概述:java是强类型语言,对于每一种数据都定义了具体的数据类型,在内存中分配了大小不同的内存空间
- 数据类型分类
-
1.基本数据类型
- 基本数据类型分为4种8类
- 整数(整数默认是int类型)
- byte(1字节)
- short(2字节)
- int(4字节)
- long(8字节)
- 注意:长整型后缀用L或l标记,建议使用L
- 注意:长整型后缀用L或l标记,建议使用L
- 浮点数(浮点数默认是double类型)
- float(4字节)
- 注意:单精度浮点数后缀用F或f标记,建议用F
- double(8字节)
- float(4字节)
- 字符
- char(2字节)
- 布尔
- boolean(1字节,也可认为占1/8字节)
- 整数(整数默认是int类型)
- 基本数据类型分为4种8类
-
2.引用数据类型(类、接口、数值,在后面进行学习)
-
- 使用变量的注意事项
- 作用域:变量在哪个大括号内,它就在哪个大括号内有效,在用一个大括号内不能同事定义同名的变量
- 初始化值:没有初始化值的变量不能直接使用
- 定义变量格式
- 1.数据类型 变量名=初始值;
- 2 数据类型 变量名;变量名=初始值;
- 在一行上建议只定义一个变量,可以定义多个,但是不建议
-
数据类型转换
- 一般来说,进行运算的时候,要求参与运算的数据类型必须一致
- 默认转换
- 转换顺序:byte、short、char—>int—>long—>float—>double
- byte、short、char之间不转换,它们参与运算首先转换为int类型
- 图解
- 强制转换
- 从大的数据转换为小的数据
- 格式:目标数据类型 变量=(目标数据类型) (被转换的数据)
- 注意:不要随意使用强制转换,因为可能导致精度损失问题
- 思考题
- f1其实是通过一个double类型转换过来的,而f2本身就是一个float类型
- 变量相加和常量相加面试题(变量是在运行的时候确定,常量是在编译期间就可以确定)
- b=b1+b2;这个是类型提升,b1和b2都是byte类型变量,会首先默认转换为int类型,然后相加再赋值给b,而b任然是byte类型变量,所以有问题
- b=3+4;3和4是常量,会先进行加法计算,然后查看结果是否在变量b(byte)范围内,如果在范围内就不报错。反编译代码如下:
因为byte的范围是 -128~127,而130不在此范围内,所以会报错。可以使用强制类型转换:byte b = (byte)130; 但b的结果不会是130,首先我们得到130的二进制:00000000 00000000 00000000 10000010 ,再做截取操作,截成byte类型:10000010,此时这个结果为补码(前面说过,正数的原码、反码和补码均相同),再通过补码求原码:
再将原码转换为十进制数,得到最终结果:-126
- 一般来说,进行运算的时候,要求参与运算的数据类型必须一致
-
字符数据参与运算
- 请写出下列程序的结果
- 结果分别是a和98,字符和整数相加时,进行运算的是字符在ASCII码表中的对应的整数值,a在ASCII码表中 对应97,所以 ’ a ’ +1 结果为98。此外,A对应ASCII码表值为65,0对应ASCII码值为48,由此可推算出其余大小写字母和数字的ASCII码表值
- 请写出下列程序的结果
-
字符串参与运算
- 写出下列代码结果
- 第一行代码结果是:helloa1;此时的‘+’号不是做加法运算,而是字符串连接
- 第二行代码结果是:98hello;先做字符数据与整数的运算,再与字符串连接
- 后两行代码原理相同,请自行思考
- 写出下列代码结果