java基础学习-前五天总结

来源:互联网 发布:麦点商城 知乎 编辑:程序博客网 时间:2024/05/21 08:42
1、设置path:可以在任何目录下使用java命令,javac编译java源程序为2进制码文件,java:运行java2进制码文件。  
   设置classpath:启动jvm(java虚拟机),加载关联(classpath范围)的class文件。
2、jvm(java虚拟机)
   堆区:对象
   栈区:放置方法中的局部变量信息
   方法区:类信息,方法定义信息,静态成员信息
3、局部变量在使用前一定要初始化,成员变量可以不
4、取模的运算的符号是由被除数(第一个数)决定的
5、++或者--只能对变量使用,++a正确,++(a+1)错误
6、判断是否属于某个类的实例,返回true或false。 对象或者对象指向的变量 instanceof 类名
7、赋值常量,正确 byte b1;b1=3+4;
8、可以把一个整形赋值给一个字符类型的变量,以为在内存中存取字符用Ascii来存取char c3=23;正确
   char类型在一起运算也是整形int,可以强转为char
9、+除了可以作为算数运算符之外,还可以作为字符串连接符来使用
    System.out.println(5+5+"--a--"+5+5); 结果 10--a--55
10、优先级从低到高 byte-short-int-long-float-double-String
           char-int-long-float-double-String
11、赋值号“=”的优先级是最低的
12、>,<,>=,<=优先级相同的,==,!=优先级是相同的,但他们低于前面四种
13、非短路与&,短路与&&,Boolean=
14、^相同就为false,不同就是true,!求非,是算术运算符中优先级最高
    由高到低,!求非-》算术运算符(+-*/)-》比较运算符(><)-》逻辑运算符(||&&)-》赋值运算符(=)
15、位运算符
16、一个值与同一个数异或两次,不变,10^3^3=10;
17、进制转换,都是Integer类的方法。
18、switch支持的数据类型:byte,short,char,int,enum(jdk1.6之后支持),String(jdk1.7之后支持)
19、switch语句中,如果defalut放在最前面,那么后面的的case语句不比较,只会在碰到第一个break语句停止
20、switch(a){case b:} a可以为表达式,b只能是byte,short,char,int,enum,String类型数据
21、return强制方法结束,break在多分支语句中使用,强行停止;
22、for循环中的三个表达式都是可以省略的
23、break跳出2层循环方法1、设置一个flag=false;2、break加语句标号 for上面写 laber1:,在for语句中写break laber1;“continue laber”用法与break相同
24、break只能用在for,doWhile,While,switch中,return:用在跳出方法
25、方法:修饰符+返回类型+函数名+参数列表+方法体,方法的重载:1、同一个类中,方法名相同 2、参数个数与参数类型不同(返回类型必须一样)
26、方法的重载可以调用参数少的方法,但参数列表里的类型必须一致
27、强制类型转换(int)2.7,不同类型转换:Integer。parseInt()
28、实参:1、在方法的调用处2、有确定值,传递给形式参数.
    形参:是方法的参数,没调用没有值
29、方法(不是数组)调用的时候传递的是值value
30、java中一个方法要传出两个数,只能传数组,还可以是集合
31、操作一个数的,一元运算符-,!等,二元运算符(操作两个数),三元运算符(三个)?:
    一元、三元、赋值运算符是右结合性,其他是左结合性
    +=,%=,-=,*=是复合赋值运算符,是右结合
32.char n='';是错误的,必须最少来个空格,char n='\t';正确,\t是转义字符
33、数组是1、一块连续的内存空间,2、数组的每一个空间都要有一个编号,3、数组有长度,最大编号是长度-1
34、数组定义:int[] arr=new int[5];未赋值之前,数组里面都是0; return数组:return int arr[]{1,2}; 
35、如果打印数组名,会出现一个哈希值,是通过哈希算法算出来的内存地址
36、int hh=5; int arr[]=new int[hh];正确;  int arr[]=new int[0];可以,有实际作用。;
    int arr[]=new int[-1];能编译,但是求长度时运行报错 
37、数组第二种申明方法 int[] arr={11,12}; int[] arr=new int[]{11,12};更全面的 第二个[]不能加长度. int[] arr=new int[2]{11,12}错误
38、char类型数组默认为‘ ’,Boolean默认为false,int默认为0,String类型默认为null
39、数组名叫数组的引用,数组名放在栈内.arr[0]数组的实体,在堆内存中.
    栈中的内容在方法结束后立马结束,但是堆内存中的内容不一定立即被清除,由垃圾回收器解决
40,数组名放在栈内存中,但是他的内容 arr[1]arr[2]放在堆内存中
41、空指针异常,由于int[] arr=null;没有给数组实体,arr[0]会出现空指针异常。int[] arr={};申明数组正确
42、int[] a=null; 判断数组是否为空if(a==null);
43、相位与(&)1、俩个是1才是1。2、任何位与1相与都是原来的数(留位)3、任何位与0相与,都是0(清零),“|”也有相似性质
44、^异或,1、任何位与0异或,是原来的数(留位),2、任何位与1相异是取反 i^j^j=i;
45、选择排序,第一个与后面所有的比较,大的放第一个,是(i与j比较)
    冒泡排序,相邻两个比较(是j与j+1比较)
46、while((len=fr.read(buf))!=-1)         
   while((len = fr.read(buf)) != -1){  
                fw.write(buf, 0, len);
47、文件剪切.
48、明天整理前几天的面试题
49、File.separator是"\"符号
50、bufw.flush();使用缓冲区的刷新方法将数据刷目的地中
51、几种排序方法内部的swap方法集成?是个问题
52、double与int的比较,会把int类型转换成double类型
52、1、switch中跳出循环立即进入下一次的循环用continue
    2、switch(i)中的要与c的范围一致,不然可能多出一个0,直接进入输出结果
     break语句的使用:
     该语句只能在switch和循环(for,while,do.while)中使用,
     其他地方不可以使用
     1.在switch中使用,表示跳出当前所在的switch
     2.在循环中使用表示跳出当前所在的循环
     continue语句使用规范:
     该语句只能在循环中使用,表示结束本次循环,进行下一次循环
53、main函数能够直接调用同一个包中的另外一类的方法,但是这个方法必须是静态方法。
    如果不是static方法,可以通过new一个累的实例去调用也行。
54、两个byte类型相加需要得到的是int类型
55、两个Integer.toString(part1,part2),par1表示要转成字符串的数字,par2表示要转成的进制表示,如(10,2)等于1010
0 0
原创粉丝点击