java基础知识

java SE 基础知识指南 36. Lock(上):相比Java synchronized,JUC Lock有什么优势?19. io类库:http://java.io类库如此庞大,怎么才能全面系统的掌握它?51. 线程状态:为何synchronized和Lock这两种锁对应的线程状态不同?34. synchronized(上):线程释放锁之后,如何通知其他线程获取锁?13. HashMap(上):为何HashMap中数组的大小必须是2的幂次方?37. Lock(中):如何使用AQS(抽象队列同步器)实现JUC Lock? 阅读详情

1.JDK和JRE的区别

答:

JDK是java程序开发工具包,包含JRE和开发工具(javac.exe等);

JRE是java语言的运行环境,包含JVM和运行Java程序所需的核心类库;

而JVM是java虚拟机,保证了java程序的跨平台性。

 

2.JVM跨平台吗?

答:JVM不具有跨平台性,不同的操作系统具有不同的java虚拟机。

 

3.保留字是什么?

答:保留字是尚未被使用的关键字,可能在java以后的升级版本中被升级为关键字的单词。比如说:goto和const。

 

4.java语言的特点?[开跨两多面]

答:开源,跨平台性,面向对象,多态,多线程。

 

5.main是关键字吗?

答:不是的。main是主函数的名字,能够被虚拟机识别,是程序执行的主入口。

 

6.path和classpath的区别?

答:

path环境变量,配置的是可执行文件.exe的执行路径,可以在任意盘符下访问path路径下的可执行文件。

classpath环境变量,配置的java语言编译后生成的字节码文件的执行路径,可以在任意盘符下访问配置后的字节码文件。

 

7. 基本单位

计算机最基本的存储单位是:字节(byte)

计算机能直接识别的进制是:二进制

计算机直接操作的数据是:二进制补码

java语言最底层的语言是:类

能够直接操作计算机硬件的语言:C语言

 

8进行运算的时,变量和常量有什么区别?

答:

变量是在程序运行过程中,其值在一定范围内可以发生改变的量,可以被多次赋值。

常量是在程序运行的过程中,其值不可以发生改变的量,只能赋值一次。

 

9标识符的组成?以及命名规则和命名规范?

答:标识符有英文字母,数字,_和$组成。

命名规则:

A:不能使用关键字,不能以数字开头。

B:严格区分大小写,最好要见名知义。

 

命名规范:

A:包名全部小写,多级包中间用.隔开。   

B:类名和接口名如果是多个单词组成,首字母全部大写。

C:函数名和变量名如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。

D:常量名全部大写,如果是多个单词,用_隔开。

 

10.变量数据类型(区分基本数据类型)类型分为哪几种?如何使用变量?

答:

基本数据类型:

整型:包括byte、short、int、long。

浮点型:包括float、double。

字符型;char;

布尔型:boolean。

 

引用数据类型:数组、自定义类、接口。

 

变量需要先定义,再赋值,才能使用。

【初始化 = 定义 + 赋值】

 

11.常量分为哪几种?

答:字面值常量和自定义常量。

字面值常量包括整数、小数、字符、字符串,布尔、null(空常量)。

自定义常量是通过final修饰定义的常量。

 

12.byte的范围多少?char的范围多少?

答:byte范围-128到127 。   char范围0到65535.(端口号)

Int数的最大表示范围是2147483647

 

13. ASCII码表中 字符 '0'  , 'a' , 'A' 分别对应int类型的值是多少.

答:0在表中对应的值是48,a对应的是97;A对应的是65.

你说的是大写的C还是小写的C

 

14. long是8个字节,float是4个字节,为什么long 比 float小?

答:底层采用的运算规则不一样。

 

Long是整型,float是浮点型。

 

扩展:

long是8个字节,表示的最大数是2^31-1

float是4个字节

IEEE754 规定浮点数的格式为:数符Ms+阶码E(移码)+尾数M(原码)

规定: 

单精度浮点数float Ms占1位,E占8位,M占23位. 

规格化单精度浮点数的真值为: 

