黑马程序员----Java基础(一):关键字、标识符、常量、变量

来源:互联网 发布:新疆949车市淘宝 编辑:程序博客网 时间:2024/06/06 09:51

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



Java语言基础组成


   包括:一、关键字

         二、标识符

         三、常量

         四、变量

         五、运算符

 


  、关键字:   


定义:被java赋予了特殊含义的单词
特点:关键字中所有字母都为小写
类型:

定义数据类型

   整数类型:byte,shrot,int,long;    浮点数:float(单精度),double(双精度)

   字符型:char                      布尔型:boolean

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

       void用于函数上表示无返回值类型


定义数据类型值:true(真),false(假),null(空)


定义流程控制

    判断:if,else,switch,case,default

         循环:while,do,for         

         继续循环:continue    结束循环和选择:break

         返回:return


定义访问权限修饰符:private(私有的),protected(受保护的),public(公开的)


定义类,函数,变量: abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的) enum(枚举)


定义类与类之间关系: extends(继承),implements(实现)


定义建立实例及引用实例、判断实例:new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)


用于异常处理 :try(检查异常)  catch(捕获异常)  finally(最终执行


用于包:package(创建包) import(导入包)


  、标识符:


定义:在程序中自定义的一些名称
格式:由26个英文字母大小写,数字0-9,符号:_ $ 组成
规则1.数字不可以开头;2不可以使用关键字
注意1.Java严格区分大小写;2在起名字时,为了提高阅读性,尽量取有意义的名字
特殊名称main:它不是关键字,在编译器中无颜色,但却是虚拟机识别的

Java
中的名称规范
·包名:多单词组成时所有字母都小写xxxyyyzzz
·类名接口名:多单词组成时,所有单词的首字母大写XxxYyyZzz
·变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写xxxYyyZzz
·常量名:所有字母大写,多单词时每个单词用下划线连接xxx_yyy_zzz


三、常量

      常量
             
定义:不能改变的数值,固定的值

      分类:

·整数常量:所有整数

表现形式:

十进制:0-9,满101

二进制:0-1,慢21.

八进制:0-7,满81,用0开头。

十六进制;0-9A-F,满161,用0x开头;

进制转换:
             
二进制与十进制的转换:

a十进制》二进制;对十进制除2运算


       b
二进制》十进制:对二进制乘2运算


                                                八进制十六进制与十进制的转换:

                                                              a通通以二进制为过渡,再转换为想要的进制   

                                

负数二进制转换:

a非二进制取反+1

            正数的最高位是0,负数的最高位是1


·小数常量:所有小数
·布尔型常量:truefalse
·字符常量:将一个数字字母或者符号用单引号(’ ’)标识

如:’ 4’ / ‘d’
·字符串常量:将一个或者多个字符用双引号(” ”)标识

如:” a” / ” abd” / “ ”
·null常量:只有一个数值就是 null


四、变量
定义:将不确定的数据进行存储,需要在内存开辟一个空间
概念:开辟空间就是通过明确数据类型,变量名称,数据来完成的
Java
语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

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


public class T{public static void main(String[] args){//定义各种数据类型//整数型 //字节型byte a1 = 127;//byte a = 128; 编译时会提示错误,原因是byte取值范围是:-128 - 127//短整型short b = 2;//默认整数型int c = 3;//长整型long d = 11111l;//浮点型//单精度浮点型float e = 2.334F; //在末尾处添加大写或小写的F、f,,否则会报错//双精度浮点型,默认的浮点型double f = 2.1;//字符型char ch = 'a';char ch1 = ' ';//可以有空格//布尔类型boolean g = true;boolean h = false;/* * 什么时候需要定义变量? * :当数据不确定时,需要对数据进行存储时,就定义一个变量来完成存储动作。 * */}}



类型转换

             1自动提升类型等级:低等往高等转化,byte变成int
    byte b = 3
b = b + 2


            2强制类型转换:
     byte b = 3
b = (byte)(b + 2)       


             注意:类型转换常用于将小数转换为正数

   
特殊类型转换:

                    System.out.println(‘a’ + 1); 结果为 98

                    原因:由于ASCII码的存在,将字符用数字代替,由于数据类型自动提升得到97+1,结果得到整数的98

                    System.out.println(char(‘a’ + 1))结果为 ‘b’

                    原因:强制转化为char字符类型


五、运算符

  

    1.算术运算符

       

         注意

             % 取模 指的是取余数。当%左边是负数时,结果为负数,在右边不看。

            

     2.转义字符

       定义:通过 \  来转变后面字母或者字符的含义      

         \n :换行

         \b:退格  (相当于backspace键)

         \r:按下回车键(windows中的回车符由两个字符表示,\r\n)         

         \t:制表符 (相当于tab键)


     3.赋值和比较运算

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

            意义:a+=5; 代表了a=a+5; 其余类比。

            思考题: short a = 4;------①

                     s = s + 2;--------②

                     s+=2;-------------③

                     有什么区别?答:编译②时会报错,编译③时不会报错

                     区别在于:②中执行了两步,将s+2后提升的int类型值赋给短整型的s出现错误。

                               ③中执行了一步,自动将s+2转化成短整型再赋值

      4.比较运算符

        

         注意:比较运算符结果都是boolean型,要么是true,要么是false;

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


      5.逻辑运算符

         逻辑运算符用于连接boolean类型的表达式

        &(与):只要有一边是false,结果都是false;只有两边都是true,结果才是true;

        |(或):只要两边有一边是ture,结果都是true;只有两边都是false,结果才是false;

        ^(异或):两边都相同,结果为false;两边不同,结果为true;

            补充:一个数异或同一个数两次,结果还是那个数。(加密思维)

        !(非):否定

                    &&(短路):当左边为false时,右边不运算,直接给出结果false;当左边为true时,右边仍需要运算,结果与单&一样

                   ||(短路);当左边为true时,右边不运算,结果为ture;


               6.位运算符

                          

                             <<  :将左边数字乘以2的移动位数次幂

                      >> :将左边数字处以2的移动位数次幂;最高位补什么由原有数据的最高位值而定,如果最高位为0,右移后用0补位如果最高位为1,右移后用1补位

                      >>> :无论最高位都用0补空位

                              补充:最快的运算是位运算!不足:只能以2的倍数增长。

                      注意:在位运算中,1代表true,0代表false;

                      &:将两边的数字化为二进制计算,按照&(与)的逻辑运算

                      |:将两边数字化为二进制计算,按照|(或)的逻辑运算

                      ~:将数字化为二进制,再取反。


                    7三元运算符


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

                           a如果表达式为ture,则结果为表达式1;

                           b如果表示为false,则结果为表达式2;

                                 如:

                                        int x = 4;

                                        y = (x>3)? 99 : 88;

                                        结果:明显4>3为true,所以y=99;

                 

                     补充图标:运算符优先等级表



运算符练习题之一:互换两个一位数的值








0 0