Java基础常见面试总结

文章目录

  • 1. 变量、数据类型转换、运算符
    • 1.1 变量
    • 1.2 数据类型转换
      • 1.2.1强转的注意事项
    • 1.3 进制的转换
    • 1.4 位运算符
    • 1.5 运算符
    • 1.6 三元运算符
  • 2. 流程控制
    • 2.1 键盘录入_Scanner
    • 2.2 Random随机数
    • 2.3 switch(选择语句)
    • 2.4 分支语句
    • 2.5 循环语句
  • 3. 数组
    • 3.1 数组的定义
    • 3.2 数组操作
    • 3.3 一维数组内存图
    • 3.4 二维数组
    • 3.5 二维数组内存图
  • 工具的使用
    • 1. IDEA的创建流程

1. 变量、数据类型转换、运算符

1.1 变量

  1. 变量的数据类型:
    基本数据类型:4类8种
    整型:byte short int long
    浮点型:float double
    字符型:char
    布尔型:boolean

    引用数据类型: 类 数组 接口 枚举 注解

  2. 定义:
    a.数据类型 变量名 = 值;

    b.数据类型 变量名;
    变量名 = 值;

    c.连续定义三个相同类型的变量
    数据类型 变量名1,变量名2,变量名3;
    变量名1 = 值;
    变量名2 = 值;
    变量名3 = 值;

  3. 【注】
    字符串不属于基本数据类型,属于引用数据类型,用String表示

    String是一个类,只不过字符串在定义的时候可以和基本数据类型格式一样

  4. float和double的区别
    a. float的小数位只有23位二进制,能表示的最大十进制为2的23次方(8388608),是7位数,所以float型代表的小数,小数位能表示7位

    b.double的小数位只有52位二进制,能表示的最大十进制为(4 503 599 627 370 496),是16位数,所以double型代表的小数,小数位能表示出16位

    小数的默认类型为:double

  5. 变量使用时的注意事项
    1.变量不初始化(第一次赋值)不能直接使用

    2.在同一个作用域(一对大括号就是一个作用域)中不能定义重名的变量

    3.不同作用域中的数据尽量不要随意互相访问
    在小作用域中能直接访问大作用域中的变量
    在大作用域中不能直接访问小作用域中的变量

1.2 数据类型转换

a.自动类型转换
将取值范围小的数据类型赋值给取值范围大的数据类型 -> 小自动转大
取值范围小的数据类型和取值范围大的数据类型数据做运算 -> 小自动转大

b.强制类型转换
当将取值范围大的数据类型赋值给取值范围小的数据类型 -> 需要强转

1.2.1强转的注意事项

  1. 不要随意写成强转的格式,因为会有精度损失问题以及数据溢出现象,除非没有办法

  2. byte,short定义的时候如果等号右边是整数常量,如果不超出byte和short的范围,不需要我们自己强转,jvm自动转型

    byte,short如果等号右边有变量参与,byte和short自动提升为int,然后结果再次赋值给byte或者short的变量,需要我们自己手动强转

  3. char类型数据如果参与运算,会自动提升为int型,如果char类型的字符提升为int型会去ASCII码表(美国标准交换代码)范围内去查询字符对应的int值,如果在ASCII码表范围内没有对应的int值,回去unicode码表(万国码)中找

1.3 进制的转换

  1. 十进制转成二进制
    辗转相除法 -> 循环除以2,取余数
    在这里插入图片描述
  2. 二进制转成十进制
    8421规则
    在这里插入图片描述
  3. 二进制转成八进制
    将二进制数分开 (3位为一组)
    在这里插入图片描述
  4. 二进制转成十六进制
    将二进制数分组-> 4位为一组
    在这里插入图片描述

1.4 位运算符

在这里插入图片描述

  1. 符号的介绍:
    a. &(与) -> 有假则假
    b. |(或) -> 有真则真
    c. ~(非) -> 取反
    d. ^(异或) -> 符号前后结果一样为false,不一样为true
    true ^ true -> false
    false ^ false -> false
    true ^ false -> true
    false ^ true -> true

1.5 运算符

  1. 算数运算符
    在这里插入图片描述
    【注】+
    1.运算
    2.字符串拼接:任何类型的数据遇到字符串都会变成字符串,此时+就不再是运算了,而是字符串拼接,将内容直接往后拼接
public class Demo02Arithmetic {public static void main(String[] args) {int i = 10;int j = 3;System.out.println(i+j+"");//13System.out.println(i+j+""+1);//131System.out.println(i+""+j);//103System.out.println("i和j相加只和为:"+(i+j));}
}

1.6 三元运算符

在这里插入图片描述

2. 流程控制

2.1 键盘录入_Scanner

  1. 概述:是java定义好的一个类

  2. 作用:将数据通过键盘录入的形式放到代码中参与运行

  3. 位置:java.util

