黑马程序员--Java基础(一)

来源:互联网 发布:下载torrent的软件 编辑:程序博客网 时间:2024/06/06 02:25

JAVA基础

1. 关键字:被赋予了特殊含义的单词,所有字母都为小写

 

2. 标示符:为类,变量和方法起的名字

a) 以英文字母,数字,$以及_组成

b) 不能以数字开头。

c) 不能是Java中的关键字。

d) 区分大小写

i. 包要全部小写 xxxyyyzzz

ii. 类和接口的每个单词首字母都要大写 XxxYyyZzz

iii. 变量和方法:第一个单词的首字母要小写xxxYyyZzz

iv. 常量:全部大写单词用_连接 xxx_YYY_ZZZ

3. 注释:对于单行和多行注释,被注释的文字,不会被JVMjava虚拟机)解释执行

a) 单行注释  //XXX

b) 多行注释 /*XXX*/

c) 文档注释 /**  XXX  *

/**声明一个类 网

页文件形式体现的该程序的说明文档。

@author itcast

@version V1.0

*/

class Firstjava{

//主函数是是不需要对类进行实例化就可以执行的,所以就要修饰为静态的

public static void main(String[] args){

//由于没有导入System.out的类库则需要带上对应的路径调用打印方法

System.out.println("hello world");

}

}

 

 

4. 注释是一个程序员必须要具有的良好编程习惯。

a) 初学者编写程序可以养成习惯:先写注释再写代码。

b) 将自己的思想通过注释先整理出来,在用代码去体现 v

5. 常量:程序中运算值不会发生变化

a) 字面常量:整数常量,实数常量,字符常量,布尔常量,null常量

b) 自定义常量:final??

6. 进制:人们规定的进位方式

a) 二进制 binary  国际化标准组织利用8个开关表示一个数据  010b表示

b) 十进制 decimal  0 ~ 9 ;0开头

c) 八进制 octal 0 ~7

d) 十六进制 hex 0 ~9   A~F 0x表示

e) 

f) 系数:每位上的数据,基数:X进制,基数就是X,权:数据从最后一位开始的编号且从0开始

g) 结果:把系数*基数^权次幂相加

h) 二进制:次数和对应十进制

1 2 3 4 5 6 7 8 9 10

2 4 8 16    32 64 128 256 512 1024

二进制:  0b100101  32+4+1=37

八进制: 074  7*8+4=56+4=60

十六进制: 0xf4  15*16+4=244

7. 原码、补码、反码

a) 原码:使用最左一位作为符号位:0表示正数,1表示负数(最初表示)

b) 反码:为了将原码转换为补码而存在的,即:除了符号位以外将每位取反

c) 补码(计算机识别)在计算机中实际上只有加法,为了更简单地计算利用计算机会舍弃最左边进位,以及每个正数都有对应的负数的特点,将负数取反同时加上1,这样一来就可以对将减法运算转换成加法运算即:正数加上一个负数的补码,最左边的进位会被舍弃,所以就可以得到减法最后的结果的补码

8. 变量:在内存中用于存放同一类型的变量,可在指定范围内能重复使用

9. 数据类型:java是强类型语言,需要明确数据类型

a) 基本数据类型:八种四大类:byte(1)short(2)int(4)long(8)float(4)double(8)char(2)因为java用的Unicode编码的,占用2个字符boolean

b) 引用数据类型:classinterface[]数组

c) 对long 的赋值是要加L

d) 单精度类型(7~8位有效数字)float 赋值是要加

e) 双精度类型(15~16位有效数字

f) 对于整数常量系统默认为int,小数则默认为double

     

 


10. 类型转换

a) 隐式转换:(byte,short,char) --> int --> long --> float --> double

b) 强制转换:int b;b=(byte)(b+2)

c) 特别的虽然long8个字节,而float4个字节,由于float是浮点类型的其表示的范围比long的范围大得多,所以从long-->float的转换是默认转换的

d) 如果强制转换byte b=(byte)130130的原码为100010为负数取补码为111100结果为 -126

e) charshortbyte在进行计算时会自动提升类型int 如 byte b=(byte)(b1+b2)

f) 注意:byte b = 4;

byte b1 = 3;

byte b2 = 7

b=b1+b2;//编译时损失精度,应为b1b2是变量,不是确定的值,不能检查

class  IntToByte{

public static void main(String[] args) {

byte b=1;

b=1+1;//这里是int->byte,初始化赋值时系统可以强转

System.out.println(b);

int a=1;

b=(byte)(a+1);//这里要进行强制转换

System.out.println(b);

}

}

 

11. ASCII编码表

a) ‘A’--65  ,’a’--97,’0’--48

b) 字符对应的数值组成的表为ASCII

12. 运算符(6类运算符)

a) 算术运算符 +,-,*,/,%,++,--  (++--的操作:如果在数据的后边,数据先操作,再++/-- , 如果在数据的前边,数据先++/--操作)

b) 特殊:k=2; k=k++ 问结果是:2

c) 赋值运算符 =,+=,-=,*=,/=,%= 这里的如+=的赋值运算包含了强制类型转换

d) 关系运算符  ==,!=,>,>=,<,<=

e) 逻辑运算符(6):用于连接结果是布尔表达式的运算符

i. &与运算   |或运算  ^异或运算   !非运算  && 短路与运算  || 短路或运算

ii. -|-&&的特殊之处:左边运算为false时右边不参与运算,而 & 却都运算完

iii. -|-||的特殊之处:左边运算为true时右边不参与运算,而 | 却都运算完

 

f) 位运算符(直接对二进制进行运算)<<左移运算   >>右移运算(高位是0则补0高位是1则补1)   >>>无符号右移运算(不考虑符号位,一律补0)   &与运算  |或运算   -|- ^异或运算 两边表达式或二进制数不同则为真(^一个数异或同一个数两次,结果还是这个数)   ~反码运算

    

g) 三元运算符(条件表达式)?表达式1:表达式2 ;

h) 运算符优先级:

0 0
原创粉丝点击