(-1)^s * 1.M * 2 ^ (E - 127)

E的取值范围为0-255,去掉0是0,255是无穷大,取值范围为1-254

则E-127的取值范围为:-126-127远远大于long类型的63.

 

15. 以取值范围的大小排列数据的基本类型(不要忘了char).

答:byte<short,char<int<long<float<double

 

16.+=、-=、,++,--,这些运算符内隐含了强制类型转换.

 

17.++和—的使用?

答:

单独使用,在前在后都一样。

 

参与运算,在前是先自加或者自减,然后再赋值。在后是先赋值,再进行再自加或者自减。

它默认包含强制类型转换。

 

18. 逻辑或 " | " 和 短路或 " || "有什么区别?

答:|不管前面的结果是真是假,后面的都会参与运算,||前面为真,后面的就不参与运算。但是它们的最终运算结果是一样的。

 

19. 逻辑与 " & " 和 短路与 " && " 有什么区别?

答:&不管前面的结果是真是假,后面的都会参与运算,&&前面为假,后面的不参与运算。但是它们的最终运算结果是一样的。

 

20.Math.round原理是什么?

答:round()方法是用来进行四舍五入操作的。原理是先加0.5,然后再取floor值。

 

扩展:

public static double floor(double a)

(int)floor(a + 0.5f);

 

 

21.生成随机数的方法?

答:

第一种Math.random()方法,生成的是0.0和1.0范围之间的double类型的小数,包含头不包含尾。

第二种:Random类中的nextInt()方法。

 

扩展:

Random类:

Public int nextInt(int n):在0(包括)和指定值(不包括)

 

Math类

Public static double random():该值大于等于0.0且小于1.0

 

22.if…else..和三元表达的区别

答:

A:if…else是语句,而三元表达式是一个运算符,要求必须要有一个结果。

B:能用三元表达式写的就能用if语句写,但是能用if语句写的,三元表达式不一定能写。

C:三元表达式中不能用于输出调用。

 

23.while、do while 、for的区别?(改进,改成两问)

答:可以从两方面来说,

for循环结束后,其中定义的初始化条件不能再使用。而其他两个还可以使用

do while语句是先执行后判断,而另外两个循环是先判断后决定是否执行。

 

 

24.if和switch区别?

答:if常用来进行区间(范围)的判断 ,而switch常用来进行固定值的判断。

 

25. switch语句的表达式可以放什么?

答:JDK1.5以前可以是byte、short、char,int。JDK1.5以后可以使用枚举,1.7之后可以使用String。

 

26. 死循环的两种写法.

答:while(true)  和  for(;;)【for(;true;) 】

 

27. break和continue的区别

答:break是用来终止(结束)本次,代码块所在区间的循环,循环不再执行。continue是用来结束本次循环,进行下一次循环的(如果条件满足就继续执行,如果条件不满足就结束运行)。

break还可以用于switch-case语句中,而continue只能用于循环中

 

28.switch中break可以省略吗?default可以省略吗?

答:最后一个break省略,对结果没有影响。如果是其他的break省略,可能会发生case穿透。看需求,default是用来进行其他情况判断的,建议不要省略。

 

29:方法重载和方法重写的区别?

答:同一个类中,出现方法名相同,与返回值的类型无关,参数列表不同的两个(或以上)的方法时,称为方法重载。参数列表不同具体表现为:参数个数不同,参数的数据类型不同

    子父类间,子类出现和父类声明完全相同的方法时,就称为方法重写。重写要求返回值的类型必须一致(或者有子父类关系)。

 

30.定义方法的步骤是什么:

答:要明确方法的返回值类型,明确方法的参数列表。

 

31.方法的调用?

答:

有返回值的方法单独调用没有意义(推荐赋值调用),没有返回值的方法可以直接调用。

有返回值的方法可以用于输出调用;没有返回值的方法,不可以用于输出调用

 

32.数组的定义格式?

答:int[] arr =new int[5];//定义一个int类型的数组,长度是5,数组名为arr

