------- android培训java培训、期待与您交流! ----------
下面是自己以前学习java时候做的笔记,做一下整理放上来,便与知识的回顾。
1、 关于断点以及debug
F5:step into
F6:step over
F7:step return
Dropto frame:跳到当前方法的第一行
Resume:跳到下一个断点(如何没有下一个则运行完整个程序)
Watch:选中变量或表达式右键可以观察当前表达式的值
断点注意问题:
断点调试完成后,要在breakpoint视图中清除所有断点
断点调试完成后,一定要记得结束运行断点的jvm
2、 myeclipse的常用快捷键
alt+/ 自动补全
ctrl+1快速修复
ctrl+shirt+o 导包
ctrl+shirt+f 自动排版
alt+方向键 回到上次来的,方向键像左的话回到上一步、像右的话这退回下一步
ctrl+shirt+/ 多行注释
ctrl+/ 单行注释
F2 查看方法注释,查看方法的细节按一下F2获得焦点
重置透视图 windows里面的
Ctrl+shirt+x 更改为大写
Ctrl+shirt+y 更改为小写
Ctrl+alt+向下键 复制行
Ctrl+t 查看类的继承关系
Alt+向上、向下 可以移动两行的位置
查看源代码 ctrl+鼠标
Ctrl+shirt+t查看源代码
Ctrl+shirt+L 可以查看eclipse的所有快捷键是什么
3、 Junit测试
在测试程序中添加注释@Test
每个测试前面加上before方法,结束的时候加上after方法
@Before
Publicvoid before() 方法主要是初始化一些东西
After主要是销毁对象
还有BeforeClass和AfterClass注意before和beforeClass的区别
Before测试每个方法的时候都会执行before和after方法,而beforeClass则一个测试类只会执行一次before和after这个方法
Assert.assertEquals(“1”,p.run());后面是实际的值,前面是希望的值,如果期望的值和实际的值不一样的话则测试不通过
一个xml元素可以包含字母、数字以及其它一些可见字符
Xml和html注释的方式都一样采用<!-- à,xml声明之前不能有注释,<![CDATA[内容]]>对于一些内容不希望搜索引擎解析的话,可以放在CDATA里面。
4、win7里面进入命令行的快捷键 微软键+R
dir显示目录
md 创建文件夹
rd 删除目录
cd 进入某个目录
cd..往前面回退一层一层的
cd\直接退入根目录
cdabc\op
echohaha>1.txt创建1.txt内容为哈哈的文件
del1.txt删除文件,注意dos里面删除文件回收站里面没有
在dos里面删除文件夹必须保证文件夹是空的
可以直接删除目录
delop
del*.txt 删除目录下面所有txt的文件
exit退出dos命令行
JVM正是有了Java虚拟机的存在所在Java才可以不同的系统上运行,不同的操作系统都可以用Java程序但是注意不同系统的JVM不同.
JRE包括JVM(Java Virtual Machine)和Java所需的核心类,如果想运行一个开发好
的Java程序,计算机只需要安装JRE即可。
JDk是提供给Java开发人员使用的,其中包含了java的开发工具也包含了JRE
开发工具;编译工具(javac.exe)打包工具(jar.exe)
JDK中有bin目录里面好多exe文件,bin是二进制的缩写,Java安装过了以后可以直接把JDK安装过的拷过去也是一样的
在dos命令行里面可以用* 比如cd Program*
在命令行里面执行Java程序,不配置环境变量也可以但是要进入JDK安装的
Bin目录里面执行javac
配置环境变量的时候有可能路径会变
所以把bin前面的路径拿出来放在一个定义的比如:haha=e:\jdk6.0
%haha%\bin放在path里面
在java中常用的是新建JAVA_HOME e:\jdk6.0
然后%JAVA_HOME%/bin
临时配置方式,通过dos命令来配置
C:\setpath可以看见路径通过这种配置只对当前窗口有效
C:\setpath- e:\jdk6.0把jdk的目录临时指定环境变量
通过命令start开启一个窗口则延续原来的临时设置的
如何让.class文件不论在什么地方都可以执行,可以通过设置环境变量的方法
setclasspath-D:\Java0217\day01
这个临时配置以后无论在哪个目录下面都可以执行Java0217\day01这个文件夹下面的文件了 比如:javac demo
setclasspath-这个是对临死环境变量的清空
注意:多行注释当中不能有多行注释
写代码的时候要注意注释,看不懂代码的时候也要注释类上面加的都是文档注释,方法上面一般加的也是文档注释,单行注释一般写在某几句比较难理解的上面注释不要写的太多
标识符在程序中定义的一些名称,有26个英文字母大小写,数字:0-9符号,_$组成,定义标识符的规则:1、不能由数字开头
2、不能使用关键字
在java中标识符的起名最好有意义
Main不是关键字但是能被java虚拟机识别
Java中的名称规范
包名:多单词组成是所有字母都小写
类名和接口名:多单词组成时,所有单词的首字母大写。
变量名和函数名:多单词组成时,第一个单词字母小写,第二个单词开始每个单词字母都大写
常量名:所有字母都大写,多单词时每个单词用下划线连接
写代码的规则:先写注释,后写代码
负数的二进制的最高位是1,正数的二进制的最高位是0
变量:就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
小数要是没加f都表示是double类型的
注意char类型的时候都加单引号
Java对大小写敏感
Int4字节(正好超过20亿)
Short2字节 long8字节 byte 1字节(-128-127)
Float占4字节 double8字节,double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值),绝大部分应用程序采用double类型
除掉正常的数据以外还有三种用于表示溢出和出错情况的三个特殊的浮点数值:正无穷大、负无穷大、NaN(不是一个数字)
注释:Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY和
Double.NaN分别表示这三个特殊的值,但是在实际应用中很少遇到。不能这样检测一个特定值是否等于Double.NaN:
If(x==Double.NaN)所有非数值的值都认为是不相同的,然而,可以使用Double.isNan方法:if(Double.isNaN(x))
浮点数值不适用于禁止出现四舍五入的金融计算中。例如:System.out.println(2.0-1.1)将打印出0.8999999999999999,而不是人们想象的0.9,其主要原因是浮点数值采用二级制系统表示,而在二进制系统中无法精确的表示分数1/10,这就好像十进制无法精确表示1/3一样,如果需要在数值计算中不含有任何舍入误差,就应该使用BigDecimal类。
在Java中,char类型用UTF-16编码描述一个代码单元,所以最好不要在程序中使用char类型
在Java中if(x=0)这种如果x是布尔类型的话就不能通过编译,Java中不能把false当做0而把true当成1来用这样不能通过编译
可以在一行中声明多个变量,例如:int i,j;不过不提倡使用这种风格,逐一声明变量可以提高程序的可读性。变量名对大小写敏感
在Java中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。
在Java中,利用final声明常量,关键字final表示这个变量只能被赋值一次,一旦被赋值之后,就不能够再更改了,习惯上,常量名使用大写。
在Java中,经常希望某个常量可以再一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字static final设置一个类常量。
注意,整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大火NaN结果
Intm=7;
Intn=7;
Inta=2*++m; //a=16,m=8
Intb=2*n++ //b=14,n=8
三元运算符:x<y?x:y当条件为真时计算第一个表达式,否则计算第2个表达式
不要在boolean类型与任何数值类型之间进行强制类型转换,这样可以防止方式错误,只有极少数的情况下才需要将布尔类型转换为数值类型,这时可以使用条件表达式b?1:0
运算符优先级:从右往左计算的有:
[].() (方法调用)
! -++ -- + - ()(强制类型转换)
?:
=+= -= *= /= %= |= ^= <<= >>= >>>=
“Hello”.equals(greeting)要想检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法
一定不能使用==运算符检测两个字符串是否相等,这个运算符只能确定两个字符串是否放置在同一个位置上。当然,如何字符串放置在同一个位置上,他们必然相等,但是完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上面,如果虚拟机始终将相同的字符串共享,就可可以使用==运算符检测是否相等。但实际上只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的,因此,千万不要使用==运算符测试字符串的相等性
要想获得一个字符串中的某个字符可以使用greeting.chaAt(n);n介于0-s.length()-1之间。
取模(%)运算的时候符号只看左边,如果左边的小于右边则为左边的值,如何左边的等于右边的则为0
转义字符:通过\来转变后面字母或者符号的含义
\n:换行
\b:退格相当于backspace
\r:按下回车键 win中回车符是由两个字符来表示\r,\n
\t:制表符相当于table
如何打印带双引号的hello world
“\”hello\””这就是带双引号的hello
如何打印两端都有双斜线的hello : \\hello\\
Shorts=4;
S=s+4;这个会编译失败
S+=4这个不会报错这个,这个只做赋值运算,内部有自动提升类型
^异或的符号
3<<2=12这样先把3变成32位的2进制然后后面的2位以0填充
6>>2=16>>1=3左移变大右移变小
3<<1=63<<2=12 3<<3=24等效于3*(2*2)
>>也叫带符号右移,如果右移的时候最高位为1的话则补1否则补0
>>>则最高位拿0补
最有效的方式2*8为多少?
2<<3
对两个整数变量进行互换?
方法一:通过第三个变量
intn=3,m=8;
inttemp;
temp=n;
n=m;
m=temp;
第二种方法:n=m+n
m=n-m;
n=n-m;这种方法有局限性就是int有范围,如果超出范围的话会损失精度
第三种方法:n=n^m;
m=n^m;
n=n^m实际开发中用第一种
如果if后面没有大括号的话if就控制离他最近的一条语句
Ifelse结构简写:变量=(条件表达式)?表达式1:表达式2
三元运算符:好处:可以简化if else代码
弊端:因为是一个运算符,所以运算必须要有一个结果
注意能够简化的东西一般都是有弊端的
If相当于判断题,而switch相当于选择题:
Switch()
{
Case 取值1;
执行语句;
Break;
}
Switch的特点:1、x只接受4种值int shortbyte char
2、在switch中各种case之间是没有排列顺序的不过先读case最后才读default
3、switch有两种结束方式一种执行到大括号,一种执行break;
如果没有break则把能执行的都执行了知道遇到break或者大括号结束
对具体4种类型数值进行判断的时候数值也不多的话用if和switch都可以的话用switch执行,否则用if来则行
JDK7.0中switch能够判断String类型的了
While和if的区别: int x=1
if(x<3)则执行一次而while(x<3)则执行无数次
while和do while的区别while先判断条件,只有条件满足才执行循环体,do while先执行循环体,再判断条件,条件满足再继续执行循环体,注意dowhile中while后面需要加分号
如果变量只为控制循环的次数的话那么最好用for这样变量用完了释放
Intx=1
For(System.out.println(“a”);x<3;System.out.println(“c”)){
System.out.println(“d”);
X++
}输出结果为adcdc
For循环里面操作表达式可以写好几个中间用逗号分开
无限循环的最简单表现形式
For(;;){}
While(true){}
Break(跳出),continue(继续)
Break语句:应用范围:选择结构和循环结构,只要程序遇到break就跳出当前循环
Continue语句:应用于循环结构
q:for(inti=0;i<4;i++){
breakq;
}q这个标识符可以做完跳出的依据
函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。
重载在同一个类中容许一个以上的同名函数,只要它们的参数个数或者参数类型不同即可.重载和参数列表有关系,重载于返回值类型无关