  4. 使用:
    a.导包:通过导包找到要使用的类 -> 导包位置:类上
    import java.util.Scanner -> 导入的是哪个包下的哪个类

    b.创建对象
    Scanner 变量名 = new Scanner(System.in);

    c.调用方法,实现键盘录入
    变量名.nextInt() 输入整数int型的
    变量名.next() 输入字符串 String型的

变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
变量名.nextLine():录入字符串 -> 遇到回车就结束录入了

2.2 Random随机数

  1. 使用:
    a.导包:import java.util.Random

    b.创建对象:
    Random 变量名 = new Random()

    c.调用方法,生成随机数:
    变量名.nextInt() -> 在int的取值范围内随机一个整数
    在这里插入图片描述

2.3 switch(选择语句)

  1. switch基本使用
    在这里插入图片描述
    在这里插入图片描述

2.4 分支语句

  1. if的第一种格式
    在这里插入图片描述
  2. if的第二种格式
    在这里插入图片描述
  3. if的第三种格式
    在这里插入图片描述

2.5 循环语句

  1. for循环
    在这里插入图片描述
  2. while循环
    在这里插入图片描述
  3. 循环控制关键字
    在这里插入图片描述

3. 数组

3.1 数组的定义

在这里插入图片描述

  1. 动态初始化与静态初始化的区别
    a. 动态初始化:定义的时候只指定了长度,没有存具体的数据
    当只知道长度,但不知道具体存啥数据时可以使用动态初始化

    b. 静态初始化:定义的时候就直接知道存啥了

         //动态初始化int[] arr1 = new int[3];String[] arr2 = new String[3];//简化静态初始化int[] arr4 = {1,2,3,4,5};
    

3.2 数组操作

  1. 获取数组的长度
    在这里插入图片描述

3.3 一维数组内存图

在这里插入图片描述

  1. 一个数组内存图
    在这里插入图片描述
  2. 俩个数组内存图
    在这里插入图片描述
  3. 两个数组指向同一片内存空间
    在这里插入图片描述

3.4 二维数组

