java基础入门

一、java基础入门
第一章:初识java
    1.JDK > JRE >  JVM
    java开发工具包    java运行环境    java虚拟机(将字节码文件翻译成机器码文件(二进制码))
    2.java跨平台原理
        每台计算机,只要安装JDK就可以运行java程序
    3.记事本开发java程序
        新建txt文件改后缀名为.java
        编写源文件
        在dos窗口使用javac 命令编译源文件成字节码文件.class
        使用java 命令 运行字节码文件
    4.使用集成开发工具开发java程序 
        Integrated development tools
        集java程序编写 编译 运行于一体的工具
        IDEA  myeclipse   eclipse
    5.安装JDK
        唯一的默认的安装在C盘的软件
        如何验证JDK安装OK
        windows+R 打开dos窗口  
            java -version
            javac -version
            都可以出现版本号  说明安装OK
            配置环境变量的问题
                目的:让计算机能够识别我们安装软件bin目录里面的可执行文件
    6.包的作用
        类似文件夹
            用来存放java源文件
            不同包可以有相同文件名的java程序源文件
    7.反编译工具
        将字节码.class文件反编译成.java文件
        JD-gui    
    8.java    
        出现于1995
        第一个里程碑版本是版本1.2
            java发展开始拆分成三个方向
                javase  java标准开发
                javaEE   企业级开发   网站开发
                javaME   移动端开发    手机端  微波炉 电饭锅 电风扇  电冰箱
        java语言之父: 詹姆斯高斯林
第二章:变量和数据类型
    变量:内存中一段存储空间的表示
        可以在程序运行中传递数据
    语法:    数据类型  变量名 =  变量值;
    变量特征:变量类型
                变量名
                变量值
                变量
                类比旅馆房间
    变量名命名规则:    
        组成:字下美人数
            驼峰命名法则   见名知意
            不能使用关键字
    变量类型:
        基本数据类型
            数值:
                整型:
                    byte
                    short
                    int
                    long
                浮点型:
                    float
                    double
            非数值型
                字符型: 
                    char
                布尔型:
                    boolean
            
        引用数据类型:
            String
            Scanner
            Arrays
        常量:
            在程序运行过程中其值不变的量
                常量名全部大写,如果是有两个以上的单词组成,中间使用_连接
                常量名永远只能被赋值一次
        数据类型转换:
            自动转换
                小范围转大范围,数据类型要兼容
            强制转换
                大范围转小范围,会出现精度丢失的问题
            int phone = 13811111111  是错误的
    运算符:
        赋值运算符
            =
        算术运算符
            基本算术运算符:
            +-*/% ++ --
                优先级 ++ --
                    
                        * /
                        +-%    
                自增自减:
                    自增在前 要先自增,后运算
                    自增在后 要运算,再自增
            复合算术运算符:
                +=,-=,/=, *=,%=
                速度快
        关系运算符
            > <  >= <=  == !=
            优先级    
                > <  >= <=
                == !=
        逻辑运算符
            && 
                都是针对两个或两个以上的表达式进行判断,第一个表达式结果为false,已经可以确认整个表达式的结果为false;第一个之后的表达式都可以不用进行运算了
            ||
                都是针对两个或两个以上的表达式进行判断,第一个表达式结果为true,已经可以确认整个表达式的结果为true;第一个之后的表达式都可以不用进行运算了
            !
        条件运算符
            三目或者是三元运算符
            语法:
                条件?表达式1:表达式2
                "2"+1 21
        运算符优先级
            ()>单目运算符(++ -- !)  >算术运算符(*/ +-%  *= /= += -= %= ) >  关系运算符(> >= < <= == !=) > 条件运算符 >逻辑运算符(&&>||)>赋值运算符
第三章:流程控制
    分类:
        顺序结构
        选择结构
        循环结构
    选择结构:
        1.if 简单分支结构
        2.if 和逻辑运算符结合的复杂分支结构
        3.if else 多分支结构
            else 隐含一个条件   和if条件构成互斥关系
        3.if 多分支结构  if elseif else
            通常是针对一个连续区间进行判断,还要注意顺序要求
        4.嵌套if多分支情况
            注意外层判断条件是内层判断条件的前置基础
        5.switch 多分支条件判断结构
            通常是针对等值判断才使用
            break语句不能忘
    循环结构:
        while循环
            int i=1;
            while(){
            
            }
        dowhile循环
            do{
            
            }while();
        for循环
            for(表达式1;表达式2;表达式3){
                循环操作4
            }
            执行顺序 1,2,4,3  2,4,3   2,4,3
        使用场景:
            如果循环次数固定使用for循环
            循环次数不固定,如果是要先执行 后判断使用dowhile循环
                            如果是先判断,后执行 使用while循环
        循环组成:
            循环变量初始化
            循环条件
            循环操作
            更新循环变量
    循环中断语句:
        break;
            跳出当前循环
        continue:
            跳出本次循环,进入下一次循环
    双重循环:
        循环体里面再套一个完整的循环   9种
        外层循环变量变化一次,内层循环变量变化一遍
        (地球的公转和自转)
    流程图:
        解决问题的一种图形化表示方法
        确定内外层循环,再确定外层循环条件和循环体,再找内层循环变量和外层循环变量之间的关系,再确定内层循环条件和循环体
        双重循环打印图形:
            矩形
            平行四边形
            三角形
            菱形
            空心菱形
            99乘法表
    程序调试:
        打断点
        debug启动
        F8 单步调试
        F7 步入方法内部
        F9 跳过当前断点,进入下一个断点
            
第四章:数组
    一维数组
        使用步骤:
            先声明
            后开辟内存空间
            赋值
            处理数据
        语法结构
            数据类型[] 数组名 = new 数据类型[数组长度];
        赋值:
            边声明边赋值:
                int[] arrs = {1,2,3};
                int[] arrs2 = new int[]{1,2,3}
            动态赋值:
                int[] arrs = new int[4];
                arrs[1] = 1;
        遍历:
            普通for循环遍历
            增强for循环遍历(不能用于动态赋值)
        常见问题:
            数组下标越界异常
                arrayIndexOutOfbounds
        求最大值最小值逻辑:
            打擂台逻辑 
        要注意第一个守擂的必须数组内的一个元素而不能直接赋值0或者是其他值
        插入值逻辑:
            先定义数组,然后动态赋值
            循环遍历,如果新增值应该插入的下标值
            将该下标包括该下标对应的数组元素后移一位
            将新增元素插入到指定下标位置
        冒泡排序:
            n个数字来排队
            两两相比小靠前
            外城循环n-1
            nei层循环n-i-1            
       二维数组
        语法:    
            int[][] arrs = new int[3][];
            使用双重for循环进行赋值
    数组操作类 Arrays
        sort()   对数组进行升序排列
        equals()  比较两个数组是否相同
        copyOf()  将数组复制为一个新的长度的数组
        toString()  输出数组内容
        binarySearch() 讯号数组元素对应下标
        fill()    给数组所有元素赋相同值
 

你可能感兴趣的:(java,java)