今天我们主要学习标识符,关键字,常量,变量,数据类型,数据类型转换,转义字符,进制问题,运算符。
一.标识符
1.什么是标识符?
标识符简单来讲就是java中一切起名字的地方的这个名字就是标识符。
2.标识符的命名规则
1.只能有字母,数字,下划线_,美元符号$任意组合而成,数字不能开头。
2.严格区分大小写。
3.关键字不能作为标识符使用。
3.标识符的命名规范
1.见名知意
2.驼峰命名规则
包:全部小写
单级包: hellojava
多级包: hello.java 每个层级之间使用.分隔
类|接口: 每个单词的首字母大写 HelloWorld
方法|变量: 第一个单词全部小写,第二个单词开始首字母大写 quickSort
常量: 全部大写 每个单词之间使用_进行分隔 PI\
二.关键字
1.什么是关键字?
在java中,有一些词java有自己的用法或者用途,这些词称之为关键字,关键字全部用小写,例如public,class,void,static等等。
2.保留字(了解即可)
在java中,有一些词将来java有自己的用法或者用途,这些词称之为保留字,一般提到关键字都包括保留字,但是在某些情况特定区分的时候需要区分。只需记住goto和const是java的保留字。
三.常量和变量
1.常量
顾名思义,常量就是运行期间值不改变的量。
2.常量的分类
1)字面值常量: 123 “abc” 1.23,包括
整数常量 : 12 1214
小数常量 : 1.234
字符串常量 : “” “123abc,”
字符常量 : ‘a’ ‘1’ ‘,’
布尔常量 : true ,false
空常量 : null
2)自定义常量: 使用final关键字修饰的变量变成常量
3.变量
1)定义:运行期间其值可以改变的量,在内存中开辟一块空间,用来存放指定数据类型的数据。
2)语法
变量可以先声明后赋值,也可以在声明的同时赋值。同时,在一行可以定义多个变量,如下
int num;
num=10;
int num=10;
3)基本类型
变量的基本类型有:整数型(int),浮点型(float),字符型(char),字符串类型(String)和布尔类型(boolean)。
4)使用变量时需要注意的事项
1.使用之前变量必须已经声明。
2.使用之前变量必须已经赋值。
3.必须在变量的作用域范围内使用。
4.同一变量在同一时刻只能存储一个值。
5)变量的分类
1.成员变量|实例变量 :在类中方法外声明的变量叫做成员变量。
只声明不赋值有默认值 整数0 小数0.0 boolean->false 字符串->null 字符型->’ '。
2.局部变量 : 方法内部|语句块的内容声明的变量叫做局部变量。
四.数据类型
1.基本数据类型
java中基本数据类型有:四类八种。
整形:
表示形式 表示名称 大小 范围
byte 字节型 1个字节 8位 [-128,127]
short 短整型 2个字节16位 [-32768,32767] +-3万
int 整型 4个字节32位 +-21亿
long 长整型 8个字节64位 非常大
如果要给比int类型大的long类型赋值,需要数据的后面添加L/l 推荐使用L整数的字面常量值默认int类型。
浮点型:
表示形式 表示名称 大小 精度
float 单精度 4个字节 精确到7位左右
double 双进度 8个字节 精确到16位左右
小数默认的字面常量值是double类型。给double类型小的float类型赋值,需要在数据的后面添加一个f/F。浮点类型参与运算不准确。
字符型:
表示形式 表示名称 大小 范围
char 字符型 2个字节 0~65535
字符型的表示形式:
1)’‘一对单引号中存放单个数据表示字符型 ,例如’A’和’美’。
2)0~65535之间的整数 Unicode字符集 – > ASCII表中查看。
3)字符型数据在参与运算的时候会转为对应的十进制的数参与运算。
布尔型:
true false 1位
引用数据类型(放到后面详细讲解):
类 接口 数组[]。
五.数据类型转换
注意:boolean类型在java中不参与数据类型转换
1.自动类型转换
1)小范围类型的数据转为大范围类型的数据 小->大
2)在给byte,short,char类型赋值的时候,只要在其范围内的常量值就可以成功赋值
3)byte,short,char在参与运算的时候回自动类型提升成为int类型
4)在运算时候有存在比int类型大的数据类型,类型会提升成为大的数据类型
2.强制类型转换
1)大范围类型的数据到小范围类型的数据,需要发生强制类型转换,损失精度。
2)小范围数据类型 变量名 = (小范围数据类型)变量名。
六.转义字符
在java中有些字符有特殊的含义,没有办法正常表示,所以可以使用转义字符表示这个字符转义字符从\开始
\\
\'
\"
\t 制表符 一个制表符位代表8个空格,一个汉字占2个空格,一个英文占1个空格,看前面的内容是否是制表符位的整数倍,如果是重新开启一个制表符位,如果不是,与前面的数据不全一整个制表符位.
\b 退格 光标回删一格
\n 换行 光标从这一行的行尾换到了下一行的行头
\r 光标回到这一行的行首
七.进制问题
1.java中的数值型字面常量的主要表示方式有:
整形:
二进制: 由0,1组成 0b|0B 开头表示二进制
八进制: 由0,1..7组成 以0开头表示八进制
十进制 : 默认十进制
十六进制 : 由0~9,a,b,c,d,e,f 组成 ,a~f可以是大写可以是小写 , 以0x或0X开头
2.十进制转换为其他进制(以二进制为例)
1)方法一:除2取余,逆序排列。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2)方法二:分拆法(推荐)
如果想要将一个比较大的数转换成2进制,用第一种方法就不一定好用了,这个时候可以采用分拆法,下面以1314为例进行说明。
1314=1024+256+32+2;首先将1314转换为若干个2的幂次方的和。
注意到1024等于2的十次方即10000000000,256等于2的八次方即100000000,32等于2的5次方即100000,而2等于2的1次方即10;相加即可得1314二进制表示为10100100010。
八.运算符
1.运算符的分类
算数运算符
赋值运算符
比较运算符
逻辑运算符
条件运算符
2.算数运算符
+
1.+正号
2.加法计算
3.字符串连接符
看+左右两边是否有字符串的存在,如果存在字符串,+就作为字符串连接符,最终会得到一整个字符串 "abc"+123 "abc123"
-
1.负号
2.减法运算
*
/
% 取模 求余数
如果第一个操作数小于第二个操作数,结果结尾第一个操作数
++ --
3.一目二目和三目运算符
一元运算符|单目运算符: 操作数只有一个的运算符 ++ – +正号
二元运算符|双目运算符: 操作数有两个的运算符 + - * / %
三元运算符|三目运算符: 条件运算符
4.++,- -运算符
区分i++和i++;
i++:先运算,再自增。
++i:先自增,再运算。
int i=5;
int num;
num=i++;
//num结果为5
int j=3;
int num1=++j;
//num1结果为4