  1. 定义格式
  • 动态初始化
    数据类型[][] 数组名 = new 数据类型[m][n]
  • 简化静态初始化:
    数据类型[][] 数组名 = {{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}}

3.5 二维数组内存图

在这里插入图片描述

工具的使用

1. IDEA的创建流程

先创建project,在project下创建module,在module下创建package -> 必须记住

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

证件照小于30kb怎么弄?这个工具三步搞定

当我们需要将照片上传到各种平台时,常常会遇到图片文件大小限制的问题。无论是社交媒体平台还是工作需求,如果照片文件过大,系统会提示上传失败或无法上传。想要解决的这个问题,可以选择将图片压缩指定大小,比如图片压…

蓝桥杯-求阶乘

问题描述 满足 N!的末尾恰好有 区 个o的最小的 N 是多少? 如果这样的 N 不存在输出 -1。 输入格式 一个整数 区。 输出格式 一个整数代表答案。 样例输入 样例输出 10 评测用例规模与约定 对于 30% 的数据,1<K<106 对于 100% 的数据,1<K<1018 运行限制 最大运行时…

【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~

Git教程 版本标签&#xff08;tag&#xff09; 1️⃣ 创建标签2️⃣ 查看存在的标签3️⃣ 标签的散列值4️⃣ 将标签添加到日志输出中5️⃣ 判断tag是否包含特定的提交&#x1f33e; 总结 大多数项目都是用 1.7.3.2和 “ gingerbread” 这样的数字或名称来标识软件版本的。在 …

数字图像处理与交叉学科中名词的拧巴

特征提取 图像处理——对图像、目标或特征点进行定量描述的方法及过程。 模式识别——对原特征进行特征变换&#xff0c;从高维空间到低维空间映射。 特征向量 模式识别、图像处理——一个观测包括多个变量&#xff0c;样本的多个特征组成特征向量。 线性代数——特征值对应的…

[闲聊统计]之参数估计是什么?(下)

我们在前面说了一下参数估计中的点估计&#xff0c;接下来&#xff0c;我们来讲一下区间估计。 区间估计——在点估计的基础上&#xff0c;给出总体参数估计的一个估计区间&#xff0c;该区间由样本统计量加减估计误差而得到。 置信水平——如果将构造置信区间的步骤重复多次&a…

javaWeb新闻发布及管理系统

摘 要 随着电脑、智能手机等能够连接网络设备的家庭化和大众化&#xff0c;各种网站开始被设计和开发出来&#xff0c;功能多种多样&#xff0c;涉及的领域也各有不同&#xff0c;生活、商业、科技等等。而信息的发布是网络的一大特点&#xff0c;人们上网的主要需求就是汲取自…

中高级前端需要掌握哪些Vue底层原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

javase_进阶 day10 集合2

泛型介绍 JDK5引入的, 可以在编译阶段约束操作的数据类型, 并进行检查注意 : 泛型默认的类型是Object 泛型的好处 统一数据类型&#xff0c;将运行期的错误提升到了编译期统一数据类型 常见的泛型标识符 : E V K T E : Element T : Type K : Key(键) V : Value(值)总结&am…

基于SSM+Jsp+Mysql的二手车交易网站

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

《高通量测序技术》分享,生物信息学生信流程的性能验证,以肿瘤NGS基因检测为例。

这是这本书&#xff0c;第四章第五节的内容&#xff0c;这一部分是以NGS检测肿瘤基因突变为例&#xff0c;描述了其原理和大概流程&#xff0c;这和以前我分享的病原宏基因组高通量测序性能确认方案可以互相补充&#xff0c;大家可以都看一下&#xff0c;但是想要真正的弄懂&am…

JS-27-操作表单

用JavaScript操作表单和操作DOM是类似的&#xff0c;因为表单本身也是DOM树。 不过表单的输入框、下拉框等可以接收用户输入&#xff0c;所以用JavaScript来操作表单&#xff0c;可以获得用户输入的内容&#xff0c;或者对一个输入框设置新的内容。 一、HTML表单的输入控件 H…

蓝桥杯2023A-05-互质数(Java)

5.互质数 题目描述 给定 a, b&#xff0c;求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大&#xff0c;你只需要输出答案对 998244353 取模的结果。 输入格式 输入一行包含两个整数分别表示 a, b&#xff0c;用一个空格分隔。 输出格式 输出一行包含一个…

Vue2电商前台项目(三):完成Search搜索模块业务

目录 一、请求数据并展示 1.写Search模块的接口 2.写Vuex中的search仓库&#xff08;三连环&#xff09; 3.组件拿到search仓库的数据 用getters简化仓库中的数据 4.渲染商品数据到页面 5.search模块根据不同的参数获取数据展示 &#xff08;1&#xff09;把派发actions…

使用MobaXterm/winTerm之类的工具连接虚拟机时报错Permission denied或者Access denied的解决办法

一、虚拟机设置&#xff1a; 1.将点击【编辑】---> 【虚拟网络编辑器】 2.添加VMnet6 1&#xff09;点击【DHCP设置】--->添加网络--->选中【仅主机模式】【将主机虚拟适配器连接到此网络】 2&#xff09;子网ip写“192.168.66.0” 3&#xff09;点击右下角【应用…

精准识别更安全,横扫六大手指难题的鹿客指脉锁S6 Max来了

极致的自然动作、极致的精准识别、识别时间600毫秒……在4月10日鹿客指脉锁S6 Max发布会上&#xff0c;高密度的关键词让关注发布会的所有人都意识到&#xff0c;下一代智能锁真的来了。 鹿客也将新品S6 Max称为“行业内、搭载全新一代指脉技术的革新之作”。 1、十年回答&…

Web 前端性能优化之八:前端性能检测实践

五、前端性能检测实践 1、常用的检测工具 Lighthouse、Chrome开发者工具中与性能检测相关的一些工具面板、页面加载性能分析工具PageSpeed Insights、专业的性能检测工具WEBPAGETEST等 1、Chrome 任务管理器 通过Chrome任务管理器我们可以查看当前Chrome浏览器中&#xff0…

蓝桥杯真题 字串简写 前缀和

&#x1f468;‍&#x1f3eb; Acwing 字串简写 输入 4 abababdb a b输出 6&#x1f496; 前缀和 import java.util.Scanner;public class Main {static int N (int) 5e5 10;static int[] l new int[N];// l[i] 表示 i 以及 i 左边包含多少个字符 apublic static void …

Hugo 配置个人博客

下载 Hugo 下载地址: https://www.gohugo.org/ 或者点击百度云链接下载安装包: 链接&#xff1a;https://pan.baidu.com/s/1s2GuNuUKDjEXRzXgCvEYHQ?pwd6666 提取码&#xff1a;6666 安装 Hugo 在文件夹内建立新的文件夹, 在再内部建立两个文件夹, 分别命名为 bin 和 site.…

权威报道 | 百分点科技:《突发事件应急预案管理办法》解读

近日&#xff0c;百分点科技CTO刘译璟作为唯一企业界代表&#xff0c;接受应急领域权威期刊——《中国应急管理》杂志邀请&#xff0c;与中国安全生产科学研究院、中央党校、中国政法大学等单位的专家一起&#xff0c;就《突发事件应急预案管理办法》&#xff08;以下简称《办法…

【数据库】数据库应用系统生命周期

目录 1.为什么提出”软件工程“的思想&#xff1f; 2.为什么提出”瀑布模型“&#xff1f;缺点是什么&#xff1f; 3.为什么提出”快速原型模型“&#xff1f; 4.为什么提出”螺旋模型“&#xff1f; 5.关于数据库的英文缩写。 6.模型设计中的3条设计主线&#xff1a;数…