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

———-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:空常量     null
Java针对整数常量提供了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种

基本数据类型占用字节数
整数
byte1
short2
int4
long8
浮点数
float4
double8
字符
char2
布尔
boolean1
  • 整数默认是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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值