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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jkdong 高级黑马   /  2015-6-26 15:54  /  921 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

day01复习
    day01重点
            jdk的下载安装
            掌握常用的dos的常用命令,在dos窗口编译运行java程序
            HelloWorld案例
            配置环境变量的第二种方式
            Java中的标识符
                起名字
                由英文大小写,0~9数字,_和$,并且不能以数字开头
                格式化良好的重要性!Java中命名要做到见文知意
            注释
                思路清晰
               
day02
    常量,进制,变量,数据类型,类型转换,运算符
   
    常量;constant
        定义:数值不变的量
        表示类型
            字面值常量
                整数常量:123,-45
                实数常量:12.345
                字符常量:用''括起来的一个数据
                    'A','a','1'
                字符串常量:用""扩起来的
                    ”helllo“
                布尔常量:true和false
                空常量
            自定义常量
    进制:
        Java语言支持3种进制表示形式(jdk7之后增加支持二进制)
        何为进制:逢几进一
        二进制:
        八进制
        十进制
        十六进制
        计算机中的数据传输单位
            bit(音译比特)这是计算机数据传输的最小单位,但是一般不使用
            1byte(字节)= 8bit这是计算机数据传输的基本单位,主要以字节为单位解释信息
            K,M,G,T,P等之间是1024
        进制转换
            其他进制转十进制:
                十进制---->十进制
                12345------>12345
                    12345=10000+2000+300+40+5=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
                            =12345
                总结:
                    系数:每一位上的数据
                    基数:x进制基数就是x
                    权:把数据从最右边开始0开始编号
                    结果:
                        把各位系数*基数^权次幂相加
                    测试:二进制数据
                        101101 =
                    注意:
                        二进制:0,1,jdk7之后新特性:以0b开头
                        八进制:0~7,以0开头
                        十进制:0~9,默认
                        十六进制:0~9,以0x开头
            十进制转其他进制:短除法
                十进制----->十进制
                12345------>12345
                10|12345   余数
                10|1234      5  
                10|123       4
                10|12        3
                10|1         2
                10|0         1  
                结论:除基取余,直到商为0,余数反转
            快速转换:8421码
                二进制数据:
                    1  1  1  1  1 1 1 1
                   128 64 32 16 8 4 2 1
            其他进制相互转换:
                基本做法:以十进制为桥梁
                简单做法:
                    二转八:三位一组转十进制数,再拼接
                    二转十六:四位一组转十进制数,再拼接
        有符号数据的表示法:原码,反码,补码
            数据有正负之分的
            计算机中的所有数据都以补码形式存在和处理
            正数:原码,反码,补码都是一样的
            负数:  原码1表示符号位
                    反码是原码除符号位之外的各位取反得到
                    补码是反码+1
            注意:   
                运算的时候一定要记得先去通过原码得到补码
               
    变量:定义时尽量小(整型int浮点double)
        概念:
            变量是内存中的一个存储区域
            该区域要有自己的名字和类型
            在一定范围内变化
        格式:
            格式1:数据类型 变量名 = 初始化值;
            格式2:数据类型 变量名;
                        变量名 = 初始化值;
            注意:
                变量必须初始化
                只定义变量,不定义初始化值的时候会报错
                赋值的时候不要超出范围
    数据类型:
        Java是强类型语言,对于每一种数据都定义了明确的具体数据类型,
        各类型分配空间不一样
        数据类型:
            基本数据类型:
                数值型:4类8种(区别是表示的数据范围不一样)
                    整数型(默认int)
                        byte(1字节)  -2^7 ~ 2^7-1
                        short(2字节) -2^15 ~ 2^15-1
                        int(4字节)   -2^31 ~ 2^31-1
                        long(8字节)
                        想定义byte或者short类型,只要数据在相应范围即可
                        如果是long类型,必须加后缀L(因为默认是int,一旦范围超粗int就会报错)
                    浮点数:(默认double)
                        float(4字节)
                        double(8字节)
                        表示方法:
                            十进制表示:3.14,314.0
                            科学计数法:3.14E2相当于3.14*10^2
                        如果定义float类型,必须加后缀F
                字符型:
                    char(2字节) 举例:'a','A','中'
                布尔型:
                    boolean:就两个值:true和false
                注意:建议用小类型,但是要足够表示才可以
            引用数据类型
            
        类型转换
            1.boolean类型不能与其他类型进行转换
            2.数据从小到大的转换:隐式转换
                byte short char--int
                int--long
                long--float
                float--double
            3.数据从大到小的转换:强制类型转换
                在编译期,jvm只看语法
                转换注意:数据必须在小类型可以表示的范围内
                转换格式:(想转成的数据类型)变量或者值;
            原理解析:
        面试题
            byte b1 = 3;
            byte b2 = 4;
            byte b3 = b2 + b1;
            byte b4 = 3 + 4;//跟直接byte b4 = 7;没有区别

            byte b3 = b2 + b1;报错
                b1+b2参与运算时会提升为int,其结果为int,int数值赋给byte会报错
                    先类型提升再判断范围

                如果参与运算的是常量,编译器会先计算值,再判断是否在其表示的范围内,如是则不报错
                    在编译期,就进行了运算   
        ASCII码表:char--->int
            记住三个字符的值:ASCII码表
                'a'--97
                'A'--65
                '0'--48
    运算符:
        
        算数运算符
            + - * /
            注意事项:
                除法:整数相除结果是整数,如果想要小数,那么参与运算的必须有一个是浮点类型
                除数不能为0,如果为0会报异常(运行时)
                    java.lang.ArithmeticException: / by zero
                %模运算,左边除以右边取余数
                    左边大于右边  结果是余数
                    左边小于右边  结果是左边
                    左右一样      结果是0

                    另外符号跟左边一致
            自增自减++,--
                单独使用,++或者--在前或后效果一致(给变量+1或者-1)
                参与运算:前后不一致
                    ++在前:先加后用
                    ++在后:先用后加
                    //int y = 3;
                    //int z = y++;//把y的值赋给z,然后y自增
                    //int z = ++y;//y先自增,再把值赋给z
            加号+还可作为字符串的连接符(简化书写)
                    String s = "hello"+"world"+"ni"+12.5+34;//helloworldni12.534
                    String s = 23+12.5+"hello"+"world"+"ni"//35.5jhelloworld
   
        赋值运算符:= += -= /= *= %=
            赋值运算符
                把=右边的数值赋值给左边的变量

                举例:
                int a = 10;

                念法:把10赋值给右边的int类型的变量a
            多种赋值
                a += 20;//左右相加再赋值给左边
                //效果等价于a = a + 20;

            注意:
                虽然s+=20;和效果等价,但还是有区别
                    +=其实隐含了强制类型转换功能
                赋值运算符的左边必须是一个变量
               
            面试题
                short s = 5;
                //s = s + 5;//报错
                s += 2;//等价于s = (short)(s + 2)
                System.out.println("s="+s);
            
        比较运算符:== != < > <= >=
            注意:   
                符号都是英文格式
                >=不要写成≥
                比较运算结果肯定是boolean类型
            分隔符
                分号;:表示语句结束,可以在一行上写多条语句,但是一行上只写一条语句
                空格 :关键字前后必须有空格;运算符的时候,运算符两端可有可无,但是建议有
                注意:千万不把用相等于号的地方,写成“=”

评分

参与人数 2技术分 +30 黑马币 +42 收起 理由
小鲁哥哥 + 30 + 40 很给力!
温暖的小白 + 2

查看全部评分

2 个回复

倒序浏览
只有勇往直前,才能不断进取!
回复 使用道具 举报
这样敲跟得上节奏么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马