黑马程序员——Java基础语法

来源:互联网 发布:淘宝网韩版卫衣 编辑:程序博客网 时间:2024/04/30 09:23

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

关键字

 关键字是指被Java语言赋予特定含义的单词,如this、super、class等,关键字中所有的字母都是小写。另外现还有Java版本尚未使用但以后版本可能会作为关键字使用如goto、const等。

标识符

    标识符就是给类,接口,方法,变量等起名字时使用的字符序列。可由任意顺序的大小写字母、数字字符、_和$组成。注意事项:    A:不能以数字开头。    B:不能包含除_、$以外的特殊符号。    C:不能是Java中的关键字。    D:Java严格区分大小写。命名规则   为了提高阅读性,做到见名知意 。    包:其实就是文件夹,用于把不同的类名进行区分。全部小写,多级包名用.隔开。如com.baidu    类或者接口:每个单词的首字母必须大写。如HelloWorld    方法或者变量:一个单词:单词的首字母小写。多个单词:从第二个单词开始,每个单词的首字母大写。如helloWorld    常量:单词的每个字母都大写,多个单词用_隔开,如STUDENT_MAX_AGE

注释

    注释就是用于说明解释程序的文本,可以提高代码的阅读性,帮助我们调试代码。可以先写注释再写代码。将自己的思想通过注释先整理出来,在用代码去体现。因为代码仅仅是思想的一种体现形式而已。    A. 单行注释  可以嵌套使用。        格式: //注释文字      B. 多行注释  可以在程序内部使用,不可以嵌套多行注释。        格式: /*  注释文字  */     C. 文档注释  注释内容可以被javadoc解析,生成一套以网页文件形式体现的该程序的说明文档。        格式:/** 注释文字 */

常量

    常量是指在程序执行的过程中其值不可以发生改变。常量的分类:      A:字符串常量  用双引号括起来的内容。如"helloworld"、"a"    B:整数常量   所有的整数。    C:小数常量   所有的小数。    D:字符常量   单引号括起来的内容。如'a'    E:布尔常量   比较特殊   只有true和false    F:空常量     nullJava针对整数常量提供了4中表现形式    二进制、八进制、十进制、十六进制    规则:进制越大,表现形式越短。数据组长:    二进制:由0,1组成。以0b开头。    八进制:由0,1,...7组成。以0开头。    十进制:由0,1,……9组长。整数默认是十进制的。    十六进制:由0,1,……9,a,b,c,d,e,f(大小写均可)组成。以0x开头。有符号的数据表示法:    在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。    原码:        就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。    反码:        正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。    补码;        正数的补码与原码相同,负数的补码是在其反码的末位加1。

变量

    变量值在程序执行过程中,在某个范围内其值可以发生改变的量。只有是数据不确定的时候,就可以定义变量。定义格式:    数据类型 变量名 = 初始化值注意:    A:格式是固定的,记住格式,以不变应万变。    B:变量的作用范围(一对{}之间有效),并且,在同一个大括号内不能同时定义同名的变量。     C:变量只能存放某一个类型的数据。    D:初始化。没有初始化值的变量不能直接使用。你只要在使用前给值就行,不一定非要在定义的时候立即给值。最好在定义时给值。变量的作用域:作用域从变量定义的位置开始,到该变量所在的那对大括号结束。生命周期:变量从定义的位置开始就在内存中活了;变量到达它所在的作用域的时候就在内存中消失了。

数据类型:Java语言是强类型语言,针对每一种数据都定义了明确的数据类型。
数据类型分类 4类8种

基本数据类型 占用字节数 整数 byte 1 short 2 int 4 long 8 浮点数 float 4 double 8 字符 char 2 布尔 boolean 1
  • 整数默认是int类型,浮点数默认是double类型,double类的小数精度比float类型的小数更高。
  • 长整型后缀用L或者l标记,建议使用L;单精度浮点数用F或者f标记,建议使用F。

引用数据类型包括类、接口和数组。

