Loading...

文章背景图

Day 02-知识点汇总

2026-01-26
49
-
- 分钟

1.数据在计算机底层都是怎么存储的?

都是采用二进制:使用0、1,按照逢2进1的规则表示数据来存储

2.计算机底层表示数据的最小单元是什么?

字节,一个字节等于8个二进制位:1B=8b

3.ASCII编码表?

即美国信息交换标准编码,规定了现代英语、数字字符、和其他西欧字符对应的数字编号。

4.字符数据在计算机中是怎么存的?

字符存的是ascii码表中对应的数字的二进制形式。

字符’A’对应的数字是 65

字符’a’对应的数字是 97

字符’0’对应的数字是 48

5.图片和音视频等文件的数据是怎么存储的啊?

也是采用二进制进行存储的。

6.Java程序中书写二进制、八进制、十六进制的数据的格式要求?

0B或者0b、0、0X或者0x开头

//二进制
        int a = 0b111;
        System.out.println(a);//默认转成十进制输出

【面试题】7.二进制转换为其他进制的方法?

(1)二进制转换为十进制:每一位乘以对应2的次幂数

  eg: 101=> 1*2的2次幂 + 0 2的1次幂 + 1 2的0次幂 = 3

(2)二进制转换为八进制:每3位二进制作为一个单元,最小数是0,最大数是7,0-7有8个数字,

  eg: 01100001--->001100001---->141

(3)二进制转换为十六进制:每4位二进制作为一个单元,最小数是0,最大数是15,

0-15有16个数字,依次用: 0~9 A B C D E F 代表

  eg: 01100001 --->0110 0001-> 61

  eg: 11111010 --->1111 1010-> FA

8.扩展:十进制转二进制呢?

答:除2取余法

图片1.png

9.数据类型分为几种?

(1)基本数据类型:4大类8种。

PixPin_2026-01-26_10-58-17.png

(2)引用数据类型:String

10.随便写的整数、小数字面量,他们默认什么类型?

23 ,默认是int类型 , 加上L/l就是long类型的数据了。

23.8,默认是double类型,加上F/f就是float类型了。

11.长整型、单精度精度8位、双精度17位

        //长整型long,8个字节,范围:19位,结尾要写L或l结尾,推荐L
        long l1 = 100; //整型自动转换为长整型,可以不用写L
        long l2 = 9223372036854775807L;//必须要写L,因为超过整型的范围
        // long l3 = 9223372036854775808L;//报错
        //单精度浮点数(小数)float,占4个字节,结尾必须是f或F,推荐F,注意这个类型不精准,精度为8位,超过会采用科学计算法或小数点后面舍去
        float f1 = 1.4F;
        float f2 = 1.12345678988999988F;
        System.out.println(f2);// 打印结果:1.1234568  小数点后面舍去
        float f3 = 11111111.12345678988999988F;
        System.out.println(f3);// 打印结果:1.1111111E7  科学计算法
        //双精度浮点数(小数)double,占8个字节,也可以不写,默认小数就是double,结尾用D或d,推荐D 精度超过17位,超过会采用小数点后面四舍五入或科学计算法
        double d1 = 3.14;
        double d2 = 3.14D;
        double d3 = 1.123456789123456789D;
        System.out.println(d3);// 打印结果:1.1234567891234568
        double d4 = 123456789123456789.123456789123456789D;
        System.out.println(d4);// 打印结果:1.23456789123456784E17  科学计算法

【面试题】12.说一说java中基本类型有哪些?

(1)字节byte 占1个字节,范围:-128~127

(2)短整型short 占2个字节,范围:-3万多~3万多

(3)整型int,注意写的数字默认就是整型, 占4个字节 范围:-21亿~21亿(10位数,大概42亿左右)

(4)长整型long,8个字节,范围:19位数字,结尾要写L或l结尾,推荐L

(5)单精度浮点数(小数)float,占4个字节,结尾必须是f或F,推荐F,注意这个类型不精准,精度为8位,超过会采用科学计算法或小数点后面舍去

(6)双精度浮点数(小数)double,占8个字节,也可以不写,默认小数就是double,结尾用D或d,推荐D 精度超过17位,超过会采用小数点后面四舍五入或科学计算法

(7)char字符类型,占2个字节,0-65535

(8)boolean布尔类型,占1个字节,true或false

13.什么是关键字?需要注意什么?

关键字就是Java自己要用到的词,并且有特殊含义的一些词。

关键字是java用了的,我们就不能用来为做为:类名、变量名,否则会报错!

14.什么是标识符?需要注意什么?

标识符就是名字。

标识符的规则:由数字,字母,下划线,美元符等组成,且不能数字开头,不能用关键字,不能用特殊符号(&、%)

变量名:建议首字母小写,满足“驼峰模式”

类名:建议首字母大写,满足“驼峰模式”

微信图片_20260126150305_32_38.png

15.什么是方法?方法的完整格式是啥?

