A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

szz12345

初级黑马

  • 黑马币:51

  • 帖子:16

  • 精华:0

© szz12345 初级黑马   /  2017-12-27 19:43  /  990 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

快乐学期的时间总是短暂的,学习了两周。每天都有新的知识让我们来理解和接受。
接下来就让我这位新手小白来目前位置的格式总结下。
什么是变量?
        在程序执行的过程中,在某个范围内其值可以发生改变的量
变量的定义格式
数据类型 变量名 = 变量值;
        举例: int  i =   10;
        Int:数据类型;     I: 变量名;        10:变量值;
-------------------------------------------------------------------------------
键盘录入:
        为了提高程序的灵活性,我们就把数据改进为键盘录入。
        如何实现键盘录入数据呢?目前我们只能使用JDK提供的类Scanner
        如何时间Scanner获取键盘录入数据呢?如下的步骤
            
使用步骤:
                A.导包
                        importjava.util.Scanner;
                        在一个类中顺序:package> import > class
                B.创建键盘录入对象
                        Scannersc = new Scanner(System.in);
                C.接收数据
                        inti = sc.nextInt();
-------------------------------------------------------------------------------
选择流程控制语句
    ①if格式1:
        if(布尔类型表达式、变量、常量){
            语句体;
        }
        
        执行流程:
            A.首先计算关系表达式的值,看是true还是false
            B.如果是true,就执行语句体
            C.如果是false,就不执行语句体
   
   ②if格式2:
        if(关系表达式){
            语句体1;
        }else{
            语句体2;
        }
        
        执行流程:
            A首先计算关系表达式的值,看是true还是false
            B如果是true,就执行语句体1
            C如果是false,就执行语句体2
   
    ③if格式3:
        if(关系表达式1){
            语句体1;
        }else if(关系表达式2){
            语句体2;
        }
        ...
        else{
            语句体n+1
        }
        
        执行流程:
            A计算关系表达式1的值,看是true还是false
            B如果是true,就执行语句体1
            C如果是false,就继续计算关系表达式2的值,看是true还是false
            D如果是true,就执行语句体2
            E如果是false,就继续计算关系表达式3...
            F当所有的关系表达式都是false的时候就执行语句体n+1
-------------------------------------------------------------------------------
switch语句格式:
    switch(表达式){
        case 值1:
            语句体1;
            break;
        case 值2:
            语句体2;
            break;
        ...
        default:
            语句体n+1;
            break;
    }
        
格式解释:
    表达式:byte,short,int,char
        JDK5之后可以枚举
        JDK7以后可以是字符串
    case:就是要和表达式进行比较的值
        break:表示中断,结束的意思。
        default:表示所有的情况都不匹配的时候,就执行语句体n+1。和if语句的else相似。
  执行流程:
        A:计算出表达式的值
        B:拿计算出来的值和case后面的值依次比较,一旦有对应的值,就执行该处的语句,在执行过程中,遇到 break,就结束。
        C:如果所有的case都不匹配,就会执行default控制的语句,然后结束。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
