当前位置:文档之家› JAVA教程 第二讲 JAVA语言基础知识 (2)

JAVA教程 第二讲 JAVA语言基础知识 (2)

JAVA教程 第二讲 JAVA语言基础知识 (2)
JAVA教程 第二讲 JAVA语言基础知识 (2)

JAV A教程第二讲Java语言基础知识

2.1简单数据类型

2.1.1标识符和保留字

1.标识符

程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。J ava语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。例如,identifier,userName,User_Name,_sys_val,$c hange为合法的标识符,而2mail room#,class为非法的标识符。

2.保留字

具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserv ed word),也称为关键字,下面列出了java语言中的所有保留字:

bstract,break,byte,boolean,catch,case,class,char,continue,default,dou ble,do,else,extends,false,final,float,for,finally,if,import,implemen ts,int,interface,instanceof,long,length,native,new,null,package,priva te,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,while。

java语言中的保留字均用小写字母表示。

2.1.2数据类型概

1.java中的数据类型划分

java语言的数据类型有简单类型和复合类型:

简单数据类型包括:

整数类型(Integer):byte,short,int,long

浮点类型(Floating):float,double

字符类型(Textual):char

布尔类型(Logical):boolean

复合数据类型包括:

class

interface

数组

2.常量和变量

常量:用保留字final来实现

final typeSpecifier varName=value[,varName[=value]…];

如:final int NUM=100;

变量:是java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其定义格式如下:

