JAVA语言概述

来源:互联网 发布:下载ai软件 编辑:程序博客网 时间:2024/06/03 11:54

该博文是以下资料的学习笔记:

传智播客Java基础视频

该博文仅为个人学习使用,谢谢



GUI:

dos常用命令:

set:列出当前所有环境变量

set path:查看path

set path=temp:这种方式只在当前dos窗口有效,窗口关闭即失效,用于临时设置环境变量

set path=:如果=后边什么都不写的话,就是删除path的值

set path=temp;%path%:在已有环境变量基础之上增加新的值

set classpath=c:/myclass:临时设置class类文件路径变量,以保证在任意目录下都能执行指定的class文件

set classpath=c:/myclass;:如果后边加了分号,则jvm首先在指定的目录下寻找class文件,找不到再到当前目录下寻找

cls:清屏

bin目录下的常用工具:


Java关键字:

Java书写规范:

标识符及规范:


注释:

单行,多行,文档注释,三种

文档注释中的内容能够被javadoc工具提取

多行注释不能相互嵌套

注释不会被编译进class文件中


常量与变量:

Java中常量的分类:整数、小数、布尔、字符、字符串和null常量(是一个特殊的常量)


整数的四种表现形式:二进制、八进制、十进制和十六进制

进制的相互转换

一个二进制数是正数还是负数的判断


Java中的数据类型:

自动类型提升、强制类型转换

强制类型转换过程中,导致的精度损失,如:

byte b = 3;

b = (byte)(b+200);

b的结果?


特殊:System.out.print('a'+1);由此引申出Java语言中涉及到的码表

byte b = 3;
byte b1 = 1;
byte b2 = 12;
b = b1+b2;

int b = 3;
int b1 = 1;
int b2 = 12;
b = b1+b2;

上述两段代码的区别?



int x = 5690;

x = x/1000*1000;

x的值是多少?


运算符:

负数的模运算:-5%2  值为 -1,5%-2值为1,有负数进行模运算时,值的正负参考被模数   


++a和a++的区别?

int a = 3,b;

b=a++;

b=++a;



short s = 3;

s+=4;

s = s+4;

上述两句语句的区别?s+=4;这句话会自动做强制类型转换操作


Java中的运算符:

比较运算符,比较特殊的是instanceof

逻辑运算符的作用是连接两个Boolean类型的表达式

异或^:两边相同,结果为false,两边不相同,结果为true

&&:运算结果和&一致,运算过程不同,&两边都参与运算,&&只要左边为false,右边就不再参与运算

||:和&&相似


位运算符:

&,|,^,即可连接boolean型表达式,也可作为位运算符进行位运算

一个数异或同一个数两次,还是这个数:

可用于两个数的换位运算(三种方式)

~:反码运算  ~6 = -7

<<:左移几位就是乘以2的几次幂

>>:右移几位就是除以2的几次幂,对于高位出现的空位,原来是什么数就用什么补

>>>:无符号右移,高位出现的空位总是用0补


程序流程控制:

判断结构

选择结构

switch语句只能对下列类型的数据 进行判断:byte、short、int、char,Java5.0增加了枚举类型,Java7.0增加了字符串类型

switch当中的break没有写的情况下,程序执行的顺序:

switch语句多个条件对应同样的操作结果时,可以:

case 3:

case 4:

case 5:

//执行语句

break;

if语句和switch 语句的选择:



循环结构

while循环和do while循环,for循环

for循环中,当初始化表达式或循环后的操作表达式有多个时,用逗号隔开,循环条件表达式必须能计算出boolean型的值


for和while循环的特点和区别:

1、实现的功能可互换

2、如果一个变量仅仅只是用来控制循环的条件,那么,使用for循环可以缩小变量的作用域,循环结束,变量即从内存中释放


其他的流程控制语句:break、continue

break:跳出所在的当前循环,作用域为switch或者循环语句

for(int x = 0;x<4;x++){
break;
System.out.println("\\abc\\");
}

System.out.println("\\abc\\");为Unreachable code,编译失败,当break下边放语句时,要避免Unreachable code错误

如果break处于嵌套循环中,想要跳出指定的循环,可以为循环指定唯一的标识符,如:

hwgt:for(int x = 0;x<4;x++){
for(int y = 0;y<6;y++){
System.out.println("\\abc\\");
break hwgt;
}
}

上述的break跳出的是最外圈的for循环


continue:作用范围是循环结构中

for(int x = 1;x < 4;x++){
continue;
System.out.println("abc");
}

上述语句,编译失败,System.out.println("abc");是Unreachable code

for(int x = 1;x < 4;x++){
if(x%2!=0)
continue;
System.out.println("abc");
}

continue在上述代码中的作用是:结束本次循环,继续下次循环

hwgt:for(int x = 0;x<4;x++){
for(int y = 0;y<6;y++){
System.out.println("x="+x);
continue hwgt;
}
}

continue也和break一样,可以通过标识符跳出指定的循环并继续下次循环,上述代码的执行结果是:

x=0
x=1
x=2
x=3



局部代码块:{

//变量的作用区间

}

为了节省内存空间,尽量缩短变量的作用空间



转义字符:

\n:回车换行

\t:制表符

\b:退格

\r:回车

\":将双引号进行转义

\\:将反斜杠进行转义

不同操作系统中,回车键是不同的,Windows中,回车由\r\n表示,在Linux中就是\n。

打印带有引号的abc:System.out.println("\"abc\"");

System.out.println("\abc\");这种写法是错误的,非法转义,

如果想打印\abc\:System.out.println("\\abc\\");



函数:不能在函数中定义函数


private static char getLevel(int i) {char level;if(i<100){level = 'B';}else{level = 'A';}return level;}
这种方式没问题,但是下列写法就有问题:

private static char getLevel(int i) {char level;if(i<100){level = 'B';}else if(i>=100){level = 'A';}return level;}
错误提示:The local variable level may not have been initialized


函数的重载overload:同一个类中,同名,参数类型或者参数个数不同,与返回值无关



0 0
原创粉丝点击