技术贴 以下是我个人觉得需要特别记住的知识: 1.java可以跨平台,jvm不行 2.jvm<jre<jdk 3.组成的关键字字母全部小写(常见的代码编辑器,对关键字有特殊颜色) 4.标识符不能以数字开头,不能是java中的关键字,区分大小写 5.字符里面只能单个字符包括空格 6.byte范围是-128-127 7.如果想要表示long类型的数,要在值得后面加L或者l,建议加L.....如果想要表示float类型的数,要在值得后面加F或者f,建议加F 8.变量在使用之前必须赋值,变量只在它的作用范围内有效,在同一行可以定义多个变量 9.byte,short,char在运算的时候会自动转成int类型,如果数据类型从小到大会隐式转换 10.建议数据做运算,结果是什么类型,就用什么类型接受,否则会损失精度 11.eclipse注释快捷键:单行: 选中内容ctrl+/,再来一次就是取消注释 多行: 选中内容,ctrl+shift+/,取消注释ctrl+shift+\ 12.eclipse格式化:ctrl+shift+f 或者 右键--sourse-format 13.整数相除之能呢个得到整数,要想得到小数,就必须有浮点数参与运算 14.取余% a/b a是被除数 b是除数 a/b的结果是商 被除数-商*除数 = 余数 15.字符记住三个 'A'=65 'a'=97 '0'= 48 16. if后面大括号可以省略,else也可以省略,else if 也可以,但是只有在语句体只有一行的时候 强烈建议:永远不要省略 17.if语句中的如果有else,肯定是在最后 18.如果是一个if语句,是带了else语句的,无论有几个或者没有else if.最终只会执行一个语句体,但是如果没有带else,有可能一个语句都不执行 19.switch语句中,如果没有break,会出现穿透现象,不会看后面case中的值,运行下一个语句体直到遇到break 20.default:所有的值都不匹配的时候,或者穿透到default,就执行default 21. file:///C:\Users\WBM\AppData\Local\Temp\ksohtml\wps7707.tmp.jpg 顺序:1-2(t)--4--5(t)--7--6--5(f)--8--3--2(f) 22.do..while至少执行一次循环体 23.for循环结束后,初始化变量会被释放不能在使用,而while可以 24.break只能在switch语句中或循环中,在别的情况下没有意义,contiue只能在循环中 25.break和continue的区别是,退出当前循环用break,退出本次循环,想继续循环就用contiue 26.如果要产生一个随机数,范围为[n,m]:nextInt(m-n+1)+n 27.栈存储的是局部变量,局部变量是定义在方法中或方法上的变量,使用完了就会立马回收 28.堆:存储的是new出来的东西,实体,对象,且每个对象都有地址值,且每个对象都有默认值,使用完毕后,待垃圾回收器空闲的时候回收 29.常量null是可以赋值给引用类型的 30.二维数组: 数据类型[][] 数组名 = new 数据类型[m][n]; m表示的是二维数组中一维数组的个数 n表示的是一位数组中的元素的个数 31.写方法的时候一定要先有两个明确,1.返回值类型:明确功能结果的数据类型2.参数列表:明确有几个参数,以及参数的数据模型 32.void修饰的方法只能单独调用 33.判断参数列表是否相同的小技巧:把方法每个参数的数据类型拼接在一起组成一个字符串.然后比较两个字符串相同,如果相同,就是参数列表相同,否则,不同. 34.在方法重载里,调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法 35.如果参数是引用数据类型(比如数组):形式参数直接影响实际参数 36.在eclipse中,可以先写出方法的调用,鼠标移到方法名上,点击create method,即可立即生成方法框架 37.new出来的东西都是在堆里 38.被private修饰的成员只在本类中才能访问 39.局部变量必须初始化,而成员变量在堆里所以有初始值 40.==在引用数据类型中判断是比较引用数据类型的地址值是否相同 41.String的任意成员方法都不会改变这个字符串对象本身 42.+=拼接字符串耗内存原因:每次拼接都会产生新的字符串对象,而StringBuilder来拼接字符串自始自终使用的都是同一个StringBuilder容器 43.字符串的内容是存储在方法区的常量池里面的. 44.字符串相加,先拼接后赋值 45.变量相加,先开空间在赋值
|