一.关键字的定义和特点
被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都是小写的
二.标识符的定义和规则
java对各种变量,方法和类等要素命名时使用的字符序列成为标识符。
对于合法的标识符的定义规则
由 26 个英文字母大小写,0-9 ,_或 $ 组成(字母、数字、 _,$)
数字不可以开头
不可以使用关键字和保留字,但能包含关键字和保留字
Java 中严格区分大小写,长度无限制
标识符不能包含空格
三.java中变量对象的储存位置
1.栈和堆都是java用来在RAM中储存数据的地方,和C++不同,java自动管理栈和堆,程序员不能直接管理栈和堆。
2.一种是基本类型(byte,short,int,long,float,double,char,boolean)八种,并没有string类型,由于他们大小可知,生存期可知,所以为了追求速度一般存放在栈中。
3.只要是new 一个对象,一般来说就储存在堆中。Java的内存分配上,主要分4个块。
一块是用来装代码的,就是编译的东西。
一块是用来装静态变量的,例如用static关键字的变量,例如字符串常量。
一块是stack,也就是栈,是用来装变量和引用类型的!但区别在于,装了变量以后,变量上是有值的,而引用类型本身在stack上是没有值的。
一块是heap,也就是堆!堆可以一句话概括,装new出来的东西!
所以综上所述,基本数据类型都在stack中,而引用类型,变量是放在stack中,真正有内容的东西放在heap中,也就是当new了一个新的引用类型,他就会放在堆中,同时栈中的引用类型变量会指向堆中你new出来的东西。
四.转义字符的意义以及对应的ascii值
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃 | 007 |
\b | 退格,将当前位置移到前一列 | 008 |
\f | 换页,将当前位置移到下页开头 | 012 |
\n | 换行,将当前位置移到下一行开头 | 010 |
\r | 回车,将当前位置移到本行开头 | 013 |
\v | 垂直制表 | 011 |
\t | 水平制表(调到下一个TAB位置) | 009 |
\\ | 代表一个反斜线字符‘\’ | 092 |
1.中文字符占2个字节
2.a在ASCII码中表示97,A和a差32,所以A是65,依次类推。
3.取余的时候后面那个数如果是负数就可以省略负号,在前面就不能省略。
4.位移运算符是指按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
例如11 >> 2,则是将数字11右移2位
计算过程:
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
5.++i和i++到底有什么区别
{int i=0; int j=i++;}
{int i=0; int z=++i;}
运算过后,j=0;表明i++是指先把i赋值给j然后再自身加1;
运算过后,z=1;表明++i是指先自身加1后赋值给z;
总之记住++号在后面的意思是先赋值然后自身加1;++在前面的是先自身加1后赋值。