Java语言基础知识

第二章  Java语言基础知识

【课前思考】

1 Java中的标识符是由哪些字符组成的?

2 Java中有哪些保留字?简单数据类型包含哪几种?各种数据类型变量的定义方法和常量的表示方法及取值范围。

3 Java 中各简单数据类型间的优先次序和自动转换规则是什么?

各数据类型间在什么情况下,进行自动转换,在什么情况下使用强制转换?

4.            Java中有哪些运算符?这些运算符的优先关系是怎样的?

5.            Java 中有哪些控制语句?你了解每一种控制语句的语法规则吗?

6.            Java 中的一维数组和多维数组在数组动态初始化和静态初始化时有何不同?

7.            Java中的字符串有两种表示方法,这两种表示方法有什么不同?

8.            如何访问字符串?如何修改字符串?如何对两个字符串进行比较?

【学习目标】

本讲主要讲述java编程语言的基本语法知识,如java 中的简单数据类型,运算符和表达式,控制语句,数组及字符串的处理。通过本讲的学习,同学们可以编写简单的java程序。

【学习指南】

同任何一种编程语言一样,应深刻理解各知识点的概念,牢记一些java的语法,从而达到学习的目的。

【难 点】

重点:

l          深刻理解各知识点的概念,并熟记java 的语法规范。

l          熟练使用各种数据类型的定义,表示和引用。

l          能熟练使用各种控制语句。

l          能熟练处理字符串。

难点:

l          动态初始化复杂类型数组时,要先为数组中的元素开辟引用空间,再为每个元素开辟空间。

l          使用StringBuffer类表示和操作字符串时,要注意它可以处理可变字符串,即当在StringBuffer类型的字符串中插入字符而超出已分配的缓冲区时,系统会自动地为它分配额外的空间。

【知 点】

l          简单数据类型

l          运算符和表达式

l          控制语句

l          数组

l          字符串的处理

【内 容】

第一节  Java语言的基本组成

Ø         标识符

Java中,所有的标识符都必须以一个字母、下划线或美元符号“$”开头。后面可以包含字母、数字、下划线和美元符号。

Java语言区分字母大小写。

Ø         关键字

关键字是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java关键字将不能被用作标识符,关键字用英文小写字母表示。

Java关键字有:

abstract      else        interface      super

Boolean       extends     long           switch

break         false       native         synchronized

byte          final       new            this

case          finally     null           throw

catch         float       package        throws

char          for         private        transient

class         if          protected      true

countinue     implements  public         try

default       import      return         void

do            instanceof  short          while

double        int         static

Ø         分隔符

分隔符是用来区分源程序中的基本成分,可使编译器确认代码在何处分隔。分隔符有注释、空白符和普通分隔符三种。

,逗号    分隔变量声明中连续的标识符,或在for语句中连接语句。

;分号    语句(statement)结束符。

。句号    用于分隔包、子包和类或分隔引用变量中的变量和方法。

()括号  用于在方法定义和访问中将参数表括起来,或在表达式中定义运算的先后顺序,或在控制语句中将表达式和类型转换括起来。

[]方括号  用于声明数据类型,及引用数组的元素值。

{}花括号  它将若干语句序列括起来作为一个程序代码块,或为数组初始化赋值

三种注释方式:

1        //           单行注释符。

2  /*……*/     块注释符。

3/**……*/     文档注释。

 

第二节 数据类型

Ø         基本数据类型

数据类型说明了常量、变量或表达式的性质。Java的数据类型可分为基本类型、数组类型和复合类型三种。

 

Ø         常量

常量是指在程序中直接给出的一个符号串,作用是为变量赋值或参与表达式的运算。它可以是一个具体的数值或字符串。

Ø         变量

变量是程序中存储单元的标识符表示,是内存中的一块空间,提供了可以存放信息和数据的地方,具有记忆数据的功能。通常用字母或单词作为变量名。

附录1

Java的四种整型

类型

数据位

范围

字节型byte

8

-128 127

短整整short

16

-32768 32767

整型int

32

-2147483648  2147483647

长整型long

64

-9223372036854775808

9223372036854775807

附录2

Java的两种浮点型

类型

数据位

范围

单精度浮点

float

32

3.4E-038 3.4E+038

双精度浮点

double

64

1.7E-308 1.7E+308

第三节 运算符与表达式

Ø         运算符

Java的运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算。

Java提供了十分丰富的运算符,Java的运算符主要分为4类:算术运算符、位运算符、关系运算符和布尔运算符

1.   算术运算符

Java的的算术运算符分为一无运算符和二元运算符。一无运算符只有一个操作数,而二元运算符有两面三刀个操作数参加运算。

(1)         二元运算符:一元正(+),一元负(-),加1(++)和减1(――)。

例如:

int i=10,j,k,m,n;

j=+i;

k=-i;

m=i++;

m=++i;

n=--i;

n=i--;

一元运算符与操作数之前不允许空格。加11运算符不能用于表达式,只能用于简单变量。

