1.JAVA语言概括
1.语言特性
1.面向对象
2.跨平台
java文件通过javac编译为class字节码文件,然后交由虚拟机jvm解释运行。
之所以跨平台是应为不同的操作系统适配了不同的jvm。
2.JDK环境变量配置,JDK与JRE区别
JDK1.5以上只需要配置java_home,path环境变量,JDK java开发环境,JRE java运行环境,
JDK包含JRE,JRE包含JVM.
3.java注释
//单行注释
/*
*/ 多行注释
/**
*/ 文档注释,借助javadoc命令可以生成代码文档。
2.基础语法
1. 关键字
java关键字都是小写,自定义变量不能使用关键字,具体包含哪些关键字可以百度。
2. 基本类型以及类型转换
基本类型:byte 1字节 char 2字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节
1byte=8bit 俗称8位。
byte>short>int>long>float>double,
char>int,
整数默认是int,浮点数默认是double,
整数只要不超过byte,char,short,可以直接赋值,但是超过了会出现编译错误。
其它转换成为强转,强转可能导致进度损失。
布尔类型:boolean 只有true和false。
3. 不同进制
二进制 0b或者0B开头,
八进制 0开头,
十六进制 0x或者0X开头,
它们之间相互转换就不细说了。
另外对于比较长的数字,jdk7支持分隔符‘_’,数字之间添加分割符不影响数字本身使用。
4. 原码,反码,补码
正数的三码合一,也就是原码,反码,补码一样,
负数的原码除符号位其它取反是反码,反码加一是补码,
数字在底层都是用补码保存。
数字的二进制最高位是符号位,0为正数,1为负数。
5. 赋值运算符,算术运算符,关系运算符
赋值运算符:=
算数运算符:+ - * / % ++ --
整数运算:有一个为long,结果为long;没有long,结果为int,即使全是byte,
short,char也依然是int。
浮点运算:有一个为double,结果为double;连个都是float结果为float。
++:++在前先++,后运算其它,++在后,先运算其它后++,--是一样。
扩展运算符:+= -= *= /= %=
6. 逻辑运算符,位运算符
逻辑运算符(对于boolean值而言):
&& 短路与:结果确定就不继续计算
|| 短路或 :结果确定就不继续计算
& 逻辑与 :结果确定依旧继续计算
| 逻辑或 : 结果确定依旧继续计算
^ 逻辑异或:两者不同为真
!非 :取反
位运算符:~取反 对单个数二进制而言1变0,0变1;
&按位与 对2个二进制数而言 11得1,其它得0;
|按位或 对2个二进制数而言有一个1得1,两个0位0;
^按位异或 对2个二进制数而言10或者01得1,其它得0,相同得0,不同得1.
<<左移运算符 向左移多少位,右边得补0,
>>右移运算符 向右移多少位,高位是0,左边补0,高位是1,左边补1.
>>>无符号右移运算符 向右移多少位,高位补0。
高位0为正数,高位1为负数。
8. 三元运算符
X?Y:Z X为true返回Y,X为false返回Z.
9. 流程控制
1. if(){};
2. if(){}else{}
3. if(){}else if(){}else{}
4. switch(A){
case a:
break;
case b:
break;
case c:
break;
default:
break;
}
10. 循环
循环包含:for循环,while循环,dowhile循环(至少执行一次)。
break:中止最近的循环,continue跳出最近得循环体本次循环,继续执行本次循环下一次。
还可以通过添加标签,例如 a:在循环前面,然后通过break a;或者continue a;显示的中止
或者跳出指定标签的循环。
11. 数组
int[] a;
a=new int[2];
a[0]=1;
a[1]=2;
int a={1,2};
String a={new String("1"),new String("2")};
多维数组就不详细介绍了,类似。