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;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
相关文章推荐
- java基础技术知识点总结——运算符
- Java开发小知识点总结
- Core Java第三章知识点总结——程序的流程控制
- Java面试知识点总结
- java异常知识点总结
- Java面试知识点总结(1)
- Java反射知识点总结
- 黑马程序员 知识点总结-Java多线程
- Java多线程-知识点总结
- java基础知识点总结
- Core Java第四章知识点总结——函数
- 牛客网刷题知识点总结(七)java框架
- Java线程池知识点总结
- 黑马程序员——JAVA 面向对象知识点总结(三)
- Java进阶之JDBC知识点总结
- java学习第一节知识点总结(配置环境等)
- Java IO知识点总结三(字符流)
- java知识点总结
- Java基础总结之各个模块重要知识点
- java泛型知识点总结