一、标识符
Java标识符有如下命名规则:
1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字;
2、不能把Java关键字作为标识符;
3、标识符没有长度限制;
4、标识符对大小写敏感。
标识符的命名规则建议:
规范(类、接口、方法名、变量名采用驼峰式,包名一律小写,常量一律大写并且有多个单词组成时以_间隔)、易读(简短)、含义清楚(见名知意)
二、数据类型
转换
范围
由 低------------------------------------------------->高
byte ------------> short/char ------------> int ------------> long ------------> float ------------> double
三、整型,浮点型,布尔型
整型是用来定义整数的关键字,四种整型(byte、short、int、long)都有其表示范围。
Java整形数据类型的有如下4种表示形式:
十进制整数,例如12,-127,0。
二进制整数,以0b开头,例如0b011 (对应于十进制的3 ) (JDK7.0开始)。
八进制整数,以0开头,例如014(对应于十进制的12)。
十六进制整数,以0x或0X开头,例如0XC(对应于十进制的12)。
浮点数
十进制形式,例如3.14
科学计数法形式,例如3.14e3。 表示3.14*10^3
布尔型
boolean---只有ture和false两个值
在二进制逻辑中,java规定1为真0为假
booleanpoor=ture
四、变量
变量概念:java通过定义变量来申请数据空间,并通过变量名获取或改变存储的值。
变量名:变量名必须遵从标识符命名规则首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写,变量 名一般由名词组成
变量定义:【访问控制符】【修饰符】数据类型 变量名【=初始值】;
常量定义:【访问控制符】【修饰符】final 数据类型 常量名=初始值;常量由final修饰,不能二次赋值,即使第二次赋的值和第一次相同也不行,在声明时必须初始化。
五、变量与常量的区别
标识符命名区别:
变量:首字母小写,之后每个单词的首字母大写
常量:所有字母大写,多个单词之间用下划线间隔
值能否改变:
变量:变量的值可以改变;
常量:常量的值初始化以后不允许再次改变;
final关键字:
变量:一定没有final关键字;
常量:必须使用final关键字修饰;
初始化:
变量:只有局部变量在使用前必须赋值(不是初始化);
常量:必须在声明的时候初始化;
六、补码
补码是计算机用于规范计算的一种二进制表示方式,由于计算机使用数值的第一位来表示数据的正负,例如:00000011表 示+3,而10000011表示-3,这些非0数值在逻辑上的表示都是没有问题的,这中表示方法称为源码表示法。但是用00000000表示+0,而10000000表示-0,则出现逻辑上的偏差,即:+0 不等于 -0。为了解决这个问题,提出了补码表示法。
补码的计算公式:
正数:源码、反码和补码都相同。
负数:补码 = 反码(符号位保持不变) + 1
注意:
负数在计算补码的时候,在源码取反的过程中要保留符号位不变,其他位取反,例如:10001010取反11110101(第一个1不变)。
七、运算符与位运算
Java语言支持如下运算符:
算术运算符:+、-、*、/、%、++、- -
赋值运算符:=、+=、-=、*=、/=等等
位运算符:~、&、|、^
逻辑运算符:!、&&、||
关系运算符:>、<、>=、<=、= = 、!=
移位运算符:>>、<<、>>>(无符号右移)
“按位与”运算符“&”,规则:全1则1,否则为0
“按位或”运算符“|”,规则:全0则0,否则为1。
“按位非”运算符“~”,规则:遇1则0,遇0则1。
“按位异或”运算符“^”,规则:相同为0,不同为1。
八、逻辑运算符(&&、||)与位运算符(&、|)的区别
逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。
逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
九、摘录
指针:
定义:指针是一个值为内存地址的变量
用法:数据类型 * 指针变量名
例:
int * p_num;//声明是一个指针变量
p_num=&num/*赋给指针num的内存地址(内存地址一般使用16进制表示,可用%p格式输出),且
1.指针类型必须与num类型相同
2.指针赋值必须使用&+变量名,不允许使用常量*/
注:
1.在头文件<stdio.h>中,NULL被定义为常亮,对于 int * p_num=NULL 方式声明的指针的初值为空,表示指针不指向任何地址。
2.可以通过指针修改原变量的值
指针取值:
* p_num=num;//‘*’表示指针此时取变量num的值
指针可以存放C语言中任何基本类型、数组和其他所有高级数据结构的地址。
指针类型与其储存的地址对应变量的类型相同
指针与数组
数组:
1.储存在一块连续的内存空间中
2.数组名是这块连续内存空间的首地址
指针的算术运算:
++ --
*p_score++ =>指针移动,且在类型为T的指针的移动中,以sizeof(T)为移动单位
与指针有关的数组的三种输出方式:
1.p_score[i]
2.int score[]={,,,};
int * p_score;
p_score=score;//注意,赋值从数组第二位元素开始时,应 p_score=&score[1];
*(p_score+i) //访问第i个元素
3.*p_score++ //指针容易变成野指针,但可以通过重新给指针赋值来解决
应用:
第i+1个元素的地址: &num[i+1] 或 num + i + 1
为数组指针赋值: int * p_num= num; 或 int * p_num=&num[0]
指针变量指向数组元素: int * p_num= &num[4] 或 int * p_num= num + 4
十、课堂记录