int arr[]= new int[5];//定义一个int类型的arr数组,长度为5

 

int[] arr = new int[]{1,5,6,7}

int[] arr = {23,6,8,9…}

不可以动态与静态赋值相结合

二维数组

String[][] arr = new String[3][];

Syso(arr[0])  打印的结果是null。

 

33.数组的默认值?

答;

整形的默认值是0,引用数据类型是null;boolean型的是false。

Char = ‘\u0000’//unicode

 

34.栈内存和堆内存?

答:方法入栈,栈内存用于存储局部变量以及所有代码的执行,堆内存中存的都是new出来的东西。

 

35.数组和集合的区别:

(1)长度:数组长度是固定的;集合长度可变。

(2)数据类型:数组既能存储基本数据类型,也能够存储引用数据类型;集合只能存储引用数据类型。

(3)存储内容:Object类型除外,一个数组只能存储同一种数据类型(或者类型兼容)的元素;集合可以存储不同数据类型的元素。

 

36.数组和集合的转换?

答:

数组转为集合:Arrays.asList(数组),有2个特点:

1、转为集合后不能添加、删除元素。但是可以修改元素。

2、把基本类型的数组转为集合,是将整个数组看作一个对象存入集合中。  比如:ArrayList<int[]>

集合转为数组:list.toArray().

【DaVinci Developer专题】-36-创建一个“既读又写”的Sender Receiver Port(SR PR-Port) 有时会遇到SWC需要对一个Port进行“既可以读,也可以写”的操作。以下图为例,Test_A_SWC中Test_A_Port是P-Port;Test_B_SWC中Test_A_Port是R-Port。Test_C_SWC需要对Test_A_Port同时进行“读”和“写”。 该篇将详细介绍PR-Port的创建方法。 目录 1 创建一个S/R Port Interface 2 将一个PR-Port端口添加至Application Component 3 PR-Port端口初始化 4 Run. 阅读详情

相关推荐

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

java 整型减去字符_Java:从char中减去’0’得到一个整数……为什么这个有效?...

这工作正常:int foo = bar.charAt(1) - '0';但这不是-因为bar.charAt(x)返回一个char:int foo = bar.charAt(1);似乎从char中减去'0'会将其强制转换为整数。为什么或如何减去字符串" 0"(或它是一个字符?)将另一个字符转换为整数?不要误以为0 == 0。 实际上是0 == 48。单击啊,现在很合理了! 如果仅您将其作为答案并指向...

weixin_42266267的博客 3673

LTspice基础教程-024.参数扫描;step指令用法

step指令用于参数扫描,扫描步骤可以是线性的,对数的或列表。 下面介绍几种常用用法: 绘制一简单电阻分压电路,如下: 线性扫描 语法:.step param <Name> <Start Value> <Stop Value> <Increment> 例:.step param Res 20 100 20 意思是R2的阻值从20变化到100,...

gaoyong_wang的博客 3万+

java的-0和0_java中格式化数字0和#区别

