黑马程序员_总结2-java基础语法1

来源:互联网 发布:js 中数组删除指定元素 编辑:程序博客网 时间:2024/06/06 10:34

  ----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

第二章Java基础语法1

知识点

一、关键字

二、标识符

三、注释

四、常量

五、变量

六、数据类型

七、运算符

--------------------------------------------------------------------------

一、关键字

       1、被Java语言赋予特殊意义的单词。

       2、特点:Java语言中的所有关键字全部是小写。

       3、注意事项:goto和const作为保留字存在,没有被使用。(在新版本中可能提升为关键字)    

二、标识符

       1、就是给类,变量,方法起名字的名词。

      2、组成规则:由数字0-9,英文大小写字母,$以及_组成。

       3、注意事项:

              (1)只能由组成规则规定的内容组成。

              (2)不能以数字开头。

              (3)不能是Java中的关键字。

              (4)区分大小写。

       4、常用的命名规则:见名知意,驼峰命名

              (1)包(文件夹,用于区分同名的类):全部小写。如果多级包,用点.分开。

                            举例:com一级包;cn.it二级包      

                            注意:多级包常用域名的反写

              (2)类和接口:

                     A:如果是一个单词,首字母大写。

                            举例:Demo,Test,Student

                     B:如果是多个单词,每个单词的首字母大写。

                            举例:HelloWorld,StudyJava

              (3)变量和方法

                     A:如果是一个单词,首字母小写。

                            举例:main,name,age

                     B:如果是多个单词,从第二个单词开始每个单词的首字母大写。

                            举例:showName(),studentName

              (4)常量:全部大写,如果多个单词组成,用_连接。

                            举例:PI,STUDENT_MAX_AGE

三、注释

       1、就是对程序的解释性文字。

      2、注释的分类:

              (1)单行注释:以//开头,以回车结束;单行注释是可以嵌套的。

              (2)多行注释:以/*开头,以*/结束;多行注释是不可以嵌套的。

              (3)文档注释:以/**开头,以*/结束。将来被javadoc工具解析,生成一个说明书。

       3、注释的作用:

              (1)解释程序,提高程序的阅读性。

              (2)可以调试错误:有可能发生问题的代码,可以先注释起来,看运行结果再做判断

四、常量

       1、在程序的运行过程中,其值是不会发生改变的数据。

      2、常量的分类:

              (1)字面值常量

                     a:整数常量,如:12,-23

                     b:实数常量,如:12.5,-65.43

                     c:字符常量('a'--97,'A'--65,'0'—48),如:'a','A','0'

                     d:字符串常量,如:"hello"

                     e:布尔常量,只有2个:true,false

                     d:空常量,只有:null

(2) 自定义常量:被final修饰的成员变量是一个常量

3、常量可以直接被输出。

4、进制:对于整数,有二进制,八进制,十进制和十六进制4种表示形式。

       (1)进制是一种进位的方式。X进制,表示逢x进1。

              (2)Java中整数常量的表示

                     A:二进制 由0,1组成。以0b开头。JDK7以后的新特性。

                     B:八进制 由0-7组成。以0开头。

                     C:十进制 由0-9组成。默认就是十进制。

                     D:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。

              (3)进制转换:

                     A:其他进制到十进制

                            系数:就是每一位上的数据。

                            基数:X进制,基数就是X。

                            权:在右边,从0开始编号,对应位上的编号即为该位的权。

                            结果:把系数*基数的权次幂相加即可。

                     B:十进制到其他进制

                            除基取余,直到商为0,余数反转。

                     C:快速转换

                            a:8421码。

                            b:二进制--八进制(3位组合)

                            c:二进制--十六进制(4位组合)

五、变量

       1、程序的运行过程中,在指定范围内发生改变的量。

其实就是内存中的一个存储空间,用于存储常量数据。变量空间可以重复使用。

       2、格式:数据类型 变量名 = 初始化值;

              变形格式:

                     数据类型 变量名;

                     变量名 = 初始化值;

       3、注意问题:

              什么时候定义变量:当你知道这是一个变化的内容的时候。

              一般定义的范围:首先是在小范围内,如果不合理,在考虑大范围。

