java基础常识

来源:互联网 发布:什么软件可以下载软件 编辑:程序博客网 时间:2024/05/01 03:24

1.JDK,JRE,JVM的作用及关系
(1)作用
            JVM:保证Java语言跨平台
            JRE:Java程序的运行环境
            JDK:Java程序的开发环境
(2)关系
            JDK:JRE+工具
           JRE:JVM+类库
2.java程序的最基本单位是类

3.Java程序的开发执行流程:

    A:编写java源程序(.java)    B:通过javac命令编译生成.class文件    C:通过java命令运行.class文件,执行程序    .java--javac --->.class---java-->运行程序                javac 文件名+扩展名               java +类名不带扩展名

4.Java语言严格区分大小写,请注意。

5 关键字
           (1)被Java语言赋予特定含义的单词,例如class ,public ,private if else等
           (2)特点: 全部小写。
           (3) goto和const作为保留字存在。

6.标识符
(1)开发人员开发过程中启动名字
(2)组成规则:
            英文大小写字母,数字,$和_
(3)注意事项:
            A:不能以数字开头
            B:不能是java中的关键字
            C:区分大小写
           
(4)常见的命名规则
类或接口:
           首字母大写,多个单词,每个单词首字母大写,其余都小写。User,UserDao
方法或者变量:
           首字母小写,多个单词,每个单词首字母大写,其余都小写。login,loginById
常量:
           全部大写,多个单词用下划线隔开。SESSION,SESSSION_USER

7注释
A:单行注释 //
B:多行注释 /**/
C:文档注释 /* / 这种注视可以在调用方法的时候看到注释信息

8常量
(1)值不能改变的量,一改就报错
(2)分类:
            A:字面值常量
            B:自定义常量 public final String NAME=’lisi’
(3)字面值常量
            A:字符串常量 String
            B:整数常量 int
            C:小数常量 double
            D:字符常量 char
           E:布尔常量 boolean
            F:空常量 null

(4)在Java中针对整数常量提供了四种表现形式
A:二进制 以0b开头。
B:八进制 以0开头。
C:十进制
D:十六进制 以0x开头。

9:进制转换
(1)X进制到十进制
            系数:就是每一个位上的数值
            基数:x进制的基数就是x
            权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
            例如 1234—X进制,基数X,
            1*X^3+2*X^2+3*X^1+4*X^0
(2)十进制到其他进制
            除基取余,直到商为0,余数反转。

10:数据类型
A:基本数据类型:4类8种
B:引用数据类型:类,接口,数组。
(3)基本数据类型
A:整数       占用字节数
            byte             1
           short             2
            int             4
           long             8
B:浮点数
           float             4
            double             8
C:字符
            char            2
D:布尔
boolean             1

注意:    开发中整数默认是int类型,浮点数默认是double。    长整数要加L或者l,不然默认int    单精度的浮点数要加F或者f,不然默认double

11:数据类型转换
byte,short,char之间不相互转换,一般直接转成int类型参与运算,数据运算都是转化为补码进行运算的
常量之间运算是先计算,再赋值,例如byte a=1+2;实际上java编译的class文件是 byte a=3;
(1)默认转换
A:从小到大,只能小的转化的大的,不能大的转化成小的
因为有可能会溢出
举例:byte类型范围是 -127-128
将134(int)强转byte,(byte)134会有什么后果都能
分析: 134— 补码 0000 0000 1000 0110
执行(byte)134后:补码 1000 0110 –》反码: 1000 0101 源码1111 1010 ==-122
最后结果为:-122
数据溢出
B:byte,short,char – int – long – float – double

注意两个数进行二元操作,需要先转换为同一个类型,再进行运算。如果两个数中,其中一个是double类型,另一个数就会转换为double类型,否者如果其中一个是float类型,另一个数就会转换为float类型,否者如果其中一个是long类型,另一个数就会转换为long类型。否者两个数都转换为int类型。

12.
正数:0的原码跟反码都有两个,因为这里0被分为+0和-0。
原码=反码=补码

反码: 反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。
例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100

补码: 反码的基础上按照正常的加法运算加1。
例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101

(2)题:    A:下面两种方式有区别吗?        float f1 = 12.315f; 对的        float f2 = (float)12.335; double强转float    B:下面的程序有问题吗,如果有,在哪里呢?        byte b1 = 3;    byte        byte b2 = 4;    byte        byte b3 = b1 + b2; int --byte 可能精度丢失,编译出错        byte b4 = 3 + 4; 对的,常量之间运算,等价于byte b4=7    C:下面的操作结果是什么呢?        byte b = (byte)130; 溢出    D:字符参与运算        是查找ASCII里面的值        'a'     97        'A'     65        '0'     48        System.out.println('a');  a        System.out.println('a' + 1);  a1    E:字符串参与运算        System.out.println("h"+'a'+1);    ha1        System.out.println('a'+1+"h");  a1h        System.out.println("5+2="+5+2);5+2=7        System.out.println(5+2+"=5+2");7=5+2
0 0
原创粉丝点击