是用于执行特定任务或操作的代码块,可以接收数据进行处理并返回一个处理的结果。

k.png

16.定义满足需求的方法格式,主要考虑哪两方面?

方法是否需要接收数据,方法是否需要返回数据。

如果方法不需要返回数据,返回值类型必须声明成void(无返回值声明)方法内部不可以使用return返回数据。

17.方法如何使用?

必须进行调用才可以执行方法;调用格式:方法名称(…)。

【面试题】18.方法重载、return结束方法

方法可以重载

* 介绍:一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。

* 注意:方法重载只关注参数类型不同、类型的个数不同、类型的顺序不同,与返回值、修饰符和参数名没有关系

使用return结束方法

public static void main(String[] args) {
        //如果方法没有返回值,可以使用return直接结束方法
        return;//结束,不往下走了
}

19.为什么要进行类型转换?

存在不同类型的变量赋值给其他类型的变量

20.什么是自动类型转换?

类型范围小(字节小)的变量,可以直接赋值给类型范围大(字节大)的变量。

3.png

21.表达式的自动类型转换是什么样的?

小范围的类型会自动转换成大范围的类型运算。

22.表达式的最终结果类型是由谁决定的?

最终类型由表达式中的最高类型决定。

23.表达式的有哪些类型转换是需要注意的?

byte short char是直接转换成int类型参与运算的。

【笔试题】24. byte + byte 得到什么类型?

// 答:int

byte b2 = 100;

byte b3 = 127;

// byte b4 = b2 + b3; 报错,因为short,byte,char参与运算直接提升为int类型

25.什么是强制类型转换?

默认情况下,大范围类型的变量直接赋值给小范围类型的变量会报错!

可以强行将类型范围大的变量、数据赋值给类型范围小的变量

数据类型 变量 = (数据类型)变量、数据

26.强制类型转换有哪些需要注意的?

可能出现数据丢失。

浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

27.+ 除了做基本数学运算,还有哪些功能?

与字符串做+运算时会被当成连接符,其结果还是字符串。

识别技巧:+号两边任意一个是字符串,+号就做连接符使用。

掌握使用+符号做连接符的情况
// + 如果都是数字就直接运算
// + 如果有一侧是字符串就会拼接字符串
// + 数字与字符相加,字符先会转换为ASCII的十进制在进行计算

28.自增、自减运算符是什么,有什么作用,需要注意什么?

++、--;

对当前变量值+1、-1

只能操作变量,不能操作字面量

29.自增、自减运算符放在变量前后有区别吗?

如果单独使用放前放后是没有区别的。

非单独使用:在变量前 ,先进行变量自增/自减,再使用变量。

非单独使用:在变量后 ,先使用变量,再进行变量自增/自减。

【笔试题】30.System.out.println(10++); 结果是什么?

答:报错,++/--智能用于变量,不可以使用字面量

【面试题】31.看看下面代码是否有问题,为什么?

byte y = 100; byte z = 30;

//y = y + z; //报错,必须使用int来接收,因为byte参与运算提升为int

//y += z; //不报错, 相当于 y = (byte)(y+z)

32.赋值运算符有哪些?

基本的赋值运算符:= (从右边往左看)

扩展的赋值运算符:+=、-=、*=、/=、%=

33.扩展赋值运算符的作用是什么?有什么特点?

可以实现数据的累加/累减…,把别人的数据加减乘除给自己。

扩展的赋值运算符自带强制类型转换

34.关系运算符有哪些?

>、>=、<、<=、==、!=

注意:判断基本类型数据是否相等用“== ” 而不是“=”,“=”是赋值符号。

35.关系运算符的执行结果是什么?

结果是boolean类型的true或者false。

在java中判断基本类型数据是否相等用“== ” 而不是“=”,“=”是赋值符号

36.逻辑运算符有哪些?

35.png

37.短路逻辑运算符有哪些,有什么特点?

&&: 一个为false、结果是false,但前一个为false,后一个条件不执行了。

|| :一个为true、结果是true,但前一个为true,后一个条件不执行了。

注意:实际开发中、常用的逻辑运算符是:&& 、 || 、 !

在java中, “&” 、 “|”: 无论左边是 false还是 true,右边都要执行。只有”&&”和”||”有短路效果

38.三元运算符的语法格式以及执行流程?

关系表达式 ?  值1 : 值2;

执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

39.Java程序中如何实现接收用户键盘输入的数据?

使用Java提供的Scanner来完成(程序员可以直接使用,Java写好的类都属于核心类库的组成部分),步骤如下:

1、导包:import java.util.Scanner; (直接写第2步,这一步能自动生成)

2、创建扫描器对象: Scanner sc = new Scanner(System.in)

new Scanner(System.in).var 快捷输入

3、使用键盘输入的功能,接收用户输入的数据:

int age = sc.nextInt()

String name = sc.next()

评论交流

文章目录