黑马程序员技术交流社区

标题: 基础班重点知识 [打印本页]

作者: 洪涛    时间: 2019-3-9 21:09
标题: 基础班重点知识
基础班, 刚学习几天, 对于这几天的内容我做了复习挪列
写出了一些语句的注意与格式加强记忆 希望能帮到大家
for 循环格式
for(初始化语句;条件判断语句;条件控制语句){
        循环体
}
执行流程:初始化语句-条件判断语句-false 循环结束       
                                                                -true  继续执行-执行循环体-执行条件控制语句再回到判断
                                                               

while 循环语句格式
while(条件判断语句){
        循环体语句;
        条件控制语句;
}
执行流程:初始化语句-条件判断语句-false 循环结束       
                                                                -true  继续执行-执行循环体-执行条件控制语句再回到判断

do whilede 循环语句格式:
do{
        循环体语句;
        条件控制语句;
}while (条件判断语句)
        执行流程:初始化语句-执行循环体-条件控制-条件判断语句-false 循环结束       
                                                                -true  继续执行-执行循环体
//  while 和 for 循环 先判断后执行  do while 先执行一次再判断
//  for 循环和while循环的区别就是 for循环无法使用 自增的变量++ --while循环能使用

死循环 :for(;;){}
                while(true){}
                do{}while(true)
               
循环嵌套: 任何语句都可以看成是一句代码一句代码分支语句中包含的分支语句称为分嵌套 所以可以嵌套

switch  语句:
switch(表达式){
                case 值1:
                 语句体1;
                 // break;
                case 值2:
                 语句体2;
                  break;
                case 值3:
                 语句体3;
                  break;
                  ...
                  
                default:
                  语句体;
                  break;
}
switch语句的注意点:
          1.表达式的内容: byte short int char  枚举  String
          2.case 穿透 如果case语句后面没有跟 break 会继续执行下一个选项的内容 直到遇到第一个 break为止
          3.case语句 顺序没有要求 default 可以任意放置 但是 写上 break ;
          4.case 值 不能重复
          
        switch 语句 和 if..else 扩展格式 区别:
       最大的区别:  switch 效率高 占内存   if...else 效率低 灵活性高        

Random 作用产生一个随机数
1.导宝
  import java.util.Random
  //导包的动作必须出现在类定义的上面
2. 穿件对象
  Random r=new Random();
  // r是变量名可以变 其他都不允许变
3.获取随机数
  int number=r.nextInt(10)//获取的范围为0-9 不包括10 要想获得10 r.nextInt(10)+1;
  
  
数组的定义格式:
格式1:数据类型[] 变量名
列: int[] arr
定义了一个int 类型的数组 数组名是arr

格式2:数据类型 变量名[]
例: int arr[]
定义了一个int 类型的变量,变量名是arr数组

数组的动态和静态
动态初始化只有数组长度,由系统分配初始值
格式:数据类型[]变量名=new 数据类型 [数组长度];
例如: int[] arr=new int[3];

数据静态

              数据类型 [] 数组名 =  new 数据类型[]{元素1,元素2,元素3,...};
           int [] arr = new int[]{1,3,6,7,8,9,0};       

        静态的省略格式:(进行操作的时候 也有new的这个步骤)
            数据类型 [] 数组名 =  {元素1,元素2,元素3,...};   
            int [] arr = {1,2,4,5,6};       

         基本数据类型  4类8种               
          引用数据类型默认值 就是 null       

数组的元素访问
  数组名[索引];
                       
                        arr[0]; //第一个元素
                       
                        索引 元素在数组中的编号 从0开始 切记不是从1开始
                        索引是连续的逐一增加 每次加1
                       
                        系统默认的 根数据类型给相关的默认值
                       
                给数组元素赋值:
         
            数组名[索引] = 数据值;               

数组的访问方式为 先从栈 找到arr地址 再从堆中 找到相应的值
当存在多个数组时 堆内存的值随着 程序运行的顺序 会进行相应的改变                       

数组的遍历
格式 数组名.length 为索引的长度

int[] arr={1,2,3,6,4,6}
for(i=0;i<arr.length;i++){ //索引从0开始
        System.out.println(arr[i]);
}

方法:
方法是将具有独立功能的代码快 组织成为一个整体 使其成为具有特殊功能的代码集
注意:方法必须先创建才可以使用,该过程成为方法定义
方法创建后并不是直接运行的,需要手动后才知晓,该过程称为方法调用

方法的定义格式
public static void 方法名(){
        //方法体
}
例 public static void isEvennumber(){
        //方法体
}
方法的调用
方法名();
例 isEvennumber();

带参数的方法定义:
格式 public static void(参数){...}

单个参数的格式为 public static void 方法名(数据类型 变量名){...}
例 public static void isEvennumber(int number){...}

多个参数的格式 public static void 方法名(数据类型 变量1,数据类型 变量2,数据类型 变量3,...)
例如 public static void getMax(int number1,int number2,...)

带参数的方法的调用
格式 方法名(参数)

单个参数的格式: 方法名(变量名/常量值);
例 isEvennumber(5);

多个参数的格式:方法名(变量名1/常量值1,变量名2/常量值2)
getMax(5,6);
注意  方法调用时,参数的数量与类型与方法定义中的设置相匹配 否则程序报错

带返回值方法的调用:
格式 方法名(参数)
例 isEvennumber(5);

格式二 数据类型 变量名=方法名(参数);
例 boolean flag=isEvennumber(5);
  方法的返回值通常会使用变量接受,否则该返回值将无意义
  
  方法的通用格式
格式 public static 返回值类型 方法名 (参数){
          方法体;
          return 数据;
  }
  定义方法时,要做到两个明确
  明确返回值类型 是否有返回值 没的写void; 有的话写返回数据类型
  明确参数 明确参数的类型和数量
  
  调用方法时
  void类型的方法,直接调用即可
  例 isEvennumber(参数);
  非void 类型的方法,推荐用变量接收
  例如 数据类型 变量名=方法名(参数)  //接收返回值
  有返回值时必须跟上 return;
  方法的注意事项:
            1.方法不能嵌套定义
                2.返回值 void 不能写 return 值;  void后面可以跟 return; 但能return后面不能再写具体的值
                   return 表示返回 方法执行到此处后结束
                   如果不是 void  必须得写上 return 值;
            3.方法的调用 三种  单独调用  赋值调用(最常用的) 打印调用
                 CTRL + ALT + V 方法的返回值自动帮我们生成
       
        定义一个方法的要求:
       
            1.返回值类型 必须得明确
                2.参数列表 必须明确
               
                建议:写方法的时候 最好是能把方法的具体功能写上
               
方法重载:
      
        1.必须在同一个类中
        2.方法名要求必须相同 参列表不同  
                 参数列表不同  1.数据类型不同  2.参数数量不同 3.多个参数的先后顺序不一样
   
         方法重载和什么没有关系:
               1.返回值类型无关
                           2.和参数名称无关
                          
            
                基本数据类型作为方法的参数 传递的是变量的值
                引用数据类型作为方法的参数 传递的是地址值
       





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2