类型转换

    简单来说,类型转换就是不同类型之间相互的转化。类型转换可分为两种,默认类型转换和强制类型转换。一般来说,我们在运算的时候,要求参与运算的数据必须一致。    注意:boolean不能转换成其他的数据类型默认转换  从小的数据类型到大的数据类型,数据类型自动提升。    A:byte short char-->int-->long-->float-->double    B:byte,short,char相互之间不转换,他们参与运算首先转换为int类型。强制转换  从大的数据类型到小的数据类型    格式:目标数据类型 变量 = (目标数据类型)(被转换的数据);

运算符

    运算符就是对常量和变量进行操作的符号。分类:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三目运算符。  

算术运算符:

+,-,*,/,%,++,--     ++,--运算符的使用:    单独使用:        放在操作数的前面和后面效果一样。    参与运算使用:        放在操作数的前面,先自增或者自减,然后在参与运算。        放在操作数的后面,先参与运算,在自增或者自减。    作用:就是对变量进行自增或者自减。%:取模。5%2=1;负数对正数取模结果为负数,正数对负数取模结果为正数。+:还可以做为连接符使用。

赋值运算符:

基本的赋值运算符:=    把=右边的数据赋值给左边。扩展的赋值运算符:+=,-=,×=,%=    +=把左边和右边做加法,然后赋值给左边,其他的同理。    扩展的赋值运算符隐含了一个强制类型转换。如short s=1; s=s+1;就会报错,因为s+1后类型被默认提升为int类型,不能赋值给short类型的s;而short s=1; s += 1;就没有问题。

比较运算符:

==,!=,>,>=,<,<=特点:    无论你的操作是简单还是复杂,结果都是boolean类型。注意:    "=="不能写成"=".

逻辑运算符:

    &,|,^,!    &&,||    逻辑运算符用于连接布尔类型表达式或值,在java中不可以写成3<x<6,要写成3<x&x<6;    表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。        算术表达式:a+b        比较表达式:a==b结论:    逻辑与&;有false则false。    逻辑或|;有true则true。    逻辑异或^;相同为false,不同为true。    逻辑非!;非false则true,非true则false。偶数个不改变自身。    &&和&的区别?同理||和|的区别?        A:最终结果一样。        B:&&具有短路效果,左边false,右边不执行。    开发中常用的逻辑运算符:        &&,||,!

位运算符:要做位运算,首先要把数据转换为二进制。

    &,|,^,~    <<,>>,>><<:空位补0,被移除的高位丢弃。//把<<左边的数据*(2的移动次幂)。如:3<<2=3*2^2=12;效率最高。>>: 被移位的二进制最高位是0,右移后,空缺位补0;//同理。把>>左边的数据/(2的移动次幂).如:24>>2=24/(2*2)=6。最高位是1,最高位补1。>>>:无符号右移,被移位二进制最高位无论是0或者是1,空缺位都用0补。&:如果二进制位和0进行&运算,结果是0;和1进行&运算结果是原值。|:任何二进制位和0进行|运算,结果是原值;和1进行|运算结果是1。^: 任何相同二进制位进行^运算,结果是0;不同二进制位^运算结果是1。    ^的特点:一个数据对另一个数据位异或两次,该数本身不变。此特点可以用于不借助第三方变量的值互换。
/*对两个整数变量的值进行互换*/public class Demo {    public static void main(String[] args) {        int a = 3, b = 5;        change1(a, b);        change2(a, b);        change3(a, b);    }    private static void change3(int a, int b) {        System.out.println("a:" + a + "---b:" + b);        a = a ^ b;        b = a ^ b;        a = a ^ b;        System.out.println("a:" + a + "---b:" + b);    }    private static void change2(int a, int b) {        System.out.println("a:" + a + "---b:" + b);        a = a + b;        b = a - b;        a = a - b;        System.out.println("a:" + a + "---b:" + b);    }    private static void change1(int a, int b) {        int c;        System.out.println("a:" + a + "---b:" + b);        c = a;        a = b;        b = c;        System.out.println("a:" + a + "---b:" + b);    }}

三目运算符

格式:(比较表达式)?表达式1:表达式2    如果条件为true,运算后的结果是表达式1    如果条件为false,运算后的结果是表达式2
0 0
原创粉丝点击