(2)二元运算符;加(+)、减(-)、(*         除(/)和取余(%

其中,=、-、*、/完成加、减、乘、除四则运算,%则是求两面三刀个操作数相除的余数。这五种运算符均适用于整型和浮点型。当在不同数据类型的操作数之间进行算术运算时,所得结果的类型与精度最高的那种类型一致。例如:

7/2=3

70/2=3.5

7%2=1

7.0%2=1.0

-7%2=-1

7%-2=1

2.   位运算符

位运算符是对整数中的位进行测试、置位或移位处理,是对数据进行按位操作的手段。Java的位操作数只限于整型。

Java的位运算符有:非(~)、与(&)、或(|)、异或(^)、右移(>>)左移(<<)、0填充的右移(>>>.

位运算符的真值表

A

B

A&B

A|B

A^B

~A

0

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

1

1

1

1

1

1

0

0

例如,

~4=-5      等价于二进制            ~00000100=11111011

6|2=6      等价于二进制            0110|0010=0110

4&2=0      等价于二进制            0100&0010=0000

6^2=4      等价于二进制            0110^0010=0100

9>>2=1     1001右移2位为0001

1<<2=4     0001左移2位为0100

3.   关系运算符

关系运算符用于比较两个值之间的大小,结果返回布尔值。关系运算符有六种:等于,不等于,大于,大于等于,小于,小于等于。

4.   布尔运算符

布尔运算符只能处理布尔值,所得结果都是布尔值。

  Java的布尔运算符有:逻辑与(&)、逻辑或(|)逻辑非(!)、逻辑异或(^)、条件与(&&)和条件或(||)。

布尔运算符真值表

A

B

A&B

A|B

A^B

!A

F

F

F

F

F

T

T

F

F

T

T

F

F

T

F

T

T

T

T

T

T

T

F

F

 

5.   其它运算符

1)      赋值运算符与其他运算符的简捷使用方式

赋值运算符可以与二元、布尔和位运算符组合成  简捷的使用方式,从而简化一些常用的表达式。

 

2)      运算符[]与()

方括号[]是数组运算符,括号用于改变表达式  中运算符的优先级。

3)      字符串合并运算符

Java运算符来合并两个字符串。当合并  一个字符串与一个操作数时,Java自动将操作数  转化为字符串。

4)      三元条件运算符(?:)

该运算符的格式如下;

          <表达式1><表达式2><表达式3>

该运算符的作用是:先计算表达式1的值,当值  为真时,则将表达式2的值作为整个表达式的值;  反之则将表达式3的值作为整个表达式的值。

5)      对象运算符instanceof

对象运算符instanceof用来测试一个指定对象是指定类(或它的子类)的实例,若是则返回true,否则  返回fales

6)      强制类型转换符

Java强制类型转换符能将一个表达式的类型强制转换为某一指定类型,格式如下

       <类型><表达式>

7)      点运算符

点运算符“.”的作用有两个:一个是引用类中成员,二是分隔包(package)的各个域

 

6.   运算符的的优先级

优先级

运算符

结合性

1

.  []  ;  ,

 

2

++  --  +=  ~  !+-(一元)

3

*  /  %

4

+  -(二元)

5

<<   >>  >>>

6

<  >  <=  >=  instanceof

7

==  !=

8

&

9

^

10

|

11

&&

12

||

13

?:

14

=  *=  /=  %=  +=  -=  <<=  >>=  >>>=  &=  ^=  |=

Ø         表达式

表达式是算法语言的基本组成部分,它表示一种求值规则,通常由操作数、运算符和圆括号组成。操作数是参加运算的数据,可以是常量、常数、变量或成员方法引用。表达式中出现的变量名必须已经被初始化。

    表达式按照运算符的优先级进行计算,求得一个表达式的值。Java规定了表达式的运算规则,对操作数类型、运算符性质、运算结果类型及运算结果类型及运算次序都做了严格的规定,程序员使用时必须严格遵循系统的规定,不能自定义。

例如:

     (1+I)*2                   // 结果为int

     (I>=0)&(I<=9)       // 结果为boolean

      “Abc”+”xyz”        // 结果为string    

表达式的类型取决于其中的运算结果。

2.1   求一个三位数的数字之和。

首先求得这个三位数的、十、百位上的数字,将各位数字相加就是该三位数的数字之和。本例演示整数类型的运算。程序如下:

public class Digsum3  

{

    public static void main(String args[])

    {

        int n=123,a=0,b=0,c=0,digsum=0;

        a = n % 10;           //个位

        b = (n%100) /10;      //十位

        c = n / 100;          //百位

        digsum=a+b+c;

        System.out.println("Digsum("+n+") = "+digsum);

    }

}

程序运行结果:

Digsum(123)=6

2.2  求圆的面积。

给出一个圆的半径,可以求出圆的面积值。本例演示浮点数类型的运算,定义PI为浮点型常量。程序如下:

public class Circle_area

{

    public static void main(String args[])

    {

        final float PI= 3.14f ;

        float r= 2.5f ,area;

        area=PI*r*r;

        System.out.println("Area("+r+") = "+area);

    }

}

程序运行结果:

