您的位置:首页 > 编程语言 > Java开发

Java知识点总结

2009-08-10 11:50 531 查看
1.java是一种编译解释型的语言。

2.java的垃圾回收机制:
java的垃圾回收将在程序运行过程中自动进行,无需程序员负责回收无用内存。

3.java环境变量配置:
在我的电脑>属性>高级>环境变量里的 path 中加入C:/Program Files/Java/jdk1.6.0/bin的路径(注:放在所有路径的最前面)。

4.java类的程序入口方法:
public static void main(String[] args){
}

5.public类名必须跟java文件同名,且一个java文件中只能包括一个public类。

6.java注释:
// 单行注释
/* */ 多行注释(不能嵌套)
//* */ 文档说明注释

7.合法标识符:
可以以字母、下划线"_"和"$"符开头,跟字母、下划线"_"和"$"或数字组成。不能和java语言的关键字重名。

8.关键字
java中一些赋予特定的含义,并用作专门用途的单词称为关键字。都是小写。

9.java数据类型分为简单类型和引用类型。
简单类型分:数值型(整数类型和浮点类型)、字符型、布尔型。
引用类型分:类、接口、数组,枚举。

数据类型 有效范围(bits)
boolean 1
byte 8
int 32
float 32
char 16
short 16
long 64
double 64

10.布尔类型 boolean b = true;boolean b = false;

11.分支语句(if语句)
格式:
if(true){

}else{

}
或者
if(boolean b){

}else if(boolean b){

}else{

}

12.整数类型
类型 占用存储空间 表数范围
byte 1字节 -128~127
short 2字节 -32768~32767
int 4字节 -2147483648~2147483647(-2^31~2^31-1)
long 8字节 -2^63~2^63-1

13.字符型(占2字节),采用Unicode编码。
格式 : char c = 'a'; char c = 98; char c = '中';
注:用单引号。一个中文可以用一个char表示。特殊字符前加"/"。

14.浮点类型
类型 占用存储空间 表数范围
float 4字节 -3.403E38~3.403E38
double 8字节 -1.798E308~1.798E308

格式:double d = 12 ; float f = 12.5f ;

15.各整型数据类型的转换
简单类型除了boolean类型外,其他的数据类型可以自动转换成其他数据类型。
但需遵循一下原则:
byte——>short——>int——>long--->float——>double
char——>int
int------------>float
long------------->double

16.运算符
注意优先级,多用括号。
int x=4/5*5;
x=0而不等于4;

17.关系和布尔运算符
关系运算符:== (等于)、!= (不等于)、>(大于) 、<(小于) 、>=(大于等于) 、<=(小于等于)
逻辑运算符:!(逻辑非) 、&(逻辑与) 、|(逻辑或) 、^(逻辑异或) 、&&(短路与) 、||(短路或)

18.三目条件运算符
语法格式:x?y:z
先计算x的值,若为true,则结果为y,否则结果为z。

19.位运算符
~(取反)
&(按位与)
|(按位或)
^(按位异或)

~01001111 = 10110000
11001011 & 01101101 = 01001001
11001011 | 01101101 = 11101111
11001011 ^ 01101101 = 10100110

20.移位运算符
>> :右移运算符,将左操作数向右移动,移位个数由右操作数决定(右移一位相当与除2)。
<< :左移运算符,将左操作数向左移动,移位个数由右操作数决定(左移一位相当与乘2)。
>>> :无符号右移位运算符。

4 = 0100; 4 >> 1 = 0010;
4 >> 1 = 2; 12 >> 2 = 3; 5 >> 1 = 2; -4 >> 1 = -2;
4 << 1 = 8; 4 << 2 = 16; -3 << 1 = -6;
8 >>> 1 = 4; -4 >>> 1 = 2147473646;

21.赋值运算符
最常用的赋值运算符:“=”
扩展赋值运算符:“+= 、-= 、*= 、/= 、%= 、^= 、&= 、|= 、>>= 、<<= 、>>>=”

int i = 5;
i += 5; 即 i = i+5;
i -= 2; 即 i = i-2;
(其他同理)

