黑马程序员技术交流社区

标题: 【石家庄】小牙签 [打印本页]

作者: gaohanlong    时间: 2017-12-1 19:55
标题: 【石家庄】小牙签
javaME
javaSE
javaEE

java是跨平台的编程语言:
        平台:指操作系统
        跨平台:java程序可以在任意操作系统上运行,一次编写到处运行
        跨平台的原来:java在不同的操作系统中有不同的JVM(java虚拟机),实现跨平台运行
       
jvm:
        虚拟机,java实现的虚拟的的计算机,在不同的操作系统中模拟出相同的运行环境
JRE:
        包括了JVM和java核心类库,是运行java程序的最小环境
JDK:
        java就发工具包,用于开发java程序----包括JRE和java开发工具

JVM,JRE,JDK的关系:
        JVM<JRE<JDK
       
常用DOS命令:
        打开控制台 WIN+R 输入cmd  回车
        d:回车,盘符切换
        dir:列出当前目录下得文件及文件夹
        cd目录名:切换目录
        cd..切换上一级目录
        cd\a,cd a:切换到当先目录下得a目录
        cd a\b\c:切换多个目录
        cls:清屏
        exit:退出
        上下箭头:切换之前执行过的命令

注释:
        单行注释://注释内容
        多行注释:/*注释
                          内容*/
        文档注释:/**文档注释内容*/
        注意,多行注释,文档注释都不能嵌套使用
       
关键字:
        被java语言赋予了特定含义的单词
        特点:1 组成关键字的字母全部小写  2颜色高亮

常量的概述和分类:
        常量:在程序的执行过程中,其值不可以发生改变的量

常量分类:
        A:字符串常量 "HelloWorld"
        B:整数常量: 12-23
        C:小数常量:12.23
        D:字符常量:'a''0'
        E:布尔常量:true,false
        F:空常量  :null
变量:
        概念:变量是内存这种的一块区域,保存着一个值
                在程序执行过程中,其值可以在一定范围内发生改变
                变量通过数据类型来限定

变量名:变量的名字

初始化值:变量的最初的值

定义格式:数据类型=变量名=初始化值;
                数据类型 变量名(不可以直接使用,赋值后可以使用.不推荐)


java是一种强类型语言,针对每一种数据都给初了明确的数据类型

数据类型:
        A:基本数据类型
        B:引用输出类型(类,接口,数组)

基本数据类型:4类8种
        A:整数   (byte  1字节  short 2字节  int 4字节  long 8字节 )
        B:浮点数 (float 4字节 double 8字节  )
        C:字符   (char  2字节 )
        D:布尔   (boolean 1)
        3种引用数据类型:A:数组  B:类  C:接口
        注意:
                A:整数默认是int类型,浮点数默认是double类型
                B:定义long类型数据的时候,最好直接加L
                C:定义float类型数据的的时候最好直接加F
                D:double类型可以加D,也可以不加

标识符:
        就是用来给包,类,方法,变量等起名字的符号
       
        组成规则:
        A:unicode字符:(数字字符,英文大小写字母,汉子,(不建议使用汉字))
        B:下划线 _
        C:美元符 $
        注意事项:
        A:不能以数字开头
        B:不能是java中的关键字
       
常见命名规则:
        A:基本要求:         见明知意
       
        B:常见的命名:
        A:包 (其实就是文件夹,用于对类进行管理),全部小写,多级包用点(.)隔开   举例: com.itheima
        B:类 一个单词首字母大写        举例: Demo,HelloWorld.   
                 多个单词没个单词的首字母大写    举例:  main(),eat(),eatMeat()
        C:方法和变量  一个单子首字母小写,从第二个单词开始首字母大写:  举例:   age,youAge
                               
变量定义的注意事项:
        A:变量未赋值,不能直接使用
        B:变量只在他所属的范围内有效

                变量属于他所在的那对大括号{}//代码块
        C:一行上可以定义多个变量,单是不建议


