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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liangfei 初级黑马   /  2016-1-15 11:40  /  332 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.常量(constant)(字面值常量6种、自定义常量)

        整数常量
        小数常量
        字符常量
        字符串常量
        布尔常量
        空常量
        System.out.println('10');//error
        System.out.println('');//error,不能为空
        System.out.println(' ');//空格可以
        System.out.println(true);//关键字

2.进制(scale)
             计算机中存储和运算的最小单位是字节,尽管最小单位是位(bit)。

3.不同进制的表现形式
        二进制0b(b可以大写可以小写)
        八进制0开头
        十六进制0x开头(x可大写可小写,0-9,a-f(可大写可小写))。

4.进制转换
        把系数*基数的权次幂相加即可。

5.十进制到任意进制
        除积倒取余

6.快速转换法
        8421码

7.原码反码补码

        正数的原反补是一样的
        负数的反码是对原码取反,符号不变;负数的补码是其反码末位加1;
        计算机都是以补码形式运算的



1.变量
        初始化  格式:

2.数据类型
        byte(1个字节-128---127)  short(2)  int(4)  long(8)  float(2)  double(4)  char(2)
        boolean java没有明确指定他的大小。不能与其他类型转换
3.注意事项
        整数默认是int型,long类型需要加L或者l(最好是L。)
        浮点型默认是double。float类型后面要加F或者f。
        在定义的数据在默认范围内编译会过(不在范围肯定不过),但是long、float不加标识,运行会提示损失精度
4.类型转换(conversion)
        ①
        byte b = (byte)(126+4);得130是int型,byte强行砍掉前面24个0(int 4个8位),计算机底层是补码运算,换算回来会变成负数
        ②
        int x =4;
        byte b = 10;       
        byte b = (byte)x+b;//error   byte与byte进行运算的时候回提升为int
        ③
        byte b1 = 3;
        byte b2 = 4;
        byte b = b1 + b2;//error.b12是变量编译的时候值是变化。 byte b = (byte)(b1 + b2);//OK
        *byte b = 3 + 4;//通过java编译器有常量优化机制,
       
5.面试题:
        1.byte与byte进行运算的时候回提升为int
        2.b1和b2的两个变量,变量存储的值是变化的,在编译的时候无法判断里面具体的值,可能会超出范围。
6.long与float的取值范围。
        byte,short,char不会相互转换---统统转化int---long----float-----double
        float 四个字节  long 八个字节。  float大于long。
        IEEE 754 规定:float里面的范围是有算法控制的
        1位是符号位
        8位是指数位
        23位是尾数位

7.上面说到byte,short,char统统会向上转化为int,所以字符与数字相加的时候是数字。
  任何数据类型用+和字符串相连接,都会产生新的字符串。
        System.out.println("hello"+'a'+1);
        System.out.println('a'+1+"hello");
        System.out.println("5 + 5 =" + 5 + 5);//所以需要的时候要加括号
       
8.char  
        0-65535
        可以存一个汉字
9.取模
        %运算符结果的符号只和左边有关系,与右边无关
10.++ --
        int a = 2;
        int b;
        b = a++;
        输出结果是a=3;b=2;e
11.
        第一题
        第二题
                x = 4;
                y = (x++)+(++x);
                结果:x = 6; y = 10;
        第三题

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马