java的分类
javame:袖珍版---嵌入式开发
javase:标准版---做基本的java开发
javaee:企业版---可以做服务器开发
java的特点
平台无关性,安全性,面向对象,简单性,多线程,分布式,解释执行等
java的名词解释
public private protected default 四类修饰符以及修饰符范围
void 无返回值
class 类
interface 接口
synchronized 同步
是两个接口:Comparable 接口:进行比较 Comparator 接口,进行比较,比较器
关键字:instanceof 用于多态
关键字:extends 描述继承关系 i
mplements 藐视类与接口的关系,实现的意思
final 最终的
abstract 抽象的
字节关系
1024byte = 1kb
1024kb = 1mb
1024mb = 1GB
1024Gb = 1Tb
1024Tb = 1Pb
1024Pb = 1Eb
1024Eb = 1Zb
ASCLL码:常用
0:48
a:97
A:65
注:如果想得到一个字母的ASCLL码:使用int在前面强转(逆回来则是使用(char)得到一个数字的ASCLL码)
关键字:
public static final int long float byte short ......
标识符
语法: 1. 由字符(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。
2. 不能以数字作为开头。
3. 区分大小写。
4. 长度无限制。(一般不要超过15个字符)
5. 不能与系统关键字或者保留字重名。
驼峰式命名:
大驼峰命名法: 每一个单词的首字母都大写。 适用类型:类名,接口名
小驼峰命名法: 首字母小写,如果多个单词组成,第一个单词首字母小写,剩下的单词首字母大写适用类型:变量名,方法名,参数名
举例:
大驼峰命名法: AgeOfPerson、CountOfStudent
小驼峰命名法: ageOfPerson、countOfStudent
对于包名:所有的字母都小写
对于常量:所有的字母都大写
数据类型:
//整型 byte b = 3; short s = 4; int i = 5; long l = 100l;//在数据的最后添加一个l表示long型. //默认整型类型是int型 System.out.println(34);
//浮点型-小数 //浮点型默认是double型,如果想表示float型,在数据的最后加f float f = 5.5f;//4个字节 double d = 3.4;//8个字节 System.out.println("f:"+f+"d:"+d);// +号的连接功能,任何与字符串进行加号连接都会被转成字符串型.
//boolean型 //boolean只有两个值true/false //我们认为占1个字节 //注意与c的区别,在c中0表示false,非零表示true.但是在java中只有true/false boolean b1 = true; //字符型 //''表示字符 ""表示字符串 char c = 'a'; //char c1 = 'aa';//错误,''中只能放一个字符 System.out.println("c:"+c); //常用的ASCII a 97 A 65 0 48 System.out.println("c的ASCII:"+(int)c); System.out.println("97的字母"+(char)97);
//常用的中文的编码格式 //GBK 中文 一个汉字2个字节 //UTI8 日本的(国标) 一个汉字3个字节 //unicode 内部编码 一个汉字2个字节 //ASCII 不支持中文 //ISO8859-1 欧洲标准 不支持中文 //编码:将字符串转成二进制形式数据的过程 //解码:将二进制数据转成字符串的过程 //乱码:编码与解码过程中使用的字符集不一致,造成显示错误.
//转义字符 //\表示转移字符 //第一种:将普通含义的字母转成特殊含义 //\n 换行 \t 制表符 \r \s \d char c1 = '\n';//表示换行 //第二种:将特殊含义的符号转成普通含义 //我想打印 "helloworld" System.out.println("\"helloworld\""); // \' \\
数据类型比较:
//数据类型转换的标准:以数据类型表示数的范围大小确定,范围越大等级越高,反之越小. //整型中: 从低到高 byte short int long //浮点型: 从低到高 float double long maxLong = Long.MAX_VALUE; float maxFloat = Float.MAX_VALUE; System.out.println("long:"+maxLong);//long:9223372036854775807 System.out.println("float:"+maxFloat);//float:3.4028235E38 System.out.println("差值:"+(maxFloat-maxLong));//3.4028235E38 //结论:等级高低:从低到高 byte short int long float double //注意:boolean不参与排名 //有char型的排序 : char int long float double
自增自减运算:
int a = 3; int b = 4; int x = a++;//当++在后时,先赋值,再自身+1 int y = ++b;//当++在前时,先自身+1,再赋值 System.out.println("a:"+a);//4 System.out.println("b:"+b);//5 System.out.println("x:"+x);//3 System.out.println("y:"+y);//5
简单运算符:
//赋值运算符 //在使用+=运算符时,必须保证a是有值的. int a = 5; a += 5;//相当于 a = a + 5;
逻辑运算符
//特点:1.运算符的两边的元素一定是true/false 2.结果一定是true/false //逻辑与 & 逻辑或 | 逻辑异或 ^ 逻辑非 ! //&:一假则假,全真才真 //|:一真则真,全假才假 //!:真则假,假则真 System.out.println(true & false);//false System.out.println(true | false);//true System.out.println(true ^ false);//true System.out.println(!false);//true
进制运算:
9.十六进制3A6C转十进制 :
3A6C =3x16^3 +10x16^2 + 6x16^1 + 12x16^0 = 14596
10.十六进制1FB4转十进制 :
1fb4 = 8116
运算符计算
1.int a=2,b=3,c=5 c = a-- * ++b - (c++ - --c) / a++ 求a,b,c 注释: 1.2x4 - (5 - 4) / 2 从运算符优先级低的看,考虑其综合性由左往右或是由右往左 2.1/2 = 0 a = 2; b= 4; c = 8;
2.int a=1,b=2,c=5 c = a-- * ++b + (b++ + --c) / ++a 求a,b,c a = 1, b=4,c=10;
3.int a=1,b=2,c=5 c -= a-- * ++b + (a++ - --c) % a++ 求a,b,c a=2,b=3,c=2 注释: 1.c -= (代表右边的所有数),优先级最高,最后计算 2.(-4) % 1 = 0; 3.c = c - 3 = 2;
4.int a=4,b=2,c=2 c *= a-- * b-- + (c++ - --b) % a++ 求a,b,c a=4,b=0,c=20 注释:1.a-- * b-- = 8 此时a=3 b =1 2.(c++ - --b)= 2-0=2 % a++ = 2 此时a=4 c = c*(10)