黑马程序员_java基础之一

------- android培训java培训、期待与您交流! ----------

一.关键字

  1.定义:被java赋予了特殊含义的单词。

  2.特点:所有字母都小写。

  3.用于定义数据类型的关键字:

     引用数据类型:class(类) interface(接口)

  4.基本数据类型:

     整数类型:byte  short  int  long   浮点类型:float  double

     字符类型:char     布尔型:boolean

 

  5.用于定义数据类型值的关键字:

     true(真) false(假)  null(空)

 

  6.用于定义流程控制的关键字:

     if else   switch case  default

     while do  for  break

     continue  return

 

  7.用于定义访问权限修饰符的关键字:

     private(私有化)    protected(受保护的)   public(公有的)

 

  8.用于定义类,函数,变量修饰符的关键字:

     abstract(抽象)  final(最终)  static(静态的)

     synchronized(同步)  enum(枚举)

  9.用于定义类与类之间关系的关键字:

     extends(继承) implements(实现)

 

  10.用于定义建立实例及引用实例,判断实例的关键字:

      new(新建对象)  this(当前引用)

      super(父类引用) instanceof(判断类型)

 

  11.用于异常处理的关键字:

     try catch (检查和捕获异常)  finally (最终执行)

     throw throws(抛出,但是使用的方法不同)

 

  12.用于包的关键字:

     package  import

 

  13.其它修饰符关键字:

     native(本地的)

     strictfp(strict float point,精确浮点)

     transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

     volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)

     assert(断言,可以看作是异常处理的一种高级形式,用于捕捉在代码中做出的假设)

 

二.修饰符

   特定的保留字,用来指定数据,方法和类的属性及使用方式.

   public  static  private  final  abstract   protected

 

三.标识符

   1.定义:在程序中定义的一些名称。(变量,包,类,方法,常量等)

           由字母,数字,下划线和美元符号$构成的字符串

   2.规则:

     不能以数字开头。

     不可以使用关键字。

   注意:

      Java中严格区分大小写。

      在起名字的时,为了提高阅读性,要尽量有意义。

   3.Java中的名称规范

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

      举例:cn.itheima.bank

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

      举例:ArrayDemo

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

      举例:

      变量:arr  maxValue

      函数:getAge  setAge

      常量名:所有字母大写,多单词组成时用下划线连接。

       举例:PI  MAX_VALUE

 

四.常量

   1.常量表示不能改变的数值。

   2.Java中常量的分类:

     a.整数常量。所有整数

     b.小数常量。所有小数

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

     d.字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

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

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

   3.对于整数:java有三种表现形式。

     a.十进制:0-9 ,满10进1.

     b.八进制:0-7 ,满8进1. 用0开头表示。

     c.十六进制:0-9,A-F,满16进1. 用0x开头表示

  4.定义方式: final 变量名=值;

  5.进制的基本转换

    a.十进制二进制互转

      十进制转成二进制除以2取余数

      二进制转成十进制乘以2的幂数

    b.十进制八进制互转

      可以先将十进制转换为二进制,再转换为八进制,一个八进制位相当于三个二进制位。

    c.十进制十六进制互转

       可以先将十进制转换为二进制,再转换为十六进制,一个十六进制位相当于四个二进制位。

  6.负数的二进制表现形式

    对应的正数二进制取反加1。

    负数的最高位都是1。

 

五.变量

  1.定义:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)

          该区域的数据可以在同一类型范围内不断变化

  2.作用:用来不断的存放同一类型的常量,并可以重复使用

  注意:变量的作用范围(一对{}之间有效)

          初始化值

  3.定义变量的格式:

    数据类型 变量名 = 初始化值;

  4.数据类型

   

        整数默认:  int                     小数默认:double

   注意:

     在java中,局部变量的声明不能使用public,private,static,protected。

     float类型有默认的后缀f或F,否则会被认为是double型。

 

六.自动类型转换

   1.自动类型转换(也叫隐式类型转换)由系统自动实现

      低级类型——>高级类型

   2.基本数据类型的优先级:

      byte short charà int à long à  float à  double

      高级与低级都是相对而言,如int类型相对与short类型是高级类型。

   3.表达式的数据类型自动提升

      所有的byte型、short型和char的值将被提升到int型。

      如果一个操作数是long型,计算结果就是long型;

      如果一个操作数是float型,计算结果就是float型;

      如果一个操作数是double型,计算结果就是double型。

   举例:

      byte b = 3;

      int x = 4;

      x = x + b;//b会自动提升为int类型进行运算。

  4.System.out.println(‘a’)与System.out.println(’a’+1) 的区别:

     System.out.println('a');//a

     System.out.println('a'+1);//98

 

