JAVA 笔记(二)

  1. Scanner(java.util.Scanner)   nextInt()   nextLine()
  2. 单独else后面 是没有表达式的
  3. 三元都可以用if改,if不一定能用三元改(if是赋值时可用三元,是输出语句的时候就不能用三元)
  4. 当if语句控制的操作是一个输出语句的时候就不能用三元(因为三元运算符控制的是一个运算。操作完毕后就应该有一个结果,而不是一个输出)
  5. If()else if()…….else  首先判断if表达式是true还是false是true就执行语句一,是false就执行语句二(依次进行,并不并列,只能一个)
  6. Switch后面的表达式是有限的,byte,short,int char(枚举 1.5) String(1.7)
  7. Case:后面跟的是要和表达式进行比较的值。Case后面的值只能是常量,不能是变量。
  8. Default的作用是对不正确的情况给出提示(所以不建议省略),可以在任意位置,(建议在最后),不管default在什么位置,都是先走case,再走default.
  9. Case穿透(专业叫法)
  10. Switch运行结束:一是遇到break;二是运行到末尾。
  11. For(初始化语句;判断条件;控制语句){循环体}   循环体语句在控制语句之前执行
  12. 加了分号(for后面)就是表示有一个空语句,其余{}就成了一个代码块.
  13. 定义在循环中的变量只有在所在的大括号内有效
  14. 一个数值每一位数字的获取就是原数除以10的位次方在%十。例子十位x/10%10.百位x/100%10
  15. 变量及早的从内存中消失,可以提高内存的使用效率。所以能定义局部变量就不要定义成全局变量
  16. Do…while循环至少执行一次循环体,而另外两种循环必须先判断条件是否成立,然后决定是否执行循环体语句
  17. 两种死循环:while(true)  for(;;){}
  18. 外循环控制行数,内循环控制列数
  19. ‘\x’ 表示转义‘\t‘表示table ‘\r’回车’\n’换行
  20. Break中断当前循环,并不是所有程序(单层循环)
  21. 要想退出多层循环,就比须使用标签。  标签的格式:  标签名:语句
  22. Return的常用功能是结束一个方法,跳到上层调用的方法。
  23. 实际参数:就是实际参与运算的。形式参数:就是方法定义上的,用于接收实际参数
  24. 方法不调用不执行,主方法是由java虚拟机调用的。
  25. 方法中的参数在使用时不要再定义了(限于在该方法中)。
  26. 方法与方法是平级关系,不能嵌套定义。
  27. 方法调用的时候不用再传递数据类型。
  28. 如果方法有明确的返回值,一定要有return带回一个值。
  29. 方法重载:在同一个类中,方法名相同,参数列表不同(参数个数不同,参数类型不同)与返回值类型无关。
  30. Int[]a 定义一个int类型的数组a变量   int a[]:定义一个int类型的a数组变量。(c#只能用前者,java两种都可以);不管是什么推荐使用第一种,因为第一种才是主流。
  31. 数组的初始化:动态初始化(只是指定长度,由系统给出初始化值)静态初始化(给出初始化值,由系统决定长度);
  32. 数组动态初始化的格式:数据类型[] 数组名=new 数据类型【数组长度】;
  33. 栈中存放的是局部变量(局部变量:在方法定义中或者方法声明上的变量都称为局部变量)堆中:——》(存放的是所有new出来的东西)
  34. 数组的长度数组名加点length(小写)  Arrays.sort()排序。
  35. 堆内存的特点:每一个new出来的东西都有地址值。每个变量都有默认值。使用完毕后就变成了垃圾,但是并没有立即回收,会在垃圾回收器空闲的时候回收。
  36. 栈内存的数据使用玩就释放掉。
  37. 堆内存的两个引用指向同一个堆内存空间,无论是它们谁的操作,都是针对同一个地方。
  38. 数组的静态初始化格式:数据类型【】 数组名=new 数据类型【】{元素1,元素2……..}.简化格式:数据类型【】 数组名={};
  39. 数组静态与动态初始化每次只能有一个,不能重合。
  40. ArrayIndexOutOfBoundsException:数组索引越界 原因:访问了不存在的索引。-------->待续
posted on 2016-03-31 14:20  doAction  阅读(843)  评论(0编辑  收藏  举报