typeSpecifier varName[=value[,varName[=value]…];

如:int count;char c='a';

变量的作用域指明可访问该变量的一段代码,声明一个变量的同时也就指明了变量的作用域。按作用域来分,变量可以有下面几种:局部变量、类变量、方法参数和例外处理参数。在一个确定的域中,变量名应该是唯一的。局部变量在方法或方法的一个块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类。方法参数传递给方法,它的作用域就是这个方法。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。

2.1.3简单数据类型

1.布尔类型--boolean

布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:

boolean b=true;

2.字符类型--char

字符常量:

字符常量是用单引号括起来的一个字符,如'a','A';

字符型变量:

类型为char,它在机器中占16位,其范围为0~65535。字符型变量的定义如:

char c='a';/*指定变量c为char型,且赋初值为'a'*/

3.整型数据

整型常量:

◇十进制整数

如123,-456,0

◇八进制整数

以0开头,如0123表示十进制数83,-011表示十进制数-9。

◇十六进制整数

以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。

整型变量:

数据类型所占位数数的范围

byte8-27~27-1

bhort16-215~215-1

int32-231~231-1

long64-263~263-1

4.浮点型(实型)数据

实型常量:

◇十进制数形式

由数字和小数点组成,且必须有小数点,如0.123, 1.23,123.0

◇科学计数法形式

如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。

◇float型的值,必须在数字后加f或F,如1.23f。

实型变量:

数据类型所占位数数的范围

float32 3.4e-038~3.4e+038

double64 1.7e-038~1.7e+038

5.简单数据类型的例子:

【例2.1】

public class Assign{

public static void main(String args[]){

int x,y;//定义x,y两个整型变量

float z= 1.234f;//指定变量z为float型,且赋初值为1.234

double w= 1.234;//指定变量w为double型,且赋初值为1.234

boolean flag=true;//指定变量flag为boolean型,且赋初值为true

char c;//定义字符型变量c

String str;//定义字符串变量str

String str1="Hi";//指定变量str1为String型,且赋初值为Hi

c='A';//给字符型变量c赋值'A'

str="bye";//给字符串变量str赋值"bye"

x=12;//给整型变量x赋值为12

y=300;//给整型变量y赋值为300

}

}

2.1.4简单数据类型中各类型数据间的优先关系和相互转换

1.不同类型数据间的优先关系如下:

低------------------------------------------->高

byte,short,char->int->long->float->double

2.自动类型转换规则

整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;

操作数1类型操作数2类型转换后的类型

byte、short、char int int

byte、short、char、int long long

byte、short、char、int、long float float

byte、short、char、int、long、float double double

3.强制类型转换

高级数据要转换成低级数据,需用到强制类型转换,如:

int i;

byte b=(byte)i;/*把int型变量i强制转换为byte型*/

2.2运算符和表达式

2.2.1运算符

对各种类型的数据进行加工的过程成为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可有:

◇一元运算符:++,--,+,-

◇二元运算符:+,-,>

◇三元运算符:?:

基本的运算符按功能划分,有下面几类:

1算术运算符:+,―,*,/,%,++,――。

例如:

3+2;

a-b;

i++;

--i;

2关系运算符:>,<,>=,<=,==,!=。

例如:

count>3;

I==0;

n!=-1;

3布尔逻辑运算符:!,&&,||。

例如:

flag=true;

!(flag);

flag&&false;

4位运算符:>>,<<,>>>,&,|,^,~。

例如:

a=10011101;b=00111001;则有如下结果:

a<<3=11101000;

a>>3=11110011a>>>3=00010011;

a&b=00011001;a|b=10111101;

~a=01100010;a^b=10100100;

5赋值运算符=,及其扩展赋值运算符如+=,―=,*=,/=等。

例如:

i=3;

i+=3;//等效于i=i+3;

6条件运算符?:

例如:result=(sum==0?1:num/sum);

7其它:

包括分量运算符·,下标运算符[],实例运算符instanceof,内存分配运算符ne w,强制类型转换运算符(类型),方法调用运算符()等。例如:

System.out.println("hello world");

int array1[]=new int[4];

2.2.2表达式

表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。

1.表达式的类型

表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:

布尔型表达式:x&&y||z;

整型表达式:num1+num2;

2.运算符的优先次序

表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:

优先次序运算符

1.[]()

2++--!~instanceof

3new(type)

4*/%

5+-

6>>>>><<

7><>=<=

8==!=

9&

10^

11|

12&&

13||

14?:

15=+=-=*=/=%=^=

16&=|=<<=>>=>>>=

例如,下述条件语句分四步完成:

Result=sum==0?1:num/sum;

第1步:result=sum==0?1:(num/sum)

第2步:result=(sum==0)?1:(num/sum)

第3步:result=((sum==0)?1:(num/sum))

第4步:result=

2.3控制语句

Java程序通过控制语句来执行程序流,完成一定的任务。程序流是由若干个语句组成的,语句可以是单一的一条语句,如c=a+b,也可以是用大括号{}括起来的一个复合语句。J ava中的控制语句有以下几类:

◇分支语句:if-else,switch

◇循环语句:while,do-while,for

◇与程序转移有关的跳转语句:break,continue,return

◇例外处理语句:try-catch-finally,throw

◇注释语句://,/**/,/***/

2.3.1分支语句

分支语句提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。

1.条件语句if-else

if(boolean-expression)

statement1;

[else statement2;]

2.多分支语句switch

switch(expression){

case value1:statement1;

break;

case value2:statement2;

break;

…………

case valueN:statemendN;

break;

[default:defaultStatement;]

}

◇表达式expression的返回值类型必须是这几种类型之一:int,byte,char,short。

◇case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的。

◇default子句是可选的。

◇break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switc h语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。

2.3.2循环语句

循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。Java语言中提供的循环语句有:

◇while语句

◇do-while语句

◇for语句

1.while语句

[initialization]

while(termination){

body;

[iteration;]

}

2.do-while语句

[initialization]

do{

body;

[iteration;]

}while(termination);

3.for语句

for(initialization;termination;iteration){

body;

}

◇for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。

◇初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。

◇在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。

for(i=0,j=10;i

……

}

2.3.3跳转语句

◇break语句

◇continue语句

◇返回语句return

1.break语句

◇在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。

◇在Java中,可以为每个代码块加一个括号,一个代码块通常是用大括号{}括起来的一段代码。加标号的格式如下:

BlockLabel:{codeBlock}

break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。例如:

break BlockLabel;

break语句

a:{……//标记代码块a

b:{……//标记代码块b

c:{……//标记代码块c

break b;

……//此处的语句块不被执行

}

……/此处的语句块不被执行

}

……//从此处开始执行

}

2.continue语句

continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:

continue;

也可以用continue跳转到括号指明的外层循环中,这时的格式为

continue outerLable;

例如:

outer:for(int i=0;i<10;i++){//外层循环

inner:for(int j=0;j<10;j++){//内层循环

if(i

……

continue outer;

}

……

}

……

}

3.返回语句return

return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:

return expression;

return;

return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中

2.3.4例外处理语句

包括try,catch,finally,throw语

2.4数组

java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。

2.4.1一维数组

1.一维数组的定义

type arrayName[];

类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。

例如:

int intArray[];

Date dateArray[];

2.一维数组的初始化

◇静态初始化

int intArray[]={1,2,3,4};

String stringArray[]={"abc","How","you"};

◇动态初始化

1)简单类型的数组

int intArray[];

intArray=new int[5];

2)复合类型的数组

String stringArray[];

String stringArray=new String[3];/*为数组中每个元素开辟引用

空间(32位)*/

stringArray[0]=new String("How");//为第一个数组元素开辟空间

stringArray[1]=new String("are");//为第二个数组元素开辟空间

stringArray[2]=new String("you");//为第三个数组元素开辟空间

3.一维数组元素的引用

数组元素的引用方式为:

arrayName[index]

index为数组下标,它可以为整型常数或表达式,下标从0开始。每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。

2.4.2多维数组

Java语言中,多维数组被看作数组的数组。

1.二维数组的定义

type arrayName[][];

type[][]arrayName;

2.二维数组的初始化

◇静态初始化

int intArray[][]={{1,2},{2,3},{3,4,5}};

Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

◇动态初始化

1)直接为每一维分配空间,格式如下:

arrayName=new type[arrayLength1][arrayLength2];

int a[][]=new int[2][3];

2)从最高维开始,分别为每一维分配空间:

arrayName=new type[arrayLength1][];

arrayName[0]=new type[arrayLength20];

arrayName[1]=new type[arrayLength21];

arrayName[arrayLength1-1]=new type[arrayLength2n];

3)例:

二维简单数据类型数组的动态初始化如下,

int a[][]=new int[2][];

a[0]=new int[3];

a[1]=new int[5];

对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。

而且,必须为每个数组元素单独分配空间。

例如:

String s[][]=new String[2][];

s[0]=new String[2];//为最高维分配引用空间

s[1]=new String[2];//为最高维分配引用空间

s[0][0]=new String("Good");//为每个数组元素单独分配空间

s[0][1]=new String("Luck");//为每个数组元素单独分配空间

s[1][0]=new String("to");//为每个数组元素单独分配空间

s[1][1]=new String("You");//为每个数组元素单独分配空间

3.二维数组元素的引用

对二维数组中的每个元素,引用方式为:arrayName[index1][index2]

例如:num[1][0];

4.二维数组举例:

【例2.2】两个矩阵相乘

public class MatrixMultiply{

public static void main(String args[]){

int i,j,k;

int a[][]=new int[2][3];//动态初始化一个二维数组

int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//静态初始化

一个二维数组int c[][]=new int[2][4];//动态初始化一个二维数组

for(i=0;i<2;i++)

for(j=0;j<3;j++)

a[i][j]=(i+1)*(j+2);

for(i=0;i<2;i++){

for(j=0;j<4;j++){

c[i][j]=0;

for(k=0;k<3;k++)

c[i][j]+=a[i][k]*b[k][j];

}

}

System.out.println("*******Matrix C********");//打印Matrix C标记for(i=0;i<2;i++){

for(j=0;j<4;j++)

System.out.println(c[i][j]+"");

System.out.println();

}

}

2.5字符串的处理

2.5.1字符串的表示

Java语言中,把字符串作为对象来处理,类String和StringBuffer都可以用来表示一个字符串。(类名都是大写字母打头)

1.字符串常量

字符串常量是用双引号括住的一串字符。

"Hello World!"

2.String表示字符串常量

用String表示字符串:

String(char chars[]);

String(char chars[],int startIndex,int numChars);

String(byte ascii[],int hiByte);

String(byte ascii[],int hiByte,int startIndex,int numChars);

String使用示例:

String s=new String();生成一个空串

下面用不同方法生成字符串"abc":

char chars1[]={'a','b','c'};

char chars2[]={'a','b','c','d','e'};

String s1=new String(chars1);

String s2=new String(chars2,0,3);

byte ascii1[]={97,98,99};

byte ascii2[]={97,98,99,100,101};

String s3=new String(ascii1,0);

String s4=new String(ascii2,0,0,3);

3.用StringBuffer表示字符串

StringBuffer();/*分配16个字符的缓冲区*/

StringBuffer(int len);/*分配len个字符的缓冲区*/

StringBuffer(String s);/*除了按照s的大小分配空间外,再分配16个

字符的缓冲区*/

2.5.2访问字符串

1.类String中提供了length()、charAt()、indexOf()、lastIndexOf()、getCha rs()、getBytes()、toCharArray()等方法。

◇public int length()此方法返回字符串的字符个数

◇public char charAt(int index)此方法返回字符串中index位置上的字符,其中index值的范围是0~length-1

◇public int indexOf(int ch)

public lastIndexOf(in ch)

返回字符ch在字符串中出现的第一个和最后一个的位置

◇public int indexOf(String str)

public int lastIndexOf(String str)

返回子串str中第一个字符在字符串中出现的第一个和最后一个的位置

◇public int indexOf(int ch,int fromIndex)

public lastIndexOf(in ch,int fromIndex)

返回字符ch在字符串中位置fromIndex以后出现的第一个和最后一个的位置

◇public int indexOf(String str,int fromIndex)

public int lastIndexOf(String str,int fromIndex)

返回子串str中的第一个字符在字符串中位置fromIndex后出现的第一个和最后一个的位置。

◇public void getchars(int srcbegin,int end,char buf[],int dstbegin)

srcbegin为要提取的第一个字符在源串中的位置,end为要提取的最后一个字符在源串中的位置,字符数组buf[]存放目的字符串,dstbegin为提取的字符串在目的串中的起始位置。

◇public void getBytes(int srcBegin,int srcEnd,byte[]dst,int dstBegin)参数及用法同上,只是串中的字符均用8位表示。

2.类StringBuffer提供了length()、charAt()、getChars()、capacity()等方法。

方法capacity()用来得到字符串缓冲区的容量,它与方法length()所返回的值通常是不同的。

2.5.3修改字符串

修改字符串的目的是为了得到新的字符串,类String和类StringBuffer都提供了相应的方法。有关各个方法的使用,参考java2API。

1.String类提供的方法:

concat()

replace()

substring()

toLowerCase()

toUpperCase()

◇public String contat(String str);

用来将当前字符串对象与给定字符串str连接起来。

◇public String replace(char oldChar,char newChar);

用来把串中出现的所有特定字符替换成指定字符以生成新串。

◇public String substring(int beginIndex);

public String substring(int beginIndex,int endIndex);

用来得到字符串中指定范围内的子串。

◇public String toLowerCase();

把串中所有的字符变成小写。

◇public String toUpperCase();

把串中所有的字符变成大写。

2.StringBuffer类提供的方法:

append()

insert()

setCharAt()

如果操作后的字符超出已分配的缓冲区,则系统会自动为它分配额外的空间。

◇public synchronized StringBuffer append(String str);

用来在已有字符串末尾添加一个字符串str。

◇public synchronized StringBuffer insert(int offset,String str);

用来在字符串的索引offset位置处插入字符串str。

◇public synchronized void setCharAt(int index,char ch);

用来设置指定索引index位置的字符值。

注意:String中对字符串的操作不是对源操作串对象本身进行的,而是对新生成的一个源操作串对象的拷贝进行的,其操作的结果不影响源串。

相反,StringBuffer中对字符串的连接操作是对源串本身进行的,操作之后源串的值发生了变化,变成连接后的串。

2.5.4其它操作

1.字符串的比较

String中提供的方法:

equals()和equalsIgnoreCase()

它们与运算符'=='实现的比较是不同的。运算符'=='比较两个对象是否引用同一个实例,而equals()和equalsIgnoreCase()则比较两个字符串中对应的每个字符值是否相同。

2.字符串的转化

https://www.doczj.com/doc/1c4940209.html,ng.Object中提供了方法toString()把对象转化为字符串。

3.字符串"+"操作

运算符'+'可用来实现字符串的连接:

String s="He is"+age+"years old.";

其他类型的数据与字符串进行"+"运算时,将自动转换成字符串。具体过程如下:

String s=new StringBuffer("he is").append(age).append("years old").toString ();

注意:除了对运算符"+"进行了重载外,java不支持其它运算符的重载。

【本讲小结】

java中的数据类型有简单数据类型和复合数据类型两种,其中简单数据类型包括整数类型、浮点类型、字符类型和布尔类型;复合数据类型包含类、接口和数组。表达式是由运算符和操作数组成的符号序列,对一个表达式进行运算时,要按运算符的优先顺序从高向低进行,同级的运算符则按从左到右的方向进行。条件语句、循环语句和跳转语句是java中常用的控制语句。

数组是最简单的复合数据类型,数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。Java中,对数组定义时并不为数组元素分配内存,只有初始化后,才为数组中的每一个元素分配空间。已定义的数组必须经过初始化后,才可以引用。数组的初始化分为静态初始化和动态初始化两种,其中对复合数据类型数组动态初始化时,必须经过两步空间分配:首先,为数组开辟每个元素的引用空间;然后,再为每个数组元素开辟空间。Java中把字符串当作对象来处理,ja https://www.doczj.com/doc/1c4940209.html,ng.String类提供了一系列操作字符串的方法,使得字符串的生成、访问和修改等操作容易和规范。

Java基础知识

一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.doczj.com/doc/1c4940209.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

史上最全Java基础知识点归纳

史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资

深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。

java基础知识点总结

Created by AIwen on 2017/5/14、 java就是面向对象的程序设计语言;类可被认为就是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都就是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则就是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、与多态。java提供了private、protected、与public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量与与方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承就是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)与对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、与方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器就是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总就是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以就是public、protected、private其中之一,或者省略构造器名:构造器名必须与类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再就是构造器。 实际上类的构造器就是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总就是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值就是隐式的。 java类名必须就是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其她字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再与后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其她字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以就是java语言允许的任何数据类型,包括基本类型与引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static与final最多只能出现其中的一个,与abstract组合起来使用。也可省略。 返回值类型:可以就是java语言的允许的任何数据类型,包括基本类型与引用类型。 方法名:与成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总就是后执行。

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

java语言程序设计基础篇第十版课后答案第二章答案

package cn.Testcx; import java.util.Scanner; public class lesson2 { public static void main(String[] args){ @SuppressWarnings("resource") Scanner input =new Scanner(System.in); System.out.print("请输入一个摄氏温度:"); double Celsius =input.nextDouble(); double Fahrenheit =(9.0/5)*Celsius+32; System.out.println("摄氏温度:"+Celsius+"度"+"转换成华氏温度为:"+Fahrenheit+"度"); System.out.print("请输入圆柱的半径和高:"); double radius =input.nextDouble(); int higth = input.nextInt(); double areas =radius*radius*Math.PI; double volume =areas*higth; System.out.println("圆柱体的面积为:"+areas); System.out.println("圆柱体的体积为:"+volume); System.out.print("输入英尺数:"); double feet =input.nextDouble(); double meters =feet*0.305; System.out.println(feet+"英尺转换成米:"+meters); System.out.print("输入一个磅数:"); double pounds =input.nextDouble(); double kilograms =pounds*0.454; System.out.println(pounds+"磅转换成千克为:"+kilograms); System.out.println("输入分钟数:"); long minutes =input.nextInt(); long years =minutes/(24*60*365); long days = (minutes%(24*60*365))/(24*60); System.out.println(minutes+"分钟"+"有"+years+"年和"+days+"天"); long totalCurrentTimeMillis =System.currentTimeMillis(); long totalSeconds =totalCurrentTimeMillis/1000; long currentSeconds =totalSeconds%60; long totalMinutes =totalSeconds/60; long currentMinutes =(totalSeconds%(60*60))/60; long currenthours =(totalMinutes/60)%24; System.out.print("输入时区偏移量:"); byte zoneOffset = input.nextByte(); long currentHour =(currenthours+(zoneOffset*1))%24; System.out.println("当期时区的时间为:"+currentHour+"时"+currentMinutes+"分"+currentSeconds+"秒");

java语言程序设计基础篇第二章程序练习题答案

java语言程序设计基础篇第二章程序练习题答案

2.1(将摄氏温度转化为华氏温度) import java.util.*; public class test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.print("Enter a degree in celsius: "); double Celsius = input.nextDouble(); double Fahrenheit; Fahrenheit = (9.0/5) * Celsius + 32; System.out.println(Celsius + " Celsius is" + Fahrenheit + " Fahrenheit"); } } 2.2(计算圆柱体的体积) import java.util.*; public class test {

public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.print("Enter the radius and length of a cylinder: "); double radius = input.nextDouble(); double length =input.nextDouble(); double area = radius * radius * Math.PI; double volume = area * length; System.out.println("The area is " + area); System.out.println("The volume is " + volume); } } 2.3(将英尺转换为米) import java.util.Scanner; public class test { public static void main(String[] args) {

超级经典java基础知识总结

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,javac命令和java命令做什么事情呢?

java基础知识点

第一天课程(2012-7-10) JAVA常用的名词 JVM java 虚拟机 Application 应用程序必须有一个入口的方法叫做public static void main(String[] args){} Applet 小应用程序该程序必须要内嵌在一个容器中运行,它有自己的生命周期 重点: JAVA的开发环境 JDK: java 开发工具集 JDK版本问题1.4不支持泛型5.0 泛型 6.0枚举 默认安装路径C:\Program Files\Java\ JRE: JAVA运行时环境 环境变量的配置 (1)Path:window寻找可执行应用程序的一个查找路径不同的路径之间使用; 来分隔 配置一个路径C:\Program Files\Java\jdk1.6.0_26\bin (2)CLASSPATH 告诉系统到那些目录下面去查找对应的要执行的文件 .;D:\3020\j2se\cx\chapter1 .表示当前目录 预习作业: 常用的DOS命令 切换目录查询文件拷贝文件重命名移动文件 *表示通配符*.java *.* 常用java命令 Javac 编译命令主要将以.java结尾的Java文件编译生成以.Class结尾的二进制字节码文件。 Javac java文件名.java Java 运行命令java 类名 Javadoc生成帮助文档命令 javadoc java文件 面向对象的基本概念

类 (属性方法构造方法 ) 对象对象创建传递销毁 面向对象的三大基本特性:封装、继承、多态 OOP AOP 类 是由客观事物经过大脑抽象而形成概念,是对一类事物的描述 使用class 关键字来描述类 类中有属性和方法: 属性对应的是事物的静态特性(可以叫做成员变量) 方法对应的是事物的动态特性 对象:是类的一个具体的实例化 创建对象对象的方法: 类名对象名= new 类名(); 调用类的构造方法来创建对象构造方法是特殊的方法:方法名=类名 注意: 类中属性和方法必须在创建对象之后才能使用 对象.属性对象.方法.表示引用 第二天课程 (2012-7-11) JAVA语言描述 类的声明 语法格式: [< modifiers>] class < class_name> { [] [] } 修饰词class类名{ 属性定义部分<可选> 构造方法 <可选> 普通方法 <可选> } 用于修饰class的关键字有两种:(1) public 公共的 (2)缺省不写表示当前类只能在同一个包中使用 注意点:(1)一个java文件中最多只能有一个类被public 修饰,并且要求使用public

Java语言编程基础知识

Java语言编程基础知识 Java语言编程基础知识 学习Java要掌握不同数据类型的变量定义与使用,掌握不同运 算符的运算规则,掌握流程控制语句的执行流程,编写方法的声明 与调用,创建数组并访问数组元素等知识。那么Java语言编程基础 知识有哪些呢,一起来看看! 1)注释 在程序开发工程中,用于解释和说明程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释。 2)关键字 了解Java关键字的含义及特点,掌握关键字使用的注意事项。 3)标识符 了解什么是标识符,标识符的组成规则,以及标识符使用时的注意事项。 4)常量与变量 理解常量与变量的含义,并掌握常量与变量的区别、变量的定义格式以及变量的赋值。 5)数据类型 掌握Java语言的'数据类型,如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、 接口、数组。 6)运算符

熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。 7)流程控制语句 了解什么是流程控制语句,掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能。 8)方法 掌握方法的定义及格式,并能正确的调用方法,理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点。 9)数组 了解数组的概念,掌握数组的定义格式、静态初始化、动态初始化,并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、数组排序和二分查找,以及二维数组的定义格式及初始化。

Java语言入门教程

Java语言入门教程 引言 您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机 程序?无论您是想自己写出游戏程序的14岁孩子,还是对计算机编程已经好奇了20年的70岁老人,这篇文章都适合您。在本文中,我将通过教您用Java程序设计语言编程使您了解计算机程序的原理。 在讲授计算机编程的知识之前,我首先做如下假设: ?我假设您目前对计算机编程一无所知。如果您已经懂一些编程知识的话那么本文的开始部分对您来说就会显得十分简单。尽可放心跳过这些章节,从新知识处开始学习。 ?我假设您对计算机的使用有一些了解。具体说就是我假设您已经知道如何编辑、复制、删除和重命名文件,以及如何获取有关您的系统的信息等等。 ?为简单起见,我假设您的机器运行Windows95、98、2000、NT或XP操作系统。使用其他操作系统的用户将这里学到的概念运用到自己的系统中应 该也是比较容易的。 ?我假设您有学习的欲望。 进行Java编程需要的所有工具都可以轻松在网上免费获得。网上还有大量的Java学习资料,所以学完本文以后您可以很容易去学习更多内容以继续提高水平。在这里学习的Java编程在编译器、开发环境、阅读材料等等上没有任何花销。学会了Java再学习其他的语言就变得容易了,所以这里是个不错的起点。 交待完这些事情,我们就准备好了。让我们开始吧! 编程术语 记住,我假定您不懂编程。下面是一些术语,它们将有助于您的理解:?计算机程序——计算机程序是一组指令,告诉计算机应该怎么做。指令可 以告诉计算机将几个数相加,或比较两个数字并根据比较的结果作出决 定,如此之类。计算机程序只是面向计算机的一组指令而已,正如菜谱是 厨师的指令,乐谱是乐师的指令一样。计算机准确地执行这些指令的同时 也就完成了有用的工作,如计算支票簿收支,或者在屏幕上显示一个游戏,或运行一个字处理程序。 ?编程语言——为了能使计算机辨识您给它的指令,这些指令需要以一种计算机能够理解的语言书写,即编程语言。有很多计算机编程语言:Fortran、Cobol、Basic、Pascal、C、C++、Java、Perl,正如有很多人类语言一样。 它们都是用不同的方式来表达类似的概念。 ?编译器——使用人可以阅读的编程语言(如Java)写好程序后,还要用编译器将其翻译成计算机可执行的形式。您很可能在您的计算机上见到过

第2章Java 语言基础范文

第2章 Java 语言基础 1.标示符和关键字在定义和使用方面有何区别? 【答】定义方面:标示符是用户定义的、以字母开头的字母数字序列,关键字是由Java语言定义的、具有特定含义的英文单词。 使用方面:标示符用于命名变量、常量、类、对象等元素,每一个关键字都有特定的含义,不能被赋予别的含义。 2.Java语言的基本数据类型有哪些?引用数据类型有哪些? 【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface) 3.试分析基本数据类型与引用数据类型的主要特点,并说明使用这两种变量有哪些差别?【答】基本数据类型的变量保存数据值,而引用数据类型的变量保存地址。 4.算术运算、关系运算、逻辑运算和位运算各有哪些运算符? 【答】算术运算:单目运算符有+(正)、—(负)、++(自增)、——(自减),双目运算符有+(加)、—(减)、*(乘)、/(除)、%(取余) 关系运算:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)都是双目运算 逻辑运算:&(与)、|(或)、!(非)、^(异或)、&&(条件与)、||(条件或),其中!是单目运算,其它都是双目运算 位运算:~(非)、&(与)、|(或)、^(异或)、<<(左移位)、>>(右移位)、>>>(无符号移位) 5.程序中为什么需要常量和变量?声明常量或变量时,为什么必须给出其所属的数据类型?【答】在程序中使用的数据大多需要经常变化,用常量值表示显然不够,因此每一种算法语言都提供常量和变量来存储数据。 为了确定常量或变量的数据性质、取值范围、以及它们占用的内存单元的字节数和它们参加的合法运算和操作。 6.什么是变量的作用域,声明变量时,如何确定变量的作用域? 【答】变量的作用域是指其作用范围。变量声明的位置决定了它的作用域 7.设i是一个整数类型变量,写出下列问题对应的表达式? (1)判断i为奇数或偶数; 【答】i%2==0 //取值为true时是偶数,否则是奇数 (2)判断i的值是否在0~9之间; 【答】(i>0)&&(i<9) 8.设ch是一个字符变量,写出下列问题对应的表达式 (1)判断ch是一个十进制的数字字符

java语言基础教程

一、标识符及字符集 Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定: 1.类、接口:通常使用名词,且每个单词的首字母要大写 2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔 4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。 Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。 Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限 二、关键字 Java常用关键字列表如下:

分类如下: 1.访问控制:private 私有的 protected 受保护的 public 公共的 2.类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步 transient 短暂 volatile 易失 3.程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行while 循环 if 如果 else 反之 for 循 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认 4.错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象 throws 声明一个异常可能被抛出 try 捕获异常 5.包相关import 引入 package 包 6.基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假

1.Java基础知识测试

考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面说法正确的是) A. JVM就是Java虚拟机,包含java核心类库 B. JRE就是java运行环境,包含java程序编译运行的工具环境 C. JDK就是java开发环境,javac是其中的一个工具 D. 功能范围:JDK > JVM > JRE 2.下面的说法正确的是( ) A. Java 语言是面向对象的、解释执行的网络编程语言。 B. Java 语言具有可移植性,是与平台无关的编程语言。 C. Java 语言可对内存垃圾自动收集。 D. Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。 3.给定java代码,如下: public byte count(byte b1, byte b2){ return ____; } 要使这段代码能够编译成功,横线处可以填入 A. (byte)(b1-b2) B. b1-b2 C. (byte)b1+b2 D. (byte)b1/b2

