1.名词定义和命名规范
关键字:被Java赋予了特殊含义的单词
标识符:需要自己起名字的
标识符命名规则:由26个字母、数字0-9、_ 、$ 所构成,且不能以数字开头,不能和关键字同名
类名:每个单词的首字母必须大写
注意:Java严格区分大小写
2.注释
单行注释: //
多行注释: /* */
文档注释: / ** */
3.常量、进制、变量
常量:固定不变的数值。分为整数常量、小数常量、布尔类型常量、字符型常量、字符串型常量、null型常量
进制:
原码: 一个数字的二进制表示形式, 前面的计算二进制表示形式, 得到的就是原码。负数的原码最高位需要改为1
反码: 正数的反码与原码相同; 负数的反码是原码符号位不变, 其他位按位取反。
补码: 正数的补码与原码相同; 负数的补码是反码 + 1
二进制计算举例
变量
存储程序中用到的数据,变量中存储的数据时可以改变的
变量占据多大内存由数据类型决定
4.数据类型
分类:包括基本数据类型和引用数据类型
float类型小数点右边最长是7位
double类型小数点右边最长是15位
小数默认是double类型,若要赋值给float类型,则需要在小数后面添加一个字母f,否则会报错
如:float num3 = 55.66f
数据类型转换
级别从低到高:byte、short、char–>int–>long–>float–>double
从低级别到高级别会自动转换
有趣的现象
现象1
在java中一个整数默认看成是int类型的数据
byte n = 66;
//66为int类型,自动从高级别转换为低级别的byte,且不报错
这是因为int类型是4个字节,而66前3个字节均为0,计算机自动截断了前面3个字节
现象2
class Demo5
{
public static void main(String[] args)
{
byte n = 127;
n =(byte)(n+10);
//137的原码为00000000 00000000 00000000 10001001
//去掉三个字节得到10001001
//计算机存储的是补码,因此还需要将结果专为原码
//也就是0100 0010 119
//最后得到结果为-119
System.out.println(n);
}
}
现象3
//查询ASSCII表
int n1 = 'a';
//char类型转化为int型
System.out.println(n1);
char n2 = 97;
//int型转为char型
System.out.println(n2);
//查询ASCII表转换为d
System.out.println((char)100);
总结
自动类型转换:从低级别到高级别
强制类型转换:从高级别到低级别
几个重要的ASSIC表编码:0–48、A–65、a–97