double d1 = 5.0;
float f1 = (float)d1;
byte b1 = (byte)350; 结果:b1=94;
(从大到小,需要强制转型。强制转型时可能丢失数据)

22.字符串连接符“+”
当“+”用在表达式中的时候,如果其中一个操作数是String类型,则Java自动将另一个操作数也转换成String类型,然后连接成一个新的字符串。
int b1 = 2;
int b2 = 3;
String s1 = "s" + b1 + b2;
s1 = s23; 而不是s5; 如果想得到s5,则可以用"s" + (b1 + b2)
String s2 = b1 + b2 + "s";
s2 = 5s; 如果想得到23s,则可以用 "" + b1 + b2 + "s" 在前面加一个空字符串

23.表达式
表达式是运算符和操作数的结合(一个变量、一个数也是表达式)。

-表达式中运算符的结合性
在Java中,大部分运算是从左到右结合的,只有单目、赋值、条件运算符例外。

-表达式中运算符的优先顺序
(最高)分隔符: . [] () , ;
(第2)单目运算符: + 、- 、~ 、! 、++ 、--
(第3)创建或类型转换: New(type)expr
(4)乘除法: * 、/ 、%
(5)加减法: + 、-
(6)移位: << 、>> 、>>>
(7)关系: < 、<= 、>= 、>
(8)等价: == 、!=
(9)按位与: &
(10)按位异或: ^
(11)按位或: |
(12)条件与: &&
(13)条件或: ||
(14)条件: ?:
(15)赋值: =
注意:平时用时不能依赖优先级的高低,需要先运算的一律用"()"括号括起来。

24.分支语句
if-else 语句
switch 语句

switch语句格式:
switch(expr1){
case constant1:
statements;
break;
case constant2:
statements;
break;
......
default:
statements;
break;
}

注:switch(expr1)中的expr1和case constatnt1:中的constatnt1,只能是int类型或能转换成int类型的。如:char short byte

25.循环语句
-for
-do/while
-while

while语句格式:
int i=0
while(i<10){
System.out.println("i=" + i);
i++;
}

注:while(b)中的b必须是boolean类型的,即true或者false。

for语句格式:
for(int i=0; i<10; i++){
System.out.println("for循环~i="+i);
}
注:i的生命周期,在for循环里面。

do/while语句格式:
int i=0
do{
System.out.println("i=" + i);
i++;
}while(i<10);
注:while语句和do/while语句的区别是先判断还是先做。当一开始条件就不满足的情况下,do/while语句会执行一次循环体中的代码,而while语句不会执行。

-break/continue语句
break语句是完全跳出循环。
循环中有break时,只跳出离它最近的循环。
for(int i=1; i<100; i++){
if(i==50){
break;
}
}
上面的循环,当i==50时,循环就结束了。

continue语句用来略过循环中剩下的语句,开始下一个循环。
int sum = 0;
for(int i=1; i<100; i++){
if((i%2)==0){
continue;
}
sum +=i;
}
上面的循环,当i是偶数时,跳出本次循环。即sum+=i不会执行,直接进行下一次循环。

26.静态方法调用

public class TestStaticMethod{

public static void main(String[] args){

System.out.println("========");

hello(); //直接调用

TestStaticMethod.hello(); //用类名+点+方法名的方法来调用
System.out.println("========");

int x = 5;

TestStaticMethod.printHello(x); //带参数方法的调用,调用时必须给出一个和参数相同类型的值。

int z = 10;

int result = TestStaticMethod.multy(z); //带参数,有返回值的方法调用。如要得到返回值时,需定义一个同类型的变量来接收方法的返回值。

System.out.println(result);

}

//无返回值,无参数方法
public static void hello(){

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

//无返回值,有参数的方法
public static void printHello(int n){

for(int i = 0; i < n; i++){

System.out.println("hello..." + i);
}

}

//有返回值,有参数的方法。需返回一个同类型的值。
public static int multy(int y){

int r = y * 2;
return r;

}

}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: