java语言

Java语言的开发环境

时间:2024-11-07 20:01:43 java语言 我要投稿
  • 相关推荐

Java语言的开发环境

  Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。Java语言的开发环境分享给大家,欢迎大家阅读!

  Java语言的开发环境

  1)JDK是什么?

  JDK(JavaDevelopmentKit)Java开发工具包。包括了JRE,是开发Java的人员必备的开发运行Java程序的工具。

  2)JRE是什么?

  JRE(JavaRuntimeEnvironment)Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

  3)JVM是什么?

  JVM(JavaVirtualMachine)Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

  5)需要配置的相关环境变量?path:用于搜索外部命令,例如编译程序的javac命令,执行程序的java命令classpath:用于搜索类,即class文件,例如可以在不同的位置执行类文件

  6)

  配置环境变量的方式?

  有两种:临时配置和持久配置

  临时配置:在命令行下用set变量名=变量值,仅在当前命令行窗口有效持久配置:在我的电脑——属性中配置,持久有效

  8)

  Java文件的类型?有两种:

  扩展名为java的文件:是Java源文件,属于编译之前的纯文本文件,存储java源代码。扩展名为class的文件:是Java类文件,属于编译之后的二进制文件,存储字节码。

  9)

  Java的编译运行原理?

  首先编写java源文件,然后编译成class类文件,然后通过虚拟机解释成机器码到硬件执行。

  10)

  Java是编译型语言还是解释型的语言?

  既不是完全编译型,也不是完全解释型,是半编译半解释的。

  Java程序的基本结构

  1)Java语言区分大小写吗?

  区分,不管是数据还是标识符或者关键字都区分大小写,例如public不能写成Public,“abc”不能写成“ABC”,inti不能写成INTI等等。

  2)main方法是作什么用处的?

  这是程序的入口方法,是由虚拟机自动调用的。

  3)语句必须用分号结束吗?

  必须的,但是代码块{}可以用分号结束,也可以不用分号结束

  4)Java中有几种注释,各自的功能

  有三种:

  单行注释//:加在行首只能注释一行

  多行注释/**/:注释多行,但不能嵌套使用

  文档注释/***/:用于生成HTML形式的文档,需要配合javadoc命令实现

  5)Java语言的数据类型是强类型还是弱类型?

  是强类型,意味着每一个变量都必须明确声明数据类型。

  6)Java语言中数据类型的划分?有什么区别?分成基本类型和引用类型两大类。

  基本类型:有8种,只能存储单一的值,不以对象的形式存在

  引用类型:除了基本类型之外其他的都是引用类型,能够存储复杂数据类型,以对象的形式存在

  7)基本类型都有哪8种类型?

  布尔类型:boolean占1字节字符类型:char占2字节

  整型:byte占1字节short占2字节int占4字节long占8字节

  浮点型:float占4字节double占8字节

  8)布尔值可不可以用0或者非0数代替?

  不可以,布尔值只能是true和false,不能使用数字,这和C语言是不一样的。

  9)直接写个整数10默认是什么类型的?

  整型的直接量例如10,100等默认的数据类型都是int型

  10)如何让一个整型的直接量变成long型的?

  在直接量后面加大写L后者小写l,例如10L

  11)整型数据在程序中直接使用可以使用什么进制?

  10进制,8进制,16进制,但不能使用二进制

  12)浮点运算在Java中有没有误差?

  有误差,所以精密运算请使用BigDecimal类

  13)直接写一个3.14的直接量是什么数据类型的?

  是double型,如果想表示是float的3.14必须写成3.14F或者3.14f,double型的3.14也可以写成3.14D

  14)char型采取的是什么类型的字符集?

  是Unicode全球统一编码,支持任何世界上官方的语言中的字符

  15)常见的转义字符有哪些?

  转义序列

  名称

  退格 制表 换行 回车”双引号\’单引号\

  反斜杠

  16)常见的Unicode字符对应的编码?大写的A到Z是对应65到90,小写的a到z是对应97到122,字符0到9是对应48到57

  17)空字符是不是用’’(两个并列的单引号)来表示?

  不是,空字符用’u0000’来表示,两个并列的单引号什么也不是。

  18)点,分号,花括号的各自的作用?

  点的作用有两个:一个是使用类或对象中的成员,用对象.成员,再一个就是包名和子包名之间的分隔符,例如顶层包名.子包名分号的作用是表示语句结束花括号的作用是代表一个语句块

  19)语句和关键字之间可以有任意的空白吗?

  可以的,例如System.out.println(100);就是正确的语句,但是关键字本身不能加空白或换行

  20)标识符是什么?

  标识符就是指在程序中给包,类,接口,方法,变量起的名字

  21)标识符有什么起名规则?

  1.应以字母、下划线、美元符开头2.后跟字母、下划线、美元符或数字3.不能用关键字和保留字4.严格区分大小写5.名称长度没有限制

  22)中文的变量名可以吗?

  是可以的,例如int数字=10;这个语句是正确的。因为java中采取Unicode字符集,所以任何的Unicode中的字符都可以作为标识符的名称,但考虑字符集的支持问题推荐还是使用英文字母命名。

  23)关键字和保留字有区别吗?

  在1.5后没有区别,都被称作关键字,但是1.5之前认为关键字是在Java中有特殊用途的不允许编程人员擅自改作其他用途,而保留字是在Java中没有特殊用途但不允许编程人员擅自改作其他用途,按此说法goto和const应该是此意义上的保留字。

  24)true,false,null可以用作标识符命名吗?

  不可以,这3个虽然不是关键字,但都是有特殊用途的值,也不能作为标识符命名

  25)一条声明语句可以声明多个变量吗?

  可以的,例如以下声明都是正确的

  inti;

  inti,j;

  inti=10,j;

  inti,j=10;

  inti=10,j=20;

  26)变量在没有赋值的情况下可以使用吗?

  不可以,变量没有赋值使用会报出变量未初始化的编译错误。

  27)常量有什么特点?

  在声明变量的时候加上final修饰符即为常量,表示这个变量只能被赋一次值。

  28)算数运算符有哪些?

  基本算数运算符有+-*/%++--

  29)单目运算符,双目运算符,三目运算符都是什么意思?

  其实也有叫一元运算符,双元操作符,三元操作符的,指的是有几个操作数形成一个完整表达式,例如++就是一个单目运算符,只需要一个操作数就可以形成表达式,像i++,而+运算符就是双目运算符,需要两个操作数形成表达式,例如5+3,还有三目运算符,例如5>3?0:-1

  30)++和--放在前面和放在后面有什么区别?

  如果是在一个表达式中,那++放后面表示先运算表达式,然后再进行自增运算,如果在一个表达式中,++放前面,则表示先进行自增运算然后在运算表达式。--同样道理。例如:

  inti=10;

  intj=i++;//先进行赋值运算然后再进行自增运算j的结果是10

  inti=10;

  intj=++i//先进行自增运算然后再进行赋值运算

  j的结果是11

  31)-5%2等于几,5%-2等于几?

  -5%2等于-1,5%-2等于1,运算得到是正数还是负数取决于第一个操作数的符号

  32)5/2结果是不是2.5?

  不是,是2,因为5和2都是int类型,所以不可能得到double型的结果。

  33)比较运算符有哪些?

  有><>=<===!=六项基本比较运算

  34)任何数据类型都可以使用><>=<=运算符吗?

  不是所有数据类型,例如true>false这个表达式就是编译错误,布尔类型和引用类型的表达式只能用==和!=两个比较运算,例如”abc”<=”xyz”这个表达式也是编译错误的

  35)’a’>’b’这个表达式编译正确吗?

  编译正确,’a’和’b’是字符类型,内部用Unicode编码表示的话a是97,b是98,所以实际上比较的是97>98,结果为false

  36)逻辑运算符有哪些?

  有&逻辑与,|逻辑或,!逻辑非,^异或,&&短路与,||短路或7

  37)逻辑与,逻辑或和短路与,短路或有什么区别?

  逻辑与和短路与的区别是:

  如果是逻辑与&,不管第一个表达式是true还是false,都会执行第二个表达式,例如a>b&xb为false,也会执行x>y

  如果是短路与&&,如果第一个表达式为false,将不会执行第二个表达式例如a>b&&xb为false,就不会执行x>y

  以此类推,逻辑或和短路或的区别是:

  如果是逻辑或|,不管第一个表达式是true还是false,都会执行第二个表达式如果是短路或||,如果第一个表达式为true,将不会执行第二个表达式

  38)与或非三个逻辑运算符的优先级是怎么排列的?

  “非”优先级最高,“与”其次,“或”优先级最低

  39)原码,反码,补码分别是什么意思?

  原码:将数字转换为二进制,第一位为符号位,正数为0,负数为1例如:12的原码是00001100-12的原码是10001100

  反码:正数的反码和原码相同,负数的'反码将原码符号位之外的位逐位取反例如:12的反码是00001100-12的反码是11110011

  补码:正数的补码和原码相同,负数的补码将反码加1例如:12的补码是00001100-12的补码是11110100最后强调一点,计算机存储数据用补码形式来存储。

  40)位运算符都有哪些?

  &与|或^异或~非>>右移<<左移>>>无符号右移

  41)1<<35怎么理解?

  1是int类型是32位,所以需要把35%32=3,所以事实上是和执行1<<3等价的

  42)数据类型转换需要遵循什么原则?

  小类型向大类型转换,是自动转换的,或者说隐式转换的大类型向小类型转换,是需要强制转换的,或者说显式转换例如:byteb=1;shorts=b;//自动转换b=(byte)s;//强制转换

  43)byteb=10这个语句是正确的,为什么10是int型比byte大还不需要强制转换呢?

  因为在java中做了特殊处理,其中规定byte,short,char类型可以直接赋予int类型的直接量,例如:byteb=10;shorts=10;charc=10;

  以上赋值语句都是正确的。

  但是不能超出超出类型的范围,例如以下赋值就是错误的:byteb=128;如果超出范围,必须得作强制转换,例如以下语句是正确的:byteb=(byte)128;

  需要强调的是,必须是int类型的直接量,以下语句就是错误的:byteb=10L;

  10L不是int类型的直接量。

  44)byteb=(byte)300;强制转换后的结果是44,是按照什么规律得出来的?

  是先把300转换成二进制,然后根据byte类型的大小截取了后8个位300的补码是00000000000000000000000100101100

  b的结果是:00000000000000000000000100101100结果为44

  45)byteb=(byte)true;这个转换成立吗?

  不成立,布尔值和数字是不兼容的,不能作任何转换。

  46)inti=(int)“100”;这个转换成立吗?

  不成立,引用类型和基本类型是不能直接强制转换的,需要用包装类的方法来转换。

  47)char型和short型哪个比较大?

  不能说哪个大,哪个小,这两个类型char的取值是从0~65535,而short类型的取值是-32768~32767,这个两个类型之间的转换都需要强制转换。

  48)字符串是不是基本类型?

  不是,String是java.lang包中的一个类,是引用类型的,8种基本类型中没有一个是String类型。

  49)空字符串用什么来表示?

  用””(两个并列的双引号)表示,代表0个长度的字符串对象。

  50)Strings=“”;和Strings=null;有什么区别?

  第一个表示s被赋值,指向了一个字符串对象,第二个表示s没有指向任何对象实例,是真空

  51)两个字符串用什么运算符可以连成一个字符串?

  用+运算符,例如”abc”+“xyz”最后的结果就是“abcxyz”

  52)数学运算符加法和字符串连接符都是+,怎么区分?

  是通过运算符两边的操作数来判断的,如果两边的操作数都是数字型的基本类型,则进行数学运算,如果两边的操作数有一个是字符串,则把另一个操作数也转换为则进行字符串连接运算。例如:

  5+4的结果是9“5”+4的结果是54

  53)判断字符串内容相同用什么方法?

  用equals方法判断内容相同,==只能判断引用是否相同

  54)提供用户输入使用哪个类

  使用javav.util.Scanner类

  55)if语句可以用if(-1)形式判断吗?

  不可以,数字不能代替布尔值

  56)if语句和循环语句的花括号什么时候可以省略?

  当执行的语句只有一句的时候

  57)switch语句有哪些规则?

  表达式expr的返回值必须是下述几种类型之一:int,byte,char,short或枚举常量;

  case子句中的值必须是常量,且所有case子句中的值应是不同的,也必须是下述几种类型之一:int,byte,char,short或枚举常量default子句是任选的;

  break语句用来在执行完一个case分支后使程序跳出switch语句块;

  58)对于退出循环break和continue有什么区别?

  break是退出整个循环

  continue是退出当前循环继续下一次循环

  59)声明数组创建数组的方法?

  以下声明都是合法的:int[]a;inta[];String[]a;

  以下创建数组对象都是合法的:int[]a=newint[3];int[]a={1,2,3};

  int[]a=newint[]{1,2,3};

  60)int[]x和String[]s这两个数组对象,哪个是基本类型,哪个是引用类型?

  两个都是数组对象,都是引用类型的

  61)数组元素下标最小是多少,最大是多少,超出范围会怎么样?

  最小是0,最大是数组元素个数减一,超出范围将会出现下标越界异常

  62)得到数组长度用length属性还是length()方法?

  是length属性,得到字符串长度才有length方法

  63)声明int[][]a=newint[3][],a是一个二维数组,a[0]本身是什么类型的?

  二维数组的元素都是一维数组,a[0]是int[]类型的

  64)数组的大小一经创建可不可以改变大小了?

  不可以,数组是定长的,一经创建就不能再改变大小了

  65)可以把2个int型,3个double型,4个String型的值放到一个数组中吗?

  不可以,数组的元素类型必须是相同类型的。

  66)java中的多维数组必须是要形成矩阵排列吗?不一定,也可以是不规则的。

  67)操作数组比较方便的实用类?

  java.util.Arrays类提供了很多关于数组的实用方法。

【Java语言的开发环境】相关文章:

Linux环境下java的开发环境07-15

Java程序开发与运行环境05-07

Java程序开发与运行环境09-22

Java构建JSE开发环境教程06-17

如何搭建Java程序开发环境09-01

windows下JAVA敏捷开发环境搭建步骤09-19

Java和.NET开发语言的不同点08-10

C++、C语言和JAVA开发的区别06-28

如何学习JAVA开发10-13

C++、C语言和JAVA开发有哪些区别08-09