类型转换:一种数据类型转换为另一种类型
类型转换的种类:
        A:隐式转换(自动转换):
         类型按照容量由小到大可以进行转换
         转换规则:byte,short,char-->int-->long-->float-->double

        B:强制转换:目标类型 变量名=(目标类型) (被转换的变量或表达式);
          建议数据做运算,结果应该是什么类型就应该用什么类型接受,不要随便转换类型,否则会有精度的损失
          示例: long l=10;    int i =(int)l;
扩展:
        byte b1=3,b2=4,b   
        byte b9=1000;
       
        b=b1+b2;
        b=3+4;


运算符:就是用于对常量和变量进行操作的符号

表达式:用运算符链接起来的符号java语法的式子
不同的运算符链接的表达式是不同类型的表达式

运算符分类:
        算数运算符:+,-,*,/   注意:整数相除只能得到整数,要想得到小数必须有浮点数参与运算
                          %用于获取俩个数相除时的余数
                          /用于获取俩个数相除时的商
                          字符参与加法运算,其实就是拿字符在计算机中存储的数据值来参与运算的
                          'A'65
                          'a'97
                          '0'48
                          字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接
                          ++,--:自减,自增,用于对变量加1或-1
                                          ++--可以用再变量的后面,也可以放在变量的后面
                                            ++在后面,先拿变量做操作,然后变量在++
                                        ++在前面,先变量++,然后在拿变量做操作
                          
        赋值运算符:基本的赋值运算符:=\
                          扩展的赋值运算符:+=,*=,/+,....    int a=20;  a+=30,拿+=左边和邮编的数据做+,然后吧结果赋值给左边


        关系运算符:==,!=,>,>=,<,<=    关系运算符的结果是boolean类型,
                          


        逻辑运算符:用于连接关系表达式
                           |:与,并且(有false,则false),
                           &:或,或者(有true则true)
                           ^:异或,相同则false.不同则true
                           !:非,取相反的结果

                           &&:逻辑与(短路与),只要左边是false,则不判断右边,直接false
                           ||:逻辑或(短路或).只要左边是true,则不判断右边,直接true


        三元运算符:关系表达式?表达式1:表达式2
          执行流程:A:计算关系表示的值,看是true还是hifalse
                          B:如果是true,表达式1就是结果
                                如果是false,表达式2就是结果



键盘录入数据:"Scanner"类
                使用步骤:
                          A:导包import java.util.Scanner;   导包的目的是为了使用需要的类
                                在一个类中的顺序:package>imoort>class
                      B:创建键盘录入
                                Scanner sc=new Scanner(System.in);
                          C:接受数据
                                int i=sc.nextInt();
选择流程控制语句
        在一个程序执行的过程中,

        1.1循序结构的基本使用
                没有特定的语法结构,按照代码的先后顺序,依次执行

        1.2if语句格式1的基本使用
if语句第一种格式:
                if(关系表达式){
                        语句体
                }
        执行流程:
                        A:首先判断关系表达式看其结果是true还是false,
                        B:如果是true就执行语句体
                        C:如果是false就不执行语句体

        1.3if语句格式2的基本使用
if语句第二种格式:
                if(关系表达式){
                        语句体1
                }else{
                        语句体2
                }
        执行流程
                        A:首先判断关系表达式看其结果是true还是false
                        B:如果是true就执行语句体1
                        C:如果是false就执行语句体2

        1.3if语句格式3的基本使用
        if语句第三种格式:
                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就继续判断关系表达式…看其结果是true还是false
                        F:当所有的关系表达式都是false的时候就执行语句体n+1
               

switch语句体:
        switch(表达式){
                case 值1:
                    语句体1;
                     break;
                case 值2:
                    语句体1;
                    break;
                .....
                 befaule:
                  语句体n+1;
                         break;
                }   
