黑马程序员--Java语言基础

时间:2023-02-19 23:42:51
-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

Java语言基础:关键字、标识符、注释、常量和变量、运算符、语言、函数、数组

一、关键字

关键字是指Java赋予了特殊含义的单词包括:

(1)用于定义数据类型的关键字:byte  short  int  longfloat  doublecharbooleanclass interface

(2)定义数据类型值的关键字true() false()  null()

(3)用于定义流程控制的关键字判断:if  else  switch case  default循环:for  while  docontinuebreakreturn

(4)定义访问权限修饰符的关键字 private(私有的) protected(受保护的)  public(公有的)

(5) 用于定义类、函数,变量修饰符的关键字:abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的) enum(枚举)

(6)定义类与类之间关系的关键字 extends(继承) implements(实现)

(7)定义建立实例及引用实例,判断实例的关键字new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)

(8)异常处理的关键字try(检查异常)  catch(捕获异常)  finally(最终执行 throw  throws:抛出异常,使用位置不同

(9)包的关键字 package(创建包) import(导入包)

main不是关键字,但是是可以被虚拟机识别的入口

二、标识符

在程序中自定义的一些名称,由26个英文字母大小写,数字0-9,符号_$组成

定义合法标识符规则1,数字不可以开头。2,不可以使用关键字。

书写规范:

包名:多单词组成时所有字母都小写。xxxyyyzzz

类名接口名多单词组成时,所有单词的首字母大写。XxxYyyZzz

变量名和函数名多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz

常量名所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ

三、常量和变量

1、常量表示不改变的数值

(1)Java中常量的分类:

a,整数常量。所有整数  有四中表现形式:二进制、八进制、十进制、十六进制

进制间的转换:

十进制转化为二进制:对数进行除2运算,把结果倒序写

二进制转化为十进制:对数进行乘2运算,各部分相加

b,小数常量。所有小数

c,布尔型常量。较为特有,只有两个数值。true false

d,字符常量。将一个数字字母或者符号用单引号(‘’)标识,引号里只能是单个字符。

e,字符串常量。将一个或者多个字符用双引号标识。

f,null常量。只有一个数值就是null

(2)变量

变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。

什么时候需要定义变量?当数据不确定的时候,需要对数据存储时,就定义一个变量完成存储动作。

定义变量的格式:数据类型 变量名=数据(初始化值)

其中数据类型可以分为以下几种:

byte 字节:JAVA中最小的数据类型,它在内存中占8位(1个字节,8bits)

short 短整型:在内存中占2个字节(16bits)

int 整型:在内存中占4个字节(32bits)。

long 长整型:在内存中占8个字节(64bits)。

float 单精度浮点型:在内存中占4个字节(32bits)。

double 双精度浮点型:内存中占8个字节(64bits)。

char 字符型:内存中占2个字节(16bits)。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。

boolean 布尔型:true和false。

同一种的数据类型才可以操作,否则要进行强制转换。

比如:

byte b1=3,b2=4,b3; 

b3=b1+b2   //报错,因为运算时自动转成了int,赋给byte的b3是不行的,要进行类型的强制转换。

b4=3+4   //不会报错,因常量相加,其结果只要不超过b4类型的表示范围就可以

四、运算符

算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符

黑马程序员--Java语言基础



注意:

(1)% 取模,取模规律:

如果左边小于右边,结果是左边;左边等于右边,结果是0;

右边是1,结果是0;如果取模中有负数,只看被模数,也就是只看左边

(2)a++:给a这个变量中的值进行一次加1操作,并把加1后的值赋值给a   a=a+1

   b=a++ :先把a的值赋给b,然后a 再自增

   b=++a:先自增,然后再把a的值赋给b

2、赋值运算符:+=-=*=/=%=

注意:short s=4;s=s+5 //错误要经过两次运算,先加变成int型,后赋值时字符类型不一样

      s+=5   //可以运行的,就是一次赋值运算,同时内部有自动转换动作

3、比较运算符:运算结果只能是booleanfalse true

4、逻辑运算符:&(与)  |(或)  ^(异或)   !(非)  &&(短路与)   ||(短路或)

黑马程序员--Java语言基础

用于连接boolean类型的表达式。特点:

(1)&与:同真为真,真与假为假,同假为假(有一个假就为假)

(2)|或:同真为真,真与假为真,同假为假(有一个真就为真)

(3)^异或:与 | 有点不一样。同真为假,就是两边相同,结果为假,两边不同结果为真。

(4)&&:左边为真,右边参与运算,左边为假,右边不参与运算。&左侧不论真假,右侧运算。

(5)||:左边为真,右边不参与运算。

5、位运算符(二进制运算):<<左移;>>右移;>>>无符号右移(逻辑右移) &~反码

黑马程序员--Java语言基础

规律:

左移:原数乘以2的次幂(次幂数是移动的位数)。 

右移:原数除以2的次幂(次幂数是移动的位数)之后取整

无符号右移:无论最高位是1或者0,都用0来补。

特点:

&运算时,0视为假,1视为真,只有1&1时结果是1,否则是0

|运算时,只有0 | 0时结果是0,否则是1

^运算时,相同二进制结果是01^1=0 , 0^0=0,不相同二进制位结果是11^0=1 , 0^1=1

^运算时,一个数异或同一个数两次,结果还是那个数。  7^4^4=7

例:最有效的方法计算出2乘以8的值?  2<<3

   60的十六进制,可以使用&和>>实现。 

   对两个整数变量的值进行互换(不需要第三方变量),可以使用^

6、三元运算符: (条件表达式)?表达式1:表达式2

   a)如果条件为true,运算后的结果是表达式1;

  b)如果条件为false,运算后的结果是表达式2;

   示例:

        获取两个数中大数。

               int x=3,y=4,z;

                z = (x>y)?x:y;//z变量存储的就是两个数的大数。

运算符的优先级:

优先级

运算符

结合性

1

() [] .

从左到右

2

! +(正) -(负) ~ ++ --

从右向左

3

* / %

从左向右

4

+(加) -(减)

从左向右

5

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

== !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

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

从右向左























五、转义字符

    概念:通过 \ 来转变后面字母或符号的含义。

    常用转义字符:

        \b:退格  

        \n:换行

        \t:制表符,相当于tab键

        \r:回车

        \\:表示反斜杠

        \':表示单引号

        \":表示双引号