java学习笔记

    科技2026-03-31  16

    java基础

    关键字总结

    关键字:被java语言赋予特定含义的单词,比如public;组成关键字单词的字母全部是小写的。 注:goto和const是保留字,目前并不使用。 关键字一览表如下图所示:

    标识符总结

    标识符:实质就是给类、接口、方法、变量起名字 标识符的组成包括1)英文字母大小写;2)数字字符;3)$和_ 标识符注意事项:1)不能以数字开头;2)不能是java关键字;3)严格区分大小写,y1和Y1是两个不同的标识符。 常见的命名规则: 包:可以理解为文件夹,其作用就是为了把相同的类名进行区分,包名要全部小写 类名或者接口名:一个单词的时候,单词的首字母必须大写,比如:Student,Dog; 多个单词的时候,每个单词的首字母必须大写,比如:HelloWorld。 方法或者变量:一个单词时,单词的首字母小写,比如:age; 多个单词时,从第二个单词开始,每个单词的首字母大写,比如:StudentName,showName()。 常量:一个单词时,全部大写,比如PI;多个单词时,咩个字母都大写,用_隔开,比如MIN_AGE

    常量

    常量:在程序的执行过程中,其值不会发生改变的量。分为字面值常量和自定义常量

    字面值常量

    字符串常量:用双引号括起来的内容。比如“hello java"整数常量:所有的整数。比如:100,200小数常量:所有的小数。比如:1.2,10.11字符常量:用单引号括起来的内容。比如’a’,‘b’,(‘ab’是错误的)布尔常量:true,false(注意,是小写)空常量:null

    不同进制数据表现

    二进制:由0,1组成,以0b开头; 八进制:由0,1,…,7组成,以0开头; 十六进制:由0,1,…,9,a,b,c,d,e,f(大写也可)组成,以0x开头。

    数据类型

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

    数据类型分类

    A.基本数据类型; B.引用数据类型(类,接口,数值)

    基本数据类型(4类8种)

    A.整数

    数据类型占用字节数目byte1short2int4long8

    B.浮点数

    数据类型占用字节数float4double8

    C.字符

    数据类型占用字节数char2

    D.布尔

    数据类型占用字节数boolean1

    整数默认是int类型,浮点数默认是double类型;长整型后缀用L或l标记。单精度浮点数用F或f标记。

    变量注意事项

    作用域 变量定义在哪个大括号内,它就在这个大括号内有 效,并且,在同一个大括号内不能同时定义同名的变量。

    初始化值 没有初始化值的变量不能直接使用;只要在使用前给值就行,不一定非要在定义的时候立即给值;推荐在定义的时候给值。 定义变量的格式: a.数据类型 变量名 = 初始化值; b.数据类型 变量名; 变量名 = 初始化值

    类型转换

    默认转换(从小到大的转换)

    A.byte,short,char-int-long-float-double B.byte,short,char相互之间不能转换,他们参与运算首先转换为int类型

    强制转换(从大的数据类型到小的数据类型)

    格式:目标数据类型 变量 = (目标数据类型)(被转换的数据); 注:强制转换会导致精度损失,在使用的时候三思

    典型面试题

    byte b1=3,b2=4,b; b=b1+b2; b=3+4;

    上面的代码中哪一句会编译失败,请说明理由 答案: b=b1+b2;是有问题的。因为变量相加,会首先看类型问题,最终把结果赋值得也会考虑类型问题;常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。

    byte b = 130;

    上述代码的问题在哪里,如果想要代码正确运行,应该怎样修改,最后输出的正确结果是多少? 答案: A.获取130这个数据的二进制。 00000000 00000000 00000000 10000010 这是130的原码,也是反码,也是补码 B.做截取操作,截成byte类型 10000010 这个结果是补码 C.已知补码求原码

    符号位数值位补码10000010反码10000001原码11111110

    所以最终的结果为-126

    class Demo{ public static void main(String[] args{ byte b = (byte) 130; System.out.println(b); } } -126

    字符串与其他数据的’+‘运算

    字符串数据(不是字符数据)与其他数据做+,结果是字符串类型,这里的+不是加法运算,而是字符串连接符。

    class Demo { public static void main(String[] args) { System.out.println("hello"+'a'+1); System.out.println('a'+1+"hello"); System.out.println("5+5="+5+5); System.out.println(5+5+"=5+5"); } } helloa1 98hello 5+5=55 10=5+5
    Processed: 0.011, SQL: 9