格式解释:
                表达式:byte,short,int,char都是可隐式转换为int的类型所以也可以使用
                        JDK5以后可以枚举
                        KDK7以后可以是字符串
                        小括号中可以是常量,也可以变量
                case后面的值:
                        用来和表达式的值进行匹配的
                        值只能是常量
                        值得类型应该和switch小括号中值得类型一直
        break:中断
        default:当所有case都不匹配时,执行default

for循环的格式及执行流程
        循环语句的组成:
                初始化语句:一条或多条语句,这些语句完成一些初始化操作
                判断条件语句:这是一个boolean表达式                  


for循环语句的格式:
                for(初始化语句;判断条件语句;控制条件语句){
                        循环体语句
                }            
执行流程:
                A:执行初始化语句
                B:执行判断条件语句,看其结果是true还是false
                如果是false,循环结束。
                如果是true,继续执行。
                C:执行循环体语句
                D:执行控制条件语句
                E:回到B继续  
水仙花术:一个三位数,其实一个数字的立方和等于该数的本身     

while循环的语句格式:
                while(判断条件){
                        循环体语句;
                }      

while扩展格式:
                初始化语句;
                while(判断条件语句){
                        循环体语句;       
                        控制条件语句;
                }
            
do....while循环格式及基本使用

do....while循环语句格式
   基本格式:
                            do {
                                 循环体语句;
                                   }while((判断条件语句);
                扩展格式
   初始化语句:
                                   do {
                                 循环体语句;
                                 控制条件语句;
                                } while((判断条件语句);         
continue:结束本次循环,继续下次循环


Randou作用:产生一个随机数
        使用步骤:
                        A:导包        import.jaba.utll.Random
                        B:创建对象        Random r=new Random       
                        C:获取随机数   int number=r.nextInt(10)   获取数据的范围[0,10),包括0,不包括10


数组的概述和定义格式:
        数组是存储同一种数据类型的多个元素的容器

定义格式:
                A:数据类型[]数组名;(推荐方式)
                        举例:
                                int[]arr;  定义一个int类型的数组,数组名是arr

                B:数据类型 数组名[];
                        举例:
                                int arr [];定义了一个int类型的变量,变量名是arr数组

数组的初始化:
                A:所谓的初始值,就是为数组开辟内存空间,并为数组中的每个元素赋予初始化值
                B:我们有俩种方式可以实现数组的初始化
初始化:
                a:动态初始化  只给出长度,有系统给出初始化值
                b:静态初始化  给出初始化值,有系统决定长度
动态初始化:
                数据类型[]数组名=new 数据类型[数组长度];
                   int [] arr  = new  int  [3];
静态初始化:
                数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3,....};
                        int[] arr  = new int   []{1,2,3,...};
                        简化格式:数据类型[]数组名={元素1,元素2,元素3,....};
                                                int[]arr={1,2,3};
数组的长度  什么是长度?数组中元素的个数
                      数组名.length:length是属性,获取数组的长度

数组中的元素:数组中的单个数据
数组的索引:元素在数组中的位置序号,从0开始
访问数组的元素:数组名[索引]

数组的遍历:
                什么叫遍历:一次获取数组宏的所有元素
                如何遍历?for循环实现
           

java中的内存分配:栈,堆,方法区

        栈(存储的是局部变量):局部变量(int[]arr)就是定义在方法中的变量,使用完毕后立即回收

        堆(存储的是new出来的东西,实体,对象):
                                a:每一个对象都有地址值
                        b:每一个对象的数据都有默认值byte,short,int,long 0,
                                                                                        float,double 0.0
                                                                                        char '\u0000'
                                                                                        boolean  false
                                                                                        引用类型  null
                                c:使用完毕后,会在垃圾回收器空闲时被回收
        方法去

静态初始化:
                数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3,....};
                        int[] arr  = new int   []{1,2,3,...};
                        简化格式:数据类型[]数组名={元素1,元素2,元素3,....};
                                          int   []  arr=  {1,2,3};






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