public static void main(String[] args) {//0第一种情况实际数字位数被占位符位数多的时候//整数部分不动,小数部分四舍五入String str="42.1521";System.out.println(new DecimalFormat("0.0").format(new BigDecimal(str)));//42.2System.out.println(...

weixin_42509720的博客 673

“三进制”bonsai27b+NInfer=6g显存闪电侠(token真的自由了!)

本文将1.58-bit三元大模型Bonsai27B成功移植至NInfer推理引擎,并在RTX 4080 SUPER上实现100+ token/s的极速推理。通过自研补丁扩展NInfer支持Ada架构与三元量化格式,解决激活布局、行置换等关键bug,实测PPL 6.445,单流吞吐达96.7–130.8 t/s,20题基准得分16/20。附完整复现包(含文档、工具、源码补丁),零权重分发,助力垃圾显卡跑通27B级模型。

shensanshu的博客 1万+

车机破解避坑指南:为什么你的CarPlay盒子不识别?从USB设备ID解析兼容性问题

本文深入解析车机USB设备兼容性问题,特别是CarPlay盒子不识别的原因,从硬件ID到识别机制全面剖析。通过ADB工具和root权限操作,提供详细的破解方案和兼容性测试结果,帮助用户解决车机与第三方设备的连接问题。

weixin_29175469的博客 604

【语法】Java

java常用语法内容

qq_44579321的博客 363

【Leetcode】269.火星词典(Hard)

应用拓扑排序

明朗晨光的专栏 774

JAVA a --; 与 -- a;

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34320724的博客 822

YOLOv11改进 | 网络结构代码逐行解析(一) | 项目目录构造分析

Hello,大家好这次给大家带来的不是改进,是整个YOLOv11项目的分析整个系列大概会更新5-7篇左右的文章从项目的目录到每一个功能代码的都会进行详细的讲解,下面开始进行YOLOv11逐行解析的第一篇——项目目录构造分析开头之前顺便给大家推荐一下我的专栏,本专栏更新上百余篇YOLOv11改进机制手把手教你添加到网络结构中,同时针对拿到模型不知道如何修改,不知道如何发表论文的读者进行针对性的文章介绍,本专栏质量分平均分96分,内容质量完全有所保证。

Snu77的博客 1万+

【YOLO26保姆级零踩坑教程】环境搭建+五大任务快速入门,一行代码实现检测/分割/姿态/OBB/分类(Win+Linux全适配)

YOLO26环境搭建与实战指南:零踩坑全适配 本文是YOLO26全栈技术专栏的入门篇,提供Windows/Linux双系统的纯实战环境搭建指南,主打零踩坑、全适配。YOLO26基于Ultralytics框架优化,无需编译源码或手动下载权重,原生支持多任务推理。 环境配置关键点: 必须安装Ultralytics 8.4.0及以上版本 支持CPU/GPU环境,推荐Python 3.8-3.11 提供清华源配置解决下载慢问题 安装步骤: CPU版:一键安装Ultralytics和OpenCV GPU版:匹配CUD

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 774

java character - ‘a‘

java 的character-'a'时对于character类,前面要加char做类型转换 (char) b-'a'可以得到int值,如果是(char)('a'+26)得到char值

qq_37229577的博客 678

【船舶】风浪流模型水面船舶三自由度运动仿真【含Matlab源码 4379期】

风浪流模型水面船舶三自由度运动仿真 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 695

Java基础知识总结

Java基础知识总结 PDF版下载链接:《Java基础知识总结》。  一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java

BriskLyer的博客 2877

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java基础知识_什么才是java的基础知识?

作者:晓风轻来源:https://zhuanlan.zhihu.com/p/28615617近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。我做j2ee开发已经超过十载,作为过来人,心路历程估计和大家差不多。编码的前几年,很长一段时间觉得java简单...

weixin_39846898的博客 180

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java基础知识

标识符: 用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。合法的标识符:关键字:Java语言中已经赋予了特定含义的变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”,也叫容器的创建。变量的使用:Java 中的注释有三种:Java中的循环语句同c++与c中类似,共有三个for(初始化表达式;条件表达式;迭代语句) { 循环体语句; }whil

qq_62632865的博客 1756

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java基础知识脑图总结

Java基础知识脑图总结 Java基础知识.png

疾风知劲草,智者必怀仁 377

JAVA基础知识总结

java的基础知识总结

wei980704的博客 309

JAVA基础知识图解

JAVA基础知识图解

qq_42895153的博客 219

java基础知识总结

java 基础包含语法、面向对象,异常处理、文件操作等方面。

yvya_的博客 3169

java基础知识二

java基础知识二

qq_44616158的博客 1764

Java基础知识梳理

Java基础知识梳理上图的放大图

学习是快乐的~ 404

Java基础知识思维导图

两套Java基础知识的思维导图

AthlenaA的博客 1280

java基础知识大纲

java基础知识图解

仰望与追逐的博客 320
上一篇: AOP
下一篇: 学习PHP结构图
magic晴天
博客等级 码龄10年 9粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值