七.强制类型转换(也叫显式类型转换)

   1.将高级数据类型转换为低级数据类型。

    举例:

     byte b = 2;

     b = b + 3;//编译不通过,出错

     b = (byte)b+3;//强制类型转换,强制将b+3的结果转换为byte类型,再赋值给b。

 

八.转义字符

  1.通过\来转变后面字母或者符号的含义。

     \b :退格     \n :换行      \t : 制表符

     \r :回车符,在windows系统中,回车符为\r\n

     \”  \” :双引号(一对)      \\  \\  :一对反斜杠

     \’ \’  :单引号(一对)

  注意:

    char=”\n”;//正确的写法

    char=”’”;//错误的写法

 

九.注释

   1.单行注释: //被注释的内容

   2.多行注释:

   3.文档注释:  主要用于描述类和数据,方法。注释内容可以被JDK提供的工具

              javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档

   4.作用:

     注解,说明,解释程序。

     调试程序。

 

十.运算符

  1.算术运算符

  

  注意:

     如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。对于除号

     “/”, 它的整数除和小数除是有区别的:

      整数之间做除法时,只保留整数部分而舍弃小数部分。

       例如:int x=3510;x=x/1000*1000; x的结果是:3000

    “+”除字符串相加功能外,还能把非字符串转换成字符串

      例如:System.out.println("5+5="+5+5);//打印结果是:5+5=55

 自增和自减运算符

    ++n; n++; - -n;n- -;

    若运算符是前置于变量的,则变量加1或减1,再返回变量的新值。

    若运算符是后置于变量的,先返回变量原来的旧值,再加1或减1;

  在表达式中的区别:

    int i=10; int newnum=10*i++;等同于 int newnum=10*i; i=i+1;

    在此例中,i先增加1,然后返回i的旧值参与运算。newnum=100;

    int i=10; int newnum=10*(++i);等同于i=i+1; int newnum=10*i;

    在此例中,i先增加1,然后返回i的新值参与运算。

     double x=1.0;

     double y=5.0;

     double z=x- - + (++y);

   执行结束后:

      y=6.0; z=7.0; x=0.0;

 

 2.赋值运算符

   符号:= , +=, -=, *=, /=, %=

   举例:

     int a,b,c; a=b=c =3;

     int a = 3; a+=5;等同运算a=a+5;

 

     short s = 3;

     s=s+2;//两次运算,先加后赋值。编译失败

     s+=2;//只做一次赋值运算,自动转换

 

  3.比较运算符

    

  注意:比较运算符的结果都是boolean型,也就是要么是true,要么是false。

        比较运算符“==”不能误写成“=” 。

 

  4.逻辑运算符

    定义:能参加布尔逻辑运算的运算符号。

    作用:用于连接boolean型的表达式。

    符号: & : 与   |: 或  ^:异或    && :短路   ||:  短路

    特点:

     &:只要两边的布尔表达式的结果有一个为false,那么结果为false。

        只有两边都为true,结果为true。

     :只要两边的布尔表达式的结果有一个为true,结果为true。

       只有两边都为false,结果为false。

    ^: 只要两边的布尔表达式的结果相同为false,两边不同为true。

 

   &和&&的区别:

      &:左边无论真假,右边都进行运算;

      &&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

   |和||的区别:

     |:两边都参与运算。

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

 

  5.位运算符

   

    位运算是直接对二进制进行运算。

   细节:<<: 空位补0,最高为丢弃,空缺位补0。

        >>:被移位的二进制最高位是0,右移后,空缺位补0。最高位是1,空缺位补1。

        >>>:被移位二进制最高位无论是0或者是1,空缺位都用0补。

   &:二进制位进行&运算,只有1&1时结果是1,否则是0。

   :二进制位进行| 运算,只有0 | 0时结果是0,否则是1。

   ^:任何相同二进制位进行^ 运算,结果是0;1^1=0 , 0^0=0。

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

  ~: 对二进制取反。

  特点:

     <<:结果变大,就是乘以2的移动位数次幂。

     >>: 结果变小,就是除以2的移动位数次幂。

 

  6.三元运算符

    格式:(条件表达式)?表达式1:表达式2;

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

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

  举例:获取两个数中大数。

     int x=3,y=4,z;

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

 

------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值