Area(2.5)=19.625

四节  流程控制

按程序的执行流程,程序的控制结构可分为3种:顺序结构、分支结构和循环结构

1           顺序结构

一般情况下,程序按语句的书写次序依次顺序执行,顺序结构是最简单的一种基本结构。

2           分支结构

Java有两种分支语句实现分支结构,if语句实现二路分支,swicth语句实现多路分支。

1)        if 语句

if 语句的定义形式为:

  if (<布尔表达式>)

<语句1>

[else  <语句2>]

2.4    找出三个整数中的最大值和最小值。

从两个方案中选择其一可以使用一个if 语句,而从三个方案中造反其一右以使用两个if 语句。本例使用了两个并列的if语句,其中第二个if 语句没有else子句。

除此之外,本例还使用了另一种方法(三元条件运算符?:)实现同样的问题。程序如下:

public class Max3if

{

    public static void main(String args[])

    {

        int a=1,b=2,c=3,max,min;

        if (a>b)

            max = a;

        else

            max = b;

        if (c>max)  max = c;

        System.out.println("max = "+max);

        min = a<b ? a : b;

        min = c<min ? c : min;

        System.out.println("min = "+min);

    }

}

程序运行结果:

max=3

min=1

2)        switch语句

switch语句的定义形式为:

switch (<表达式>)

{

  case <常量1>:<语句1>;

    break;

  case <常量2>:<语句2>;

    break;

…… 

[default:<语句>;]

}

  2.6  显示星期几对应的英文字符串。

week表示星期几,可用switch语句将week转换成对应英文字符串。程序如下:

public class Week1

{

    public static void main(String args[])

    {

        int week=1;

        System.out.print("week = "+week+"   ");

        switch (week)

        {

            case 0: System.out.println("Sunday");   break;

            case 1: System.out.println("Monday");   break;

            case 2: System.out.println("Tuesday");  break;

            case 3: System.out.println("Wednesday");break;

            case 4: System.out.println("Thursday"); break;

            case 5: System.out.println("Friday");   break;

            case 6: System.out.println("Saturday"); break;

            default: System.out.println("Data Error!");

        }

    }

}

程序运行结果:

week=1   Monday

3           循环结构

1)          for语句

2)          while语句

3)          do-while语句

第五节 数组

Ø           数组

数组是有序数据的集合,数组中的每个元素具有相同的数组名,根据数组名和下标来唯一地确定数组中的元素。

Ø           数组的使用

数组有一维数组和多维数组,使用时要先声明后创建。

声明方式为:数据类型 数组名[ ]

new 运算符分配内存,格式为:数组名= new  数据类型[size]

2.13   求一组数中的最大与最小值

本例用一维数组来存放以Math.random()方法产生的一组随机数。程序如下

public class Arraymax

{

    public static void main(String args[])

    {

        final int SIZE = 10;                       //常量

        int table[] = new int [SIZE];

        int i,max,min;

        for  (i=0;i<table.length;i++)

            table[i] = (int) (Math.random()*100);  //产生随机数

        System.out.print("table: ");               //输出一维数组

        for (i=0;i<table.length;i++)

            System.out.print(" "+table[i]);

        System.out.println();

        max = table[0];

        min = table[0];

        for (i=1;i<table.length;i++)

        {

            if (table[i]>max)     max = table[i];

            if (table[i]<min)     min = table[i];

        }

        System.out.println("Max="+max);

        System.out.println("Min="+min);

    }

}

程序运行结果:

table:  8440 16 3 10 49 28 76 94 70

Max=94

Min=3

 

 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java语言是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。它具有简单易学、跨平台、安全可靠等特点,广泛应用于各种软件开发领域。 以下是一些Java语言基础知识: 1. Java程序的基本结构:一个Java程序由一个或多个类组成,每个类包含属性(变量)和方法(函数)。一个Java程序必须包含一个类,并且该类必须包含一个名为`main`的方法作为程序的入口。 2. 数据类型:Java语言提供了多种数据类型,包括基本数据类型(如整数、浮点数、字符、布尔值等)和引用数据类型(如数组、类对象等)。 3. 变量和常量:在Java中,使用关键字`var`或指定具体的数据类型来声明变量。变量可以被赋予不同的值,而常量则是一旦赋值就不能再改变的值。 4. 控制流程:Java语言提供了各种控制流程语句,如条件语句(`if-else`、`switch`)、循环语句(`for`、`while`、`do-while`)和跳转语句(`break`、`continue`、`return`)等,用于控制程序的执行流程。 5. 面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。面向对象编程的核心是类和对象,通过定义类来创建对象,并通过对象进行方法调用和属性访问。 6. 异常处理:Java提供了异常处理机制,用于处理程序运行时可能发生的错误或异常情况。通过捕获和处理异常,可以使程序具备更好的健壮性和容错性。 7. 输入输出:Java提供了丰富的输入输出类和方法,可以实现与用户交互、读写文件等功能。 这些只是Java语言基础知识Java还有很多其他的特性和功能。如果你对特定的主题或问题有更多的兴趣,可以继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值