----------- android培训、java培训、期待与您交流! ------------
1、Java虚拟机(JVM : Java Virtual Machine)
JRE: Java运行时环境(Java Runtime Environment)
JDK: Java开发工具包(Java Development Kit)
2、dos窗口常见操作命令:
dir:列出当前目录中的所有文件(包括文件夹)
md:创建目录rd:删除空目录
cd/:返回根目录cd..:返回上一级目录cd (+directory):进入指定目录
echo:创建文件del:删除文件,也可用作删除一个文件夹下面的所有文件
exit:退出dos命令窗口cls:清屏
3、在dos窗口中配置临时系统变量:
使用set path可查看当前的系统变量
使用set path + directory 可配置临时系统变量,如果只是需要在原有设置接触上再添加路径可用set path = newDirectory;%path%即可
4,、在dos窗口中配置临时环境变量:
set classpath = c:\ ;如果加上“ ; ” 的话,如果在环境变量配置路径中无法查找到文件,则会在当前目录下再找一次,即先查找环境变量,在查找当前目录。
而在设置path路径时,在路径末尾加上“ ; ”的话,查找顺序则刚好相反。
5、Java中元素命名规则:
包名:通常要求组成单词全小写:xxxyyyzzz
类名、接口名:通常由多个单词构成,且每个单词首字母都要大写:XxxYyyZzz
变量名、函数名:通常要求第一个单词所有字母小写,从第二个单词开始,每个单词首字母都大写:xxxYyyZzz
常量名:通常要求所有字母都大写:XXXYYYZZZ ,多个单词通常用“_”隔开
6、Java中基本数据类型:(由于博客保存不了格式,显得杂乱,只好从记事本里整好后上传图片了)
7、逻辑运算符:用来连接boolean类型的表达式
&:AND 与|:OR 或!:Not 非^:XOR 异或(“相同为假,不同为真”)(一个数a异或另一个数b两次,结果仍然是那个数a)
&&:AND 短路,如果&&左边的逻辑表达式为false,则不需要判断右边的,整个表达式结果为false
||:OR 短路,如果||左边的逻辑表达式为true,则不需要判断右边的,整个表达式结果为true
8、两个整数a,b进行逻辑运算,其实质都是现将a,b转化成2进制形式,在对对应的位进行相关的逻辑运算,最后得出结果。
9、三元运算符可以简化if...esle代码,但是既然是运算符,运算完就一定要有一个结果,而if...else则可以不需要结果。
10、对for循环,如果没有条件表达式,则此循环的条件默认为真,进行无限循环,形式为:for(;;){ },功能和while(true){ } 相同。
11、break的应用范围:循环结构或选择结构(switch)中,用于直接跳出循环。
continue的应用范围:循环结构中,用于跳过此次循环,继续进行下一次循环。
12、static型函数只能调用static型函数,因为static是随着类的加载而加载的,在调用static型函数时,其所属的类的对象可以不存在。
13、函数的重载只与参数列表中参数的个数,参数类型和参数顺序有关,与函数返回值类型无关。
如果两个函数的参数列表完全相同,但函数返回值不同,那么这两个函数明显就不能存在于同一个类中,切记。
14、内存结构:
栈内存区:存储局部变量,空间中数据使用完后会自动释放
堆内存区:存储用new建立的实例对象,每个实体都有堆内存地址值,实体中的变量都有默认初始值,实体不再使用时,会在不确定的时间内被垃圾回收器回收。
方法区:本地方法区,寄存器
15、没有初始化的引用数据类型其默认初始值为null。
16、switch语句格式(本人曾经用错,记下备用):
switch(int x)// 只接受 :byte(取值范围:-128~127) short int char 四种基本数据类型,外加enum引用数据类型。
{
case 1 : .............................; break;
case 2 : .............................; break;
............................................................
default: ..............................;//这里的break可以省略,因为default总是最后执行的,当然也可能执行不到它.
//default语句在switch中顺序可以变,但执行顺序不会变。
}
17、将一个十进制数num转换为16进制数
方法1:每次通过&15操作,获取num的二进制形式的最低4位,将通过 (char)num-10+‘A’的操作将其转换成十六进制形式,然后将num的二进制形式右移4位,并在此获取最低4位,转换成十六进制形式,如此往复即可。
(同理:将num转换为8进制形式的操作为:&7,然后右移3位,再&7,如此往复)
(同理:将num转换为2进制形式的操作为:&1,然后右移1位,再&1,如此往复)
方法2:在每次获取num最低4位后,通过查表发将其转换为十六进制形式。
(查表法同样适用于8进制转换和2进制转换操作)
方法3:利用系统提供的封装数据类型的函数实现:Integer.toBinaryString();Integer.toHexString();Integer.toOctalString();
注:在方法1和方法2中如果要打印转换后的数,需要定义一个Stringbuilder(StringBuffer也可,一般单线程程序中推荐StringBuider),
用append方法将转换后的每一位存在缓冲区里,最后它的reverse()函数将得到的转换数的正常顺序序列。
也可定义一个数组,从数组末尾开始存放每一位,输出时按正常顺序输出数组即可。
18、交换内存中两个整型变量的位置的方法:
方法1:设置一个中间变量temp,然后。。。。。。(示例如下:)
方法2:利用两数之和不变的规律,然后。。。。。
方法3:利用一个数异或另一个数两次,结果仍然是这个数的原理,然后。。。。。
19、在进行取模运算(&)时,如果左边小于右边,则结果为左边;如果左边等于右边则结果为0;
如果有负数,则总是看被取模数
20、任何数据和字符串数据使用'+'都是相连接,最终都会变成字符串。
例如:System.out.println("1"+2); //输出结果为“12”
21、System.out.println(‘A’+0); 利用了自动类型提升的技巧,输出了字符A对应的ASCII码
22、下面这段代码很好的诠释了for循环的各个部分的执行顺序。执行结果为:adcdc
int x = 1;
for(System.out.println('a'); x<3 ;System.out.println('c');)
{
System.out.println('d');
x++;
}
23、for循环与while循环中循环变量的定义
当定义一个变量仅仅是用于循环技术的话,用for循环比较好。因为,for循环中用于计数的变量随着for循环的结束会从内存中消失,
不会占用内存空间,这在一定程度上可视为一种小优化!
24、几种常见的排序方式:(默认从小到大排序)
冒泡排序:
bubbleSort(int[ ] arr)
{
for(int x=0; x<arr.length-1; x++)
for(int y=0; y<arr.length-x-1; y++)
{
if( arr[y] > arr[y+1] )
swap(arr[y] , arr[y+1);//交换两个数的位置
}
}
选择排序:
SelectSort(int[ ] arr)
{
for( int x=0; x<arr.length-1; x++)
for( int y=x+1; y<arr.length; y++)
{
if( arr[x] > arr[y] )
swap( arr[x] , arr[y] );
}
}
25、在求一个数组中最大值的时候不要将最大值max设为0,因为可能数组中的元素都小于0,这时结果会出错。最好设置一个最大值的数组指针,默认置为0,代表设置目前数组中最大值为第一个元素,然后每次将max跟数组中元素比较后,都将较大值的角标赋给指针,这样就会得到正确的结果。
示例如下:
----------- android培训、java培训、期待与您交流! ------------