java自学之路2

来源:互联网 发布:java 构造器 编辑:程序博客网 时间:2024/06/01 09:08

关键字都是小写,类名无要求,但是一般规范是首字母大写。

标识符:1在程序中自定义一些名称,2 由26个字母大小写,数字0到9,符号下划线和$_组成。

规则:1 数字不可以开头

         2 不可以使用关键字

Java中严格区分大小写,起名字的时候要尽量起的有意义。

进制

      111=7

      1111=15

      1010-1110

      010-101-110

        2    5     6    对应的八进制0256

     -1010-1110

        10    14       0xAE  对应的十六进制

结论:八进制数,其实就是二进制位3个二进制位为一个八进制位

          十六进制,其实就是二进制中的四个二进制位为一个十六进制

-6的二进制,其实就是这个数的正数的二进制取反,加1

       0000-0110

取反1111-1001

     +0000-0001

等于1111-1010  就是-6

负数的二进制的最高位是1

内存中二进制的运算   1011=11

                    +0110=6

                               10001=17        11+6=17           乘法也一样,

Java是一种强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

数据类型包括,基本数据类型和引用数据类型

       基本数据类型:整数型:byte   short   Int   long

                               浮点类型:float, double

                 字符型:char

                 布尔型:boolean

      引用数据类型:类:class

                 接口:interface

                 数组:[]

整数默认,int      小数默认。Double

强制类型转换

      byte  b =3;

b=(byte)(b+4);这个就是强制类型转换,否则系统会丢失精度

面试题,

byte b= 4;

byte  b1=3;

byte  b2=7;

b = b1+b2;

这道题会报错,无法输出b的值,因为b1和b2是变量,这两个变量的值相加完全有可能超出byte的范围,造成丢失精度,所以会报错。但是如果都是int类型的可以运行,但也会超出范围。变成负数。

++自增,在原有的基础上加1

short s =  3;

s+=4;   这个运算会有结果。因为他的底层会有一个自动转换过程,

s= s+4; 这个运算会报错,这个是不会做自动转换的。可能会丢失精度,

s = (short)(s+4); 这样写没有问题。

0 0