(3)2017.8.4-java基础语法和控制流程(上)

一.关键字的定义和特点

被 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后赋值。



















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章