4.关于类的命名,正确说法是() A. 可以由数字和英文拉丁字母组成,且可以任意排序 B. 命名要做到见名知意 C. 如果是由多个单词组成,每个单词首字母大写 D. 可以是Java已经定义过的关键字 5.关于main方法说法错误的是() A.main方法是java程序执行的入口 B.main方法的方法体重至少要有一行代码 C.main必须定义在一个类中 D. main方法的定义格式为:public static void main(String[] args){} 6.类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是: A. double a = fun(1,2); B. double a = fun(1.0,2.0); C. int x = fun(1,2); D. int x = fun(1.0,2.0); 7.给定java代码,如下,编译运行,结果是() public static void main(String[] args){ boolean flag; System.out.println(“flag”+flag); } A. 编译错误 B. 编译通过,单出现运行时错误 C. 正常运行,输出flag=false D. 正常运行,输出flag= 8.下面哪个关键字可以定义一个类() A. interface B. class C. extends D. implements

java第二章1

第二章 Java语言基础 一选择题 1. 下列java标识符,错误的是() A、_sys_varl B、$change C、User_name D、1_file 2.下列不属于简单数据类型的是() A、整数类型 B、类 C、符点数类型 D、布尔类型 3.下列属于JA V A关键词的是() A、TRUE B、goto C、float D、NULL 4.下列声明和赋值语句错误的是 A、double w=3.1415; B、String strl=”bye”; C、float z=6.74567 D、boolean truth=true; 5.java中,八进制数以______开头。 A、0x B、0 C、0X D、08 6.自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为() A、char-int-long-float-double B、int-long-float-double-char C、long-float-int-double-char D、以上都不对 7.在java中,Integer.MAX_V ALUE表示 A、浮点类型最大值 B、整数类型最大值 C、长整型最大值 D、以上说法都不对 8.JA V A中,数据类型值中不可能出现的符号是() A、d B、f C、e D、/

9.下列表示单引号的是() A、… B、\? C、\\\\? D、…\\ 10. 下列语句片断中,four得值为:() int three=3; char one=‘1’ char four=(char)(three+one); A、3 B、1 C、31 D、4 11. 下列不属于整型变量的类型是 A、byte B、short C、float D、long 12. int类型整型变量在内存中的位数为 A、8 B、16 C、32 D、64 13. 下列数据类型转换,必须进行强制类型转换的是 A、byte→int B、short→long C、float→double D、int→char 14. java中,用()关键字定义常量 A、final B、#define C、float D、const 15. 关于变量的作用范围,下列说法错误的是 A、异常处理参数作用域为整个类 B、局部变量作用于声明该变量的方法代码段 C、类变量作用于声明该变量的类 D、方法参数作用于传递到方法内代码段 16. 下列属于条件运算符的是 A、+ B、?: C、&& D、>> 17. 下列程序test类中的变量c的最后结果为

java基础知识大全(必看经典)

第一讲 Java语言入门 1.1 Java的特点 1.1.1面向对象: ?与C++相比,JAVA是纯的面向对象的语言 C++为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使 C++成为一个"混血儿"。而JAVA语法中取消了C++里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等。 1.1.2可移植(平台无关性): ?生成中间字节码指令 与其他编程语言不同,Java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。任何操作系统,只要装有Java虚拟机(JVM),就可以解释并执行这个中间字节码文件。这正是Java实现可移植的机制。 ?原始数据类型存储方法固定,避开移植时的问题 Java的原始数据类型的大小是固定的。比如,在任何机器上,整型都是32位,而C++里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。Java的字符串,则采用标准的Unicode格式保存。可以说,没有这个特性,Java的可移植性也不可能实现。 1.1.3简单 ?JAVA在语法上与C++类似 JAVA的语法与C++很接近,有过C或者C++编程经验的程序员很容易就可以学会JAVA语法; ?取消了C++的一些复杂而低效的特性比如:用接口技术代替了C++的多重继承。C++中,一个类允许有多个超类,这个特性叫做"多重继承",多重继承使得编译器非常复杂且效率不高;JAVA 的类只允许有一个超类,而用接口(Interface)技术实现与C++的多继承相类似的功能 其它被取消的特性包括:虚拟基础类、运算符过载等 ?JAVA的基本解释器和类支持模块大概仅40K 即使加入基本的标准库和支持线程的模块,也才220K左右。与GUI(图形用户界面)相比,

相关主题
相关文档 最新文档