java第一章试题库,java第十五章简答题
第一章基本Java语法(一)1。关键字和保留字。关键词的定义和特点:被Java语言赋予特殊含义,用于特殊用途的字符串(词)。特点:关键字中的所有字母都是小写。官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_关键词
2.2、保留字(reserved word)Java保留字:现有的Java版本还没有使用,但是未来的版本可能会作为关键字使用。在命名自己的标识符时,避免使用这些保留字goto和const。
2.标识符
2.1.什么是标识符?
Java中用来命名各种变量、方法、类的字符序列叫做标识符技能:任何可以给自己命名的地方都叫做标识符。2.2.定义合法标识符规则[重要]
它由26个英文字母组成,0-9,_或$。数字无从下手。标识符不能包含空格。不能使用关键字和保留字,但可以包含关键字和保留字。Java严格区分大小写,长度不限。例如,所有标有红线的地方都不是合法的标识符。
2.3.Java中的命名规范
Java中的命名约定:
包名:形成多词时所有字母小写:xxxyyyzzz类名:形成多词时所有单词首字母大写:XXXYYZZ变量名,方法名:形成多词时第一个单词首字母小写,第二个单词以每个单词首字母开头:XXXYYZZ常量名:所有字母大写,形成多词时每个单词用下划线连接:XXX _ YYY
起名字的时候,为了提高可读性,要尽量有意义。采用Java unicode字符集,所以标识符也可以用汉字声明,但不推荐。3.变量
3.1.变量的声明和使用
变量的概念:
内存中的存储区域。该区域的数据可以在同一类型内连续变化。变量是程序中最基本的存储单位,包括变量类型、变量名和存储值。变量的作用:
用于在内存中保存数据。使用变量注意:
Java中的每个变量都必须在使用前声明。使用变量名来访问该区域中的数据。变量的作用域:它的定义在一对{}中。变量仅在其作用域内有效。不能在同一范围内定义同名的变量。声明变量
语法:数据类型变量名例如:int var变量赋值
语法:变量名=值例如:var=10并声明赋值变量。
语法:数据类型变量名=初始化值例如:int var=10补充:变量的分类——根据不同的声明位置。
在方法外部,类内部声明的变量称为成员变量。在方法体内声明的变量称为局部变量。
注意:它们在初始值方面的异同:
相同:都有生命周期。不同:除了形参,其他局部变量都需要显式初始化。但是,全局变量可能不会显示初始化,因为它们有默认的初始值。3.2.基本数据类型
变量分类-按数据类型
为每个数据定义了特定的数据类型(强类型语言),并在内存中分配了不同大小的内存空间。
3.2.1.整数类型:byte、short、int、long
每个java整数类型都有固定的表号范围和字段长度,不受具体OS的影响,以保证Java程序的可移植性。java的整型常量默认为int,long常量的声明后面必须跟“L”或“L”。java程序中的变量通常声明为int类型,除非不足以表示大数,否则只使用long类型。类型
占用存储空间
表格编号范围
字节
1字节=8位
-128 ~ 127
短的
2字节
-2^15 ~ 2^15-1
(同Internationalorganizations)国际组织
4字节
-2 31 ~ 2 31-1(约21亿)
长的
8字节
-2^63 ~ 2^63-1
1MB=1024KB,1KB=1024B,1b=8bit(比特):电脑中最小的存储单位。字节:计算机中基本存储单位。/*
Java定义的数据类型
1.变量根据数据类型进行分类:
基本数据类型:
整数:byte \ short \ int \ long
浮点类型:浮点\双精度
类型:字符
布尔类型:布尔
参考数据类型:
班级:班级
界面:界面
数组:数组
二、变量声明在类中的位置:
成员变量与局部变量
*/
类变量Test1 {
公共静态void main(String[] args) {
//1.Integer: byte(1字节=8位)short(2字节)\ int (4字节)\ long(8字节)
//字节范围:-128 ~ 127
字节b1=12
字节B2=-128;
//B2=128;//编译失败,超出了表的范围。
system . out . println(B1);
system . out . println(B2);
//声明一个长整型变量,必须以“L”或“L”结尾
短s1=128
int i1=12345
long l1=345678586//345678586是int类型,因为自动类型提升为long类型而被编译。
system . out . println(L1);//类型提升将在后面讨论。你只需要知道长变量的声明必须以“L”或者“L”结尾
}
}3.2.2、浮点型:float、double
浮点常量有两种形式:十进制数形式:如:5.12,512.0f, 512(必须有小数点);科学的计数形式:如:5.12e2、512E2、100E-2浮点数:单精度,尾数可以精确到7位有效数字。在很多情况下,精度很难满足需求。Double:双精度,精度是float的两倍。通常采用这种类型。默认情况下,Java的浮点常量是double。如果声明浮点常量,必须在它后面加上“f”或“f”。
类型
占用存储空间
表格编号范围
单精度浮点
4字节(32位)
-3.403E38 ~ 3.403E38
双精度
8字节(64位)
-1.798E308 ~ 1.798E308
3.2.3.字符类型:字符
Char数据用于表示一般意义上的“字符”(2字节)。Java中的所有字符都是用Unicode编码的,所以一个字符可以存储一个字母、一个中文字符或其他书写语言的字符。字符变量有三种表现形式:字符常量是用单引号()括起来的单个字符。例如:char c1= aChar c2= mediumchar c3= 9Java还允许使用转义符“\”将后面的字符转换成特殊的字符常量。示例:char c3= \ n其中:“\n”表示换行符。直接使用Unicode值来表示字符常量:“\uXXXX”。其中XXXX代表十六进制整数。例如,“\u000a”表示可以操作\nchar类型。因为它都有相应的Unicode编码。/*
Java定义的数据类型
1.变量根据数据类型进行分类:
基本数据类型:
整数:byte \ short \ int \ long
浮点类型:浮点\双精度
类型:字符
布尔类型:布尔
参考数据类型:
Class: Class(字符串也属于class)
界面:界面
数组:数组
二、变量声明在类中的位置:
成员变量与局部变量
*/
类别变量测试2 {
公共静态void main(String[] args) {
//2.浮点类型:float(4字节)\ double(8字节)
//浮点型,用小数点表示数值。
// float表示数值范围大于long类型。
双d1=12.3
system . out . println(D1 1);//13.3
//定义浮点类型变量时,变量应以“f”或“f”结尾
浮动f1=12.3F
system . out . println(f1);//12.3
//通常定义浮点变量时使用双精度变量。
//3.字符类型:char(1个字符=2个字节)
//定义char变量,通常用一对单引号
char c1= a
//编译失败
//C1= AB ;//两个字符。
system . out . println(C1);//a
char c2= 1
Char c3= medium
char C4=“”;
system . out . println(C2);//1
system . out . println(C3);//在
system . out . println(C4);//
//表达式:1。声明一个字符;2.转义字符;3.直接使用Unicode值来表示字符常量
char c5= \ n//换行符
c5= \ t//制表符
system . out . println( hello C5 world );//你好世界
char c6= \ u0123
system . out . println(C6);//
char c7= \ u0043
system . out . println(C7);//C
}
}了解:ASCII码
在计算机内部,所有的数据都用二进制表示。每一位有0和1两种状态,所以8位可以组合成256种状态,称为一个字节。一个字节可以用来表示256种不同的状态,每种状态对应一个符号,也就是256个符号,范围从0000000到1111111。ASCII码:60年代美国制定了一套字符码,对英文字符和二进制位的关系做了统一规定。这就是所谓的ASCII码。ASCII码总共指定了128个字符。比如空格“SPACE”是32(二进制0010000),大写字母A是65(二进制01000001)。这128个符号(包括32个不能打印的控制符号)只占一个字节的后7位,前1位统一规定为0。缺点:不是所有的角色都能表现出来。同一个代码代表不同的字符:例如,130在法语代码中代表,但在希伯来语代码中代表字母Gimel()。
了解:Unicode编码
扰码:世界上有很多种编码方式,同一个二进制数可以解释为不同的符号。所以你要打开一个文本文件,一定要知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。Unicode:包含世界上所有符号的代码。每个符号都有一个唯一的代码,使用Unicode时不会出现乱码。Unicode的缺点:Unicode只规定了一个符号的二进制码,没有规定这个二进制码应该如何存储:Unicode和ASCII无法区分:计算机无法区分三个字节分别代表一个符号还是三个符号。另外,我们知道英文字母只用一个字节表示就够了。如果unicode统一规定每个符号用三个或四个字节表示,那么每个英文字母前的两个或三个字节必须是0,这是对存储空间的极大浪费。了解:UTF-8
UTF-8是互联网上使用最广泛的Unicode实现之一。UTF-8是一种可变长度编码方法。它可以用1-6个字节来表示一个符号,字节长度根据符号的不同而不同。UTF-8的编码规则:对于单字节UTF-8编码,该字节最高位为0,其余7位用于字符编码(相当于ASCII码)。对于多字节UTF-8编码,如果编码包含N个字节,则第一个字节的前N位是1,第一个字节的前N位是0,该字节的剩余位用于编码字符。第一个字节之后的所有字节都有最高的两位数字“10”,其余六位数字用于编码字符。3.3.4.布尔类型:布尔
布尔型用于判断逻辑条件,一般用于程序流程控制:if条件控制语句;While循环控制语句;Do-while循环控制语句;For循环控制语句;布尔数据只能取真值和假值,不能为空。不能用零或非零的整数代替false和true,这和C语言不同。java虚拟机中没有专门针对布尔值的字节码指令。Java语言表示操作的布尔值,编译后在Java虚拟机中替换为int数据类型:true用1表示,false用0表示。——— 《java虚拟机规范8版》等级变量测试3 {
公共静态void main(String[] args) {
//4.布尔型:布尔型
//只能取两个值中的一个:true和false
//常用于条件判断和循环结构中。
布尔型bb1=真;
system . out . println(bb1);//真
boolean isMarried=true
如果(已结婚){
System.out.println (No entry!);//禁止入内!
}否则{
System.out.println(您可以访问!);
}
}
}3.3、基本数据类型转换
自动类型转换:小容量的类型自动转换成大容量的数据类型。数据类型按容量排序如下:
当有多种类型的数据混合操作时,系统会先自动将所有数据转换成容量最大的数据类型,然后再进行计算。Byte、short和char是不互相转换的,计算时先转换成int类型。布尔类型不能与其他数据类型一起操作。当任何基本数据类型的值与字符串()连接时,基本数据类型的值将自动转换为字符串类型。/*
基本数据类型之间的运算规则:
前提:这里讨论的只是7中基本数据类型变量的操作。不包含布尔类型的。
1.自动类型升级:
当操作小容量数据类型的变量和大容量数据类型的变量时,结果自动升级到大容量数据类型。
注意:此时的容量是指数字范围的大小。例如,float的容量比long的大
字符、字节、短整型、长浮点型、双精度型
特殊:byte、char、short变量运算时,结果为int类型。
2.强制类型转换:
*/
类别变量测试4 {
公共静态void main(String[] args) {
字节B1=2;
int i1=129
//编译失败
//字节b2=b1 i1
int i2=b1 i1
long l1=b1 i1
system . out . println(I2);//131
system . out . println(L1);//131
float f=b1 i1
system . out . println(f);//131.0
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。
char c1= a//97
int i3=10
int i4=c1 i3
system . out . println(i4);//107
短s2=10
//编译错误
//char C3=C1 S2;
字节b2=10
//char C3=C1 B2;//编译失败,结果为int。
//short S3=B2 S2;//编译失败,结果为int。
//short S4=B1 B2;//编译失败,结果为int。
}
}类别变量测试5 {
公共静态void main(String[] args) {
//1.编码情况
长l=123456
system . out . println(l);//123456
//编译失败:整数太大,需要在它后面加L或L来表示long类型
//long L1=452367894586235;
long l1=452367894586235L
//**************************
//编译失败:浮点类型默认为double,需要在它后面加F或F表示浮点类型。
//float f1=12.3;
浮动f1=12.3f
//2.编码情况2:
//整型变量,默认类型为int。
//浮点变量,默认类型为double
字节b=12
//字节B1=B1;//编译失败,结果都是int
//float f1=b 12.3;//编译失败,结果是double。
}
}3.3.字符串类型:字符串
String不是基本数据类型,而是引用数据类型。用法与基本数据类型一致。例如:String str=" abcd一个字符串可以与另一个字符串连接,也可以直接与其他类型的数据连接。例如:str=str“XYZ”;int n=100str=strn;/*
字符串变量的使用
1.字符串是一种引用数据类型。
2.当声明字符串类型的变量时,使用一对“”
3.String可以用8个基本数据类型变量操作,操作只能是join操作;
4.操作的结果仍然是字符串类型
*/
类字符串测试{
公共静态void main(String[] args) {
字符串s1=好月亮!;
system . out . println(S1);//好月亮!
字符串s2= a
字符串S3=“”;//编译并传递
//char c=“”;//编译失败
//*******************************
int number=1001
String numberStr=学生ID:;
String info=numberStr number//联接操作
布尔b1=真;
字符串info1=info b1
system . out . println(info 1);//学号:1001true
}
}弦乐练习
字符串str 1=4;//判断str1是对是错:否
string str 2=3.5f“”;//判断str2是对是错:是
system . out . println(str 2);//输出:“3.5”
System.out.println(3 4 Hello!);//输出:7Hello!
System.out.println(Hello!3 4);//输出:你好!34
System.out.println(a 1 Hello!);//输出:98Hello!
system . out . println( Hello a 1);//输出:Helloa13.4,强制类型转换
自动类型转换的反向过程,将大容量的数据类型转换为小容量的数据类型。使用时,应添加强制转换字符: (),但这可能会导致精度下降或溢出,需要特别注意。通常情况下,字符串不能直接转换为基本数据类型,但可以通过基本数据类型对应的包装器类转换为基本数据类型。例如字符串a=" 43int I=integer . parse int(a);布尔类型不能转换为其他数据类型。类型转换的练习(判断是否可以编译)
短s=5;
s=s-2;//判断:没有,结果都是int
字节b=3;
b=B4;//判断:没有,结果都是int
b=(字节)(B4);//判断:可以,强制转换后可以是byte。
char c= a
int I=5;
浮动d=.314F
双结果=c I d;//判断:是
字节b=5;
短s=3;
短t=s b;//判断:没有,结果都是int4和decimal。
4.1.十进制和十进制之间的转换。关于十进制
所有的数字都以二进制形式存在于计算机的底部。对于整数,有四种表示:二进制):0,1,满2进1。以0b或0B开头。小数:0-9,满10进1。八进制:0-7,满8进1。它由数字0表示。十六进制:0-9和A-F,满16进1。它由0x或0X的开头表示。这里的A-F不区分大小写。例如0x21AF 1=0X21B0class BinaryTest {
公共静态void main(String[] args) {
int num1=0b110
int num2=110
int num3=0127
int num4=0x110A
system . out . println( num 1= num 1);//num1=6
system . out . println( num 2= num 2);//num2=110
system . out . println( num 3= num 3);//num3=87
system . out . println( num 4= num 4);//num4=4362
}
}4.2.默认情况下,二进制Java整型常量是int类型。用二进制定义整数时,二进制默认为32位,第32位为符号位;当它是长类型时,二进制默认占用64位,第64位是符号位。二进制整数有以下三种形式:原码:直接把一个数值变成二进制数。最高位是负号位的倒数:原代码逐位倒置,但最高位(符号位)确定为1。负数的补数:它的倒数加1。以计算机二进制补码的形式保存所有整数。计算机以二进制补码的形式保存所有正整数,原码、反码、补码都是一样的。负数的补码是它的反码。原码和逆码有助于推导补码。为什么要用原码,补码,补码?
用计算机识别“符号位”显然会让计算机的基本电路设计变得非常复杂!所以人们想出了一个在运算中加入符号位的方法。我们知道,根据算法,减去一个正数等于加上一个负数,即1-1=1 (-1)=0,所以机器只能加不能减,这样计算机运算的设计就更简单了。
4.2.1.原码、逆码和补码的计算方法
对于正数:原码、反码、补码都一样:三码合一。计算机的底层都是用二进制表示的数值。计算机底层使用数值的补码来保存数据。4.3.十进制和二进制之间的转换
二-十进制系统
二进制-八进制,十六进制
版权归作者所有:来自的博主wx631a9eff87243的原创作品。转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。