六、数据类型

       1、分类

              基本类型:4类8种。

              引用类型:类,接口,数组。

       2、基本类型

              整型:byte, short,int,long

              浮点型:float ,double

              字符型:char

              布尔型:boolean

              注意:整数默认是int类型。long类型需要加L或者l后缀。

                       浮点数默认是double类型。float类型需要加F或者f后缀。

       3、类型转换

              (1)boolean类型不参与转换。

              (2)隐式转换(从小到大):byte,short,char à int à long à float àdouble

              (3)强制转换(从大到小),格式:(数据类型)数据;

   注意:在运算的过程中,一般要求类型一致;不一致时,就会有类型转换问题

一般不推荐使用强制类型转换;尽量使用该数据类型能够表示的范围。

       4、试题

              byteb1 = 3;

              byteb2 = 4;

              byteb3 = b1 + b2;(编译失败,因为b1和b2参与运算时,数据类型自动提升为int)

              byteb4 = 3 + 4; (常量参与运算,编译器先算值,若值属于左边类型的范围就不报错。)

七、运算符

       1、就是把常量和变量连接的符号,一般参与运算使用。

      2、分类:算术运算符,赋值运算符,关系运算符,逻辑运算符,位运算符,三元运算符

              (1)算术运算符:+,-,*,/,%,++,--

                     +:正号,加法,字符串连接符。

                            System.out.println("5+5="+5+5);//5+5=55

                            System.out.println(5+5+"=5+5");//10=5+5

                     %:取得余数

                            左边如果大于右边,结果是余数。

                            左边如果小于右边,结果是左边。

                            左边如果等于右边,结果是0。

                        注意:正负号跟左边一致;任何整数模2不是0就是1,改变被模数就可以实现开关运算。

                     ++/--:++ 其实相当于把数据+1

                            单独使用:在数据的前后,结果一致,都是加1。       

                            参与操作使用:如果在数据的后边,数据先操作,在++/--

                                                 如果在数据的前边,数据先++/--,在操作。

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

                            int a = 10;:把10赋值给int类型的变量a。

                            a += 20;:把左边和右边的和,赋值给左边。

                     注意:a = a + 20;和a += 20;       结果是等价的,理解不是等价的。

                           因为+=这种运算符,内含了强制类型转换功能。

                           比如:short s = 2;  s+=3; 等价于s = (short)(s+3);

              (3)比较运算符(关系运算符):==,!=,>,>=,<,<=

                    特点:比较运算符的结果都是boolean类型,结果要么是true,要么是false。

                          请千万注意:== 不要写成 =

(4)逻辑运算符:&,|, !, ^, &&, ||          

                            &与:有false则false

                            |或:有true则true

                            !非:true变false,false变true

                            ^异或:相同false,不同true

                            &&短路与:有false则false

                            ||短路或:有true则true

                       注意:&&和&的区别是:如果左边有false了,右边将不再执行。

                               ||和|的区别是:如果左边有true了,右边将不再执行。

                                 开发中常用:&&,||,!

              (5)位运算符:

&按位与,|按位或,^按位异或,~按位取反,<<左移,>>右移,>>>无符号右移

注意:位运算符用于操作二进制位的运算符。

一个数据对同一个数据^两次,结果还是数据本身。

                             如:a ^ b ^ b =a( 不分前后,a ^ b ^ a = b ; a ^ a ^ b = b )

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

                       执行流程:

                                   根据条件表达式返回的是true还是false,决定结果是什么。

                                   如果是true,就把表达式1作为结果。

                                   如果是false,就把表达式2作为结果。

                       举例:int a = 100;     int b = a > 50 ? 200:100;    请问b的值? 200

3:试题

              (1)请用最有效率的代码写出2乘以8:2*8 = 2<<3

              (2)请交换两个变量:a,b

                     A:临时变量

                            temp = a; a= b; b = temp;

                     B:不用临时变量

                            a = a + b;

                b = a - b; // b = (a+b)-b = a

                a = a - b; // a = a-(a-b) = b

                     C:位^运算符

                            a = a ^ b;

                            b = a ^ b;  //b = (a^b)^b = a;

                            a = a ^ b; // a = a^(a^b)=b;


  ----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------


0 0