循环结构
    for循环语句的格式:
        for(初始化语句;判断条件语句;控制条件语句){
            循环语句;
        
        
        执行流程:
            A执行初始化语句
            B执行判断条件语句,看其结果是true还是false
                如果是false,就结束循环
                如果是true,就继续执行
            C执行循环体语句
            D执行控制条件语句
            E回到B继续‘’
---------------------------------------------------------------------------
   while循环语句的格式:
        while(判断条件语句){
            循环体语句;
        }
    扩展格式(效果不如for):
        初始化语句;
            while(判断条件语句){
                循环体语句;
                控制条件语句;
            }
-------------------------------------------------------------------------------
    do...while循环语句
    循环格式:
        do{
            循环体语句;
        }while(判断条件语句);
    扩展格式:
        初始化语句;
        do{
            循环体语句;
            控制条件语句;
        }while(判断条件语句);
        
    执行流程:
        A执行初始化语句
        B执行循环体语句
        C执行控制条件语句
        D执行判断条件语句,看是true还是false
            如果是false,就结束循环
            如果是true,回到B继续
            
    三种循环的区别:
        虽然三种循环可以做相同的事情,但是它们还是有区别的:
            A:do...while循环体至少执行一次循环体
            B:for和while循环体必须判断条件成立才可以执行循环体
-------------------------------------------------------------------------------
        for循环和while循环区别
            for循环的初始化变量,在循环结束后,不可以被访问。而while循环初始化变量可以继续被使用
            
        一般情况我们都使用for来循环。
        While使用的情况:如果循环的次数不确定,或者可能一直循环下去,就是用while循环,一般死循环用的都是while循环
        一般不用do...while循环。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   跳转控制语句
        break:中断的意思
        
        使用场景:
            Aswitch语句中
            B循环中
        注意:
            离开使用场景没有意义的
-------------------------------------------------------------------------------
        continue:继续的意思
        使用场景:
                循环中
        注意:
            离开使用场景没有意义的
        作用:
            结束一次循环,继续下一次循环。
    区别:
        break:退出循环,结束整个循环
        continue:结束一次循环,继续下一次循环
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Random 随机数类:
    Random和Scanner相似。
    Random用于产生随机数
    使用步骤:
        A:导包
            import java.util.Random;
        B:创建对象
            Random r = new Random();
        C:获取随机数
            int numer = r.nextInt(10);
            获取范围:[0,10) 包括0,不包括10
    如果要产生一个随机数范围为:[n,m]       nextInt(m-n+1)+n;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
数组:
    数组是存储多个元素(变量)的东西
    这个多个变量的数据类型要一致
    定义格式:
        A数据类型[] 数组名;     int[] arr; (推荐)
        B数据类型 数组名[];     intarr[];
        
    数组初始化:
        A所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始化值
        B两种实现数组的初始化
            a动态初始化     只给出长度,由系统给出初始化值
            b静态初始化     给出初始化值,由系统决定长度
            
    动态初始化:
        数据类型[] 数组名 = new 数据类型[数组长度];
        
        访问格式:数组名[索引]
    静态初始化:
        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3....};
        
    简化格式:
        数据类型[] 数组名 = {元素1,元素2,元素3,...};   (比较常用到的格式)
   
    数组遍历:
        依次操作数组中的每个元素
        for(int i =0;i<arr.length;i++){}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
二维数组:
    定义格式
        数据类型[][] 数组名;
        数据类型 数组名[][]; 不推荐
        数据类型[] 数组名[]; 不推荐
   
    初始化方式
        数据类型[][] 数组名 = new 数据类型[m][n];
        数据类型[][] 数组名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
        简化版格式:数据类型[][] 数组名 = {{元素…},{元素…},{元素…}};
    A:动态初始化
            数据类型[][] 数组名 = new 数据类型[m][n];
            m表示这个二维数组有多少个一维数组
            n表示每一个一维数组的元素有多少个
        
    B:静态初始化
            数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...},...};
        简化格式:
            数据类型[][] 数组名 = {{元素...},{元素...},{元素...},...};
二维数组也可以理解成一个以为数组,然而每个一维数组在二维数组中成为了索引中的内容,所以二维数组是有多个一维数组拼接而成。理解一维数组,二维数组自然会明白。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
方法的定义格式:
        就是完成特定功能的代码块
        
    定义格式:
        修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名1,...){
            方法体;
            return 返回值;
        }
        
    格式解释:
        A修饰符  目前记住public static
        B返回值类型     用于限定返回值的数据类型
        C方法名     为了方便我们调用方法的名字
        D:参数类型 用于接收调用方法时传入的数据的类型
        E:参数名  用于接收调用方法时传入的数据的变量
        F:方法体 完成功能的代码
        G:return结束方法,把返回值带给调用者
  
    方法的两个明确:
        A:返回值类型 明确功能结果的数据类型
        B:参数列表 明确有几个参数,以及参数的类型
        
    有明确返回值的方法的调用:
        A:单独调用,没有什么意义。
        B:输出调用,有意义,但是不够好,因为我可能需要对求和的结果进行进一步的操作
        C:赋值调用
    如果一个方法没有明确的返回值类型,java提供了void进行修饰。
   
    方法重载:在同一个类中,出现了方法名相同的情况。
    方法重载特点:
        在同一个类中,方法名相同,参数不同。与返回值无关。
        参数列表不同:
            参数的个数不同
            参数对应的数据类型不同
            
        判断参数列表是否相同的小技巧:
            把方法每个参数的数据类型拼在一起组成一个字符串,
            字符串相同则不是重载,不同则算重载。
    注意:
        在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法。
        
    方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。
   
    形式参数:用于接受实际参数的变量(方法的参数列表中的变量)
    实际参数:实际参与运算的变量        (调用方法时候传进去的)
   
    如果参数是引用数据类型:
        那么形式参数的改变直接影响实际参数

2 个回复

倒序浏览
总结得很用心,希望私下一直保持这种好习惯。就业班加油,但愿早日拿到想要的offer
回复 使用道具 举报
小浙姐姐 发表于 2017-12-30 17:47
总结得很用心,希望私下一直保持这种好习惯。就业班加油,但愿早日拿到想要的offer ...

谢谢小姐姐,我会加油的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马