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取余法

9.数据类型分为几种?
(1)基本数据类型:4大类8种。

(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.什么是标识符?需要注意什么?
标识符就是名字。
标识符的规则:由数字,字母,下划线,美元符等组成,且不能数字开头,不能用关键字,不能用特殊符号(&、%)
变量名:建议首字母小写,满足“驼峰模式”
类名:建议首字母大写,满足“驼峰模式”

15.什么是方法?方法的完整格式是啥?
是用于执行特定任务或操作的代码块,可以接收数据进行处理并返回一个处理的结果。

16.定义满足需求的方法格式,主要考虑哪两方面?
方法是否需要接收数据,方法是否需要返回数据。
如果方法不需要返回数据,返回值类型必须声明成void(无返回值声明)方法内部不可以使用return返回数据。
17.方法如何使用?
必须进行调用才可以执行方法;调用格式:方法名称(…)。
【面试题】18.方法重载、return结束方法
方法可以重载
* 介绍:一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。
* 注意:方法重载只关注参数类型不同、类型的个数不同、类型的顺序不同,与返回值、修饰符和参数名没有关系
使用return结束方法
public static void main(String[] args) {
//如果方法没有返回值,可以使用return直接结束方法
return;//结束,不往下走了
}19.为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量
20.什么是自动类型转换?
类型范围小(字节小)的变量,可以直接赋值给类型范围大(字节大)的变量。

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.逻辑运算符有哪些?

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()