一、关健字java
1.一、被Java语言赋予特定意义的单词(如:class,interface,public ,static)数组
1.二、所有是小写spa
1.三、注意事项(goto和const做为关健字保留起来)接口
二、标识符字符串
2.一、给类,接口,方法,变量起名字的字符get
2.二、组成规则(A:英文大小写,B:数据,C:$ _)class
2.三、注意事项(不能为数字开头,不能是java中的关健字,区分大小写)变量
2.四、常见的命名规则(见名知意)数据类型
A:包 所有是小写引用
单级包:小写 如:peng,com
多级包:小写 如:cn.hcc,ts.hnyj,com.baidu
B:类与接口:
一个单语:首字大写 如 Hello,Student
多个单词:每一个单词首字大写 如HelloWorld,StudentName
C:方法与变量:
一个单词:首字小写 如name,main,get
多个单词:首字小写,从第二单词开始首字大写 如showAllStudents,getPersonName,className
D:常量: 所有大写
一个单词时:所有大写
多个单词时:多部大写同时每一个单词之间用_分开 如 MAX_AGE
三、常量
3.1 在程序执行的过程当中,其值不发生改变的量
3.2 分类:
3.2.一、字符串常量 "hello",
3.2.二、整数常量 12,23,
3.2.三、小数常量 12.33,
3.2.四、布尔常量 true,false
3.2.五、字符常量 'a','b'
3.2.六、空常量
3.3 在Java中针对整数常量提供了四种表现形式
A:二进制 以0,1组成,以0b开头
B:八进制 以0---7组成,以0开头
C:十进制 以0----9,整数默认是十进制
D:十六进制 以0----abcdef(大小写均可以)以0x开头
四、进制之间接转换
其它进制转换到十进制的方法是:
1112 = 1*10^3 + 1*10^2 + 1*10^1+2*10^0 = 1000+100+10+2 = 1112
0b00001010 = 1*2^3 + 1*2^0 = 8 + 2 = 10
02120 = 2*8^3 + 1*8^2 +1*8^1 = 1024+128+16 = 1104
0xa02 = 10*16^2+0+2*16^0 = 2560+2 = 2562
二进制到十进制的互转
0b10100100=128 64 32 16 8 4 2 0============128+32+4==========164(看位得值法)
十制转其它进制的方法:除基到商为0取余反转过来就是他的值
21转二进制:10101
五、变量与数据类型:
一、基本类型:4类8种 占用字节数(一个字节占8位)
1.一、整型:1.1.1 、 byte 1-------
1.1.二、 short 2
1.1.三、 int 4
1.1.四、 long 8
1.二、浮点型:
1.2.一、float 4
1.2.二、double 8
1.三、布尔 true/false 1
1.四、字符 char 2
注意:整数默认是int,浮点默认是double long定义时加L/l float 定义时加F/f
默认转换:是由小到大:byte char short(前三者不互相转换,是直接转换成int)---------->int------------>long------------->float-------->double
强制转换是由大到小:是默认反转过来可能丢失精度,通常不见建议
思考题:
float f1=12.36f 与float f2=(float)12.36;有区别?
下面的程序有问题吗?若是有,在哪里?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;------这里会有问题:由于两个变量相加首先转成int而后再加 int------->byte就会有问题
byte b4 = 3 + 4;----这个没有问题
下面的操做结果是什么?
byte b=(byte)130; -126要了解它的计算方法
130转成二进制是00000000 00000000 00000000 10000010-------->但因为是强转成byte 前面三位都将去掉只留
10000010----------->最高是1说明是负数 存在计算机中是以补码的形式存在:因此是求负数的反,原码
反码:1----------->00000 01
原码:1---------->11111 10
再转换十进制:-64+32+16+8+4+2===-126
再练习一次:
byte tt =(byte)150 tt=-106
二、引用类型:类,接口,数组,字符串
三、记得三个字符的ASCII码: a=97 A=65 0=48 这样能够计算出不少值出来
四、思考题:字符串参与的运算
System.out.println("hello"+'a'+1);======helloa1
System.out.println('a'+1+"hello");======98hello
System.out.println("5+5="+5+5);======5+5=55
System.out.println(5+5+"=5+5");===== 10=5+5
六、补充知识:
计算机是以补码存在的,
正数的原,反,补码都是同样最高位是(0)
负数的原,反,补码不同最高位是(1) 原到反直接取反,最高位不变 反到补最高位不变+1