ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础面试题(变量,数据类型,运算符,分支结构)

2021-09-22 14:59:53  阅读:151  来源: 互联网

标签:初始化 面试题 常量 元素 数据类型 运算符 数组 默认值


一.变量
1)通过三个元素来描述变量:变量类型 变量名以及变量值
      int age = 18; //声明int类型的变量并赋值
注意:
1.变量名必须是一个有效的标识符
2.变量名不可以使用java关键字
3.变量名不能重复

二.常量
1)定义:
常量定义:在程序执行的过程中,其值不可以发生改变的量。常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。
常量值定义:常量和常量值是不同的概念,常量值又称为字面常量,它是通过数据直接表示的。
关系:常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。
2)分类:
字符串常量 用双引号括起来的内容(“HelloWorld”)
整数常量 所有整数(12,-23)
小数常量 所有小数(12.34)
字符常量 用单引号括起来的内容(‘a’,’A’,’0’)
布尔常量 较为特有,只有true和false
空常量 null
3)注意事项:
在定义常量时就需要对该常量进行初始化。
final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
为了与变量区别,常量取名一般都用大写字符。
4)例子:
Java 语言使用 final 关键字来定义一个常量
final int COUNT=10;
final float HEIGHT=10.2F;

三. Java中有哪些数据类型?
Java中数据类型分为基本数据类型和引用数据类型2种

1)基本类型:byte(默认值0,占1字节)、short(默认值0,占2字节)、int(默认值0,占4字节)、long(默认值0,占8字节)、float(默认值0.0,占4字节)、double(默认值0.0,占8字节)、char(默认值\u0000,占2字节)、boolean(默认值false)
2)引用类型:(1)类(默认值null):类Class引用 
可以是我们创建的,还有几个java库中的类 
Object :Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类 
 如:Object object= new Integer(1); 来定义一个Interger类 
(2)接口(默认值null):接口interface引用

1.List<E>:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 (在列表中的位置)访问元素,并搜索列表中的元素。
2.add() : 在列表的插入指定元素。 
3.remove():移除列表中指定位置的元素。 
4.get(int index):返回列表中指定位置的元素。 
5.Map<K,V>: 
K - 此映射所维护的键的类型 
V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值.

(3)数组(默认值null):数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。
数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始。
数组的定义
第一种方式:类型[] 数组名; 如 int[] nums; 
第二种方式:类型数组名[]; 如 int nums[];
数组的初始化
Java中数组必先初始化后才能使用.
初始化就是给数组元素分配内存,并为每个元素赋初始值。
初始化数组的两种方式:
- 静态初始化:
语法格式:类型[] 数组名 = new 数组类型[]{元素1,元素2,元素3,...元素n};
简化语法:类型[] 数组名 = {元素1,元素2,元素3...元素n};
- 动态初始化:
如果我们事先不知道数组里存储哪些数据,只知道需要存储数据的个数,此时可以使用动态初始化方式。
动态初始化:初始化时由我们指定数组的长度,系统自动为数组元素分配初始值。
格式:类型[] 数组名 = new 数组类型[数组长度];
注意:无论,以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化。也就是说数组是定长的。

(4)为什么Java里有基本数据类型和引用数据类型?
引用类型在堆里,基本类型在栈里。
栈空间小且连续,往往会被放在缓存。引用类型cache miss率高且要多一次解引用。

对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高

四.运算符速查表

五.分支结构,switch结构,for循环

分支结构:先做判断再选择的问题就要使用分支结构

switch结构:switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束 

 

for循环:循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。 

 

 高效for循环:

格式: for(类型 变量名: 被遍历的集合(Collection)或者数组)

高效for循环与普通for循环的区别:高级for循环必须具有遍历的目标,可以理解为集合中的元素依次取出,所有元素只能取出一次!当实现重复动作时,高级for循环不能完成!比如循环打字字符串"ABCD",由于所有元素只取出一次,不可完成重复动作

 

标签:初始化,面试题,常量,元素,数据类型,运算符,数组,默认值
来源: https://blog.csdn.net/qq_58926945/article/details/120414049

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有