IT兄弟连 Java语法教程 Java语法基础 经典面试题
1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小?
Java语言中有8中基本类型,分别是代表整形的byte、short、int和long,代表浮点型的float和double,代表字符的char已经代表布尔型的boolean。
byte: 8位二进制,−27~27−1。
short: 16位二进制,−215~215−1。
int: 32位二进制,−231~231−1。
long: 64位二进制,−263~263−1。
float: 32位二进制,−3.4*1038~3.4*1038。
double: 64位二进制,−1.7*10308~1.7*10308。
char: 16位二进制,0~65535。
boolean: boolean类型比较特殊,因为只表示true和false,所以理论上只需要1个字节使用0和1即可表示。
2.什么是变量?
当需要在程序中记录单个数据内容时,使用一个变量来记录即可,而变量的本质就是在内存中申请一块存储区域,并且该区域中的数据内容可以发生改变,因此得名为变量。由于存储的数据内容不同导致所需的内存空间大小不同,在Java语言中使用数据类型的概念加以描述,并指定该区域一个变量名的概念来记录地址信息。
3.标识符(变量名)的命名规则?
Java中标识符由字母、数字、下划线以及美元符号组成,其中的数字不能开头,因为Java中可以使用数字字面量,如果使用数字开头编译器会误以为这是数字字面量而不是标识符。
Java中标识符不能与Java中的关键字相同,JavaSE 8包含了50个关键字,关键字就是Java语言中用于表示特殊含义的单词。
Java中标识符严格区分大小写。
Java中标识符的长度没有限制,但是不推荐使用过长的标识符。
Java中标识符支持中文,但是强烈不推荐使用中文。
4.单个字节(8位二进制)表示的十进制整数范围?
在计算机中单个字节占用8个二进制位,最高为代表符号为,表示正负数。
正整数的单个字节表示的二进制范围是:0000 0000~0111 1111。
使用加权法,让二进制的每个数字乘以当前位的权重,再将所有乘机累加在一起得到十进制数。
0000 0000 => 0
0111 1111 => 0*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20
=> 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127
负整数的单个字节表示的二进制范围是:1000 0000 ~ 1111 1111。
负二进制转十进制先将二进制数减1再按位取反,然后采用加权法合并为十进制整数,最后添加负号。
1000 0000 => 减1:0111 1111
=> 按位取反:1000 0000
=> 转换十进制:128
=> 添加负号:-128
1111 1111 => 减1:1111 1110
=> 按位取反:0000 0001
=> 转换十进制:1
=> 添加负号:−1
所以单个字节表示的十进制整数范围是:−128~127。
5.在Java语言中如何表示一个字符?在Java语言中如何表示一个中文字符?
在Java语言中,使用char类型表示一个字符,Java语言规范中,char占两个字节16个二进制位。char其实是一个无符号的整数类型,范围是0~65535,不过Java底层使用Unicode字符集支持世界上所有的字符,所以在Java中char类型被专门用来表示Unicode字符编码而不是整数。Unicode中包含了中文字符,所以在Java中也可以使用char表示一个中文字符。
6.什么是数据类型转换?数据类型转换有几种方式?
数据类型转换就是一种类型的数据转换成另一种类型的数据。在Java中数据类型之间的转换分为两类:
自动类型转换:自动类型转换是指数据从小范围到大范围之间的转换,不需要人为干涉便自动完成转换。
强制类型转换:强制类型转换是指数据从大范围到小范围之间的转换,需要在变量名前使用“(数据类型)”的方式进行强制类型转换。强制类型转换可能会造成数据的丢失。
7.前++/--和后++/--有什么区别?
+表示加法运算符,++表示自增运算符,++会让变量本身的值加1然后再赋值给该变量。++i/i++就等于i = i+1。
-表示减法运算符,--表示自减运算符,--会让变量本身的值减1然后再赋值给该变量。--i/i--就等于i = i-1。
前++/--或后++/--如果在表达式中出现,那么前++/--是先将变量值加1/减1然后再使用该变量,后++/--是先使用该变量,然后使该变量值加1/减1。如果单独使用前++/--或后++/--,它们使没有区别的。
&和&&在逻辑运算符中都表示逻辑与的意思,相当于“并且”,只有运算符两边的结果都为真,最终的结果才为真,如果其中有一个表达式的结果为假,那么整个表达式的结果就为假。使用&会计算两侧表达式的值,而使用&&时,如果左侧表达式的值已经可以决定整个表达式的值时(左侧表达式的结果为假时,那整个表达式的值就一定为假),就不会计算第二个表达式的值。
IT兄弟连 Java语法教程 Java语法基础 经典面试题的更多相关文章
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...
- IT兄弟连 Java语法教程 Java平台的版本划分
自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...
- IT兄弟连 Java语法教程 Java语言入门 典面试题
1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...
- IT兄弟连 Java语法教程 Java语言的其他特性
Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ● 语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...
- IT兄弟连 Java语法教程 Java的发展历程
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...
- IT兄弟连 Java语法教程 Java语言背景
驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(In ...
- IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量
在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12 未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...
- IT兄弟连 Java语法教程 Java开发环境 安装JDK
因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...
- IT兄弟连 Java语法教程 Java语言的跨平台特性
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...
随机推荐
- Matlab线性规划
线性规划 线性规划的标准形式 \[\underset{x}{min}{\ c^Tx}\ s.t.\ Ax \leqslant b\] 例如,线性规划为: \[ \underset{x}{min ...
- React每隔0.2s颜色变淡 之settimeOut变成setInterval
案例 每隔0.2s颜色变淡 公共数据是放在state中的哦! 代码如下 import React, { Component } from "react"; import { set ...
- 【西北师大-2108Java】第十次作业成绩汇总
[西北师大-2108Java]第十次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第12周学习指导及要求 实验目的与要求 (1)掌握Vetor.Stack.Hashtable三个类的用途及常用 ...
- 在浏览器地址栏输入www.baidu.com到打开百度首页这期间到底发生了什么?
刚才无意间看到这么一个面试题,觉得有点意思,我想从五层网络模型的角度说说我的看法. 1.首先通过DNS域名系统向域名服务器发送域名解析请求来得到百度的IP地址39.156.69.79:2.系统通过AR ...
- 服务监控之 Spring Boot Admin.
一.概述 开始阅读这篇文章之前,建议先阅读下<SpringBoot 之Actuator>,该篇文章提到 Spring Boot Actuator 提供了对单个Spring Boot的监控 ...
- bootstrap-select使用过程中的一些问题
这里总结一下上次使用bootstrap-select的过程中遇到的一些问题.至于bootstrap-select的具体使用方法这里就不介绍了,网上有很多例子. 地址: 官方插件地址:https://d ...
- Springcloud 配置 | 史上最全,一文全懂
Springcloud 高并发 配置 (一文全懂) 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列之15 [博客园总入口 ] 前言 疯狂创客圈(笔者尼恩创建的高并发研习社群)Spring ...
- SpringBoot:@Scope注解学习
概述 先通过注解的javadoc,可以了解到,@Scope在和@Component注解一起修饰在类上,作为类级别注解时,@Scope表示该类实例的范围,在和@Bean一起修饰在方法上,作为方法级别注解 ...
- PHPStorm 配置本地 WebServer 运行 PHP
目标:PHPStorm 2018.2 通过配置运行 PHP 代码无需安装其它 Web Server File -> Settings菜单找到PHP,设置 CLI Interpreter PHP的 ...
- .net Core数据的幕等性
一.背景 代码实例:https://gitee.com/D_C_L/CurtainEtcAOP.git我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果. 例如: 1. 前 ...