Java基本语法

一、标识符

标识(zhi)符:名字,比如类名、对象名、方法名…

一个合法的标识符组成:数字、字母、_和$

注意事项:
1、不能重复
2、不能以数字开头
3、区分大小写
4、不能以关键字和保留字作为标识符

关键字:该词汇在Java中已经定义了含义

保留字:该词汇在Java中还没有定义含义,但是以后可能会用,先保留起来 goto

二、命名规范

可以阅读阿里巴巴规范手册

  1. 类名
    • 如果是一个单词,那么首字母大写
    • 如果是组合词,那么每个单词首字母大写
  2. 变量名
    • 如果是一个单词,那么全部小写
    • 如果是组合词,那么从第二个单词开始首字母大写【驼峰式命名法】
  3. 常量名
    • 如果是一个单词,那么全部大写
    • 如果是组合词,那么全部大写,单词之间用_隔开

三、容器

1、变量

程序运行期间,该变量中的数据可以发生改变

2、常量

程序运行期间,该容器中的数据不能发生改变(必须和final进行配合使用)

注意:
1、容器的类型确定了数据的类型
2、容器的大小确定了数据的大小

四、变量使用

1、声明变量

语法:

数据类型  变量名;
package com.example.chapter2;

public class Demo_1 {

    public static void main(String[] args) {

        // 声明变量
        byte b;

    }

}

内存详情

在这里插入图片描述

2、变量赋值

变量赋值:把数据添加到变量容器中

语法:

变量名 = 数据;
package com.example.chapter2;

public class Demo_1 {

    public static void main(String[] args) {

        // 声明变量
        byte b;
        
        // 给变量赋值
        b = 12;

    }

}

在这里插入图片描述

3、获取变量值

通过变量名获取即可(变量名 == 数据)

package com.example.chapter2;

public class Demo_1 {

    public static void main(String[] args) {

        // 声明变量
        byte b;

        // 给变量赋值
        b = 12;

        // 获取变量值
        System.out.println(b);

    }

}

五、数据类型

数据类型分为两类:基本数据类型 、引用数据类型

1、基本数据类型

基本数据类型也称之为原始类型

1.1、整数类型

类型类型名称字节范围说明
字节型byte1字节 == 8bit-128 ~ 127在二进制中最小的八位:10000000 == -128
在二进制中最大的八位:01111111 == 127
在二进制中正负区分:
1、如果最高位是0,表示该数据是正数
2、如果最高位是1,表示该数据是负数
短整型short2字节
整型int4字节
长整型long8字节特殊:
如果给long类型的变量赋值,数据后面没有L或l,那么jvm虚拟机会把该变量看成是int类型
在整数类型中默认的是int类型

注意事项:
1、必须是数字
2、必须是整数

package com.example.chapter2;

public class Demo_2 {

    public static void main(String[] args) {
        
        // 字节型
        byte b;
        b = 12;

        System.out.println(b);
        
        
        // 短整型
        short s;
        s = 13;
        
        System.out.println(s);
        
        // 整型
        int i;
        i = 14;

        System.out.println(i);
        
        // 长整型
        long lo;
        lo = 15L;

        System.out.println(lo);
        
        
    }
    
}

1.2、浮点类型

类型类型名称字节范围说明
单精度float4字节特殊:
如果给float类型的变量赋小数值,没有在数据后面加上f或F,那么jvm虚拟机会把该数据看成是double类型的数据
因为在浮点类型中默认的是double类型
双精度double8字节

注意事项:
1、必须是数字
2、整数小数都可以
3、获取的数据必定是小数

package com.example.chapter2;

public class Demo_3 {

    public static void main(String[] args) {


        float fo;
        fo = 12;

        System.out.println(fo); // 12.0 double类型

        fo = 13F;

        System.out.println(fo); // 13.0 float类型

        double d;
        d = 11;

        System.out.println(d); // 11.0

    }

}

1.3、字符类型

类型类型名称字节范围说明
字符型char2字节特殊:
如果给char类型的变量赋整数值,并且没有使用单引号,那么返回的结果是一个字符
因为jvm虚拟机会拿着该数据到ACSII码表中找十进制对应的字符

注意事项:
1、可以存储任意类型
2、必须是单个
3、必须使用单引号

在这里插入图片描述

package com.example.chapter2;

public class Demo_4 {

    public static void main(String[] args) {

        char c;
        c = 'A';

        System.out.println(c); // A

        c = '3';

        System.out.println(c); // 3

        c = '刘';

        System.out.println(c); // 刘

        c = 65;

        System.out.println(c); // A

    }

}

1.4、布尔类型

类型类型名称字节范围说明
布尔型boolean1字节

注意事项:
1、该类型的数据不能随意赋值
2、该类型的数据只有两个:true、false

package com.example.chapter2;

public class Demo_5 {

    public static void main(String[] args) {

        boolean b;
        b = true;

        System.out.println(b); // true

        b = false;

        System.out.println(b); // false

    }
}

2、引用类型

引用数据类型:数组、对象、接口等等。

六、变量简写

变量简写提高了开发效率以及运行效率

1、方式一

语法:

数据类型 变量名 = 数据;

总结:声明变量时直接初始化值

2、方式二

语法:

数据类型 变量名1,变量名2,变量名3......

总结:声明变量时可以同时声明多个相同类型的变量

3、方式三

语法:

数据类型 变量名1 = 数据,变量名2,变量名3 = 数据......

总结:声明变量时可以同时声明多个相同类型的变量,并且初始化值

七、类型转换

1、自动类型转换

自动类型转换也称之为隐式转换。
含义:小容器变成大容器【数据不变,容器大小改变】

比较数据类型大小:

  1. 如果是同一个数据类型,那么根据字节来比较
  2. 如果是不同数据类型,那么根据计算机给定的方式来比较

同一个数据类型大小:

  • 整数类型:byte<<<short<<<int<<<long
  • 浮点类型:float<<<double
  • 字符类型:char

不同数据类型大小:

整数类型<<<浮点类型

特殊类型:

  1. Char类型和byte、short是同一级别,区分不出大小
  2. Char类型不能和byte相互转换
  3. Char类型不能和short相互转换

注意:byte和short可以相互转换

基本数据类型从小到大排序:

(Byte<<<short<<<char)<<<int<<<long<<<float<<<double

语法:

数据类型 变量名1=数据; // 小容器

数据类型 变量名2=变量名1; // 大容器

2、强制类型转换

强制类型转换也称之为显示转换
含义:大容器变成小容器【可能会引发数据丢失问题】

语法:

数据类型  变量名1=数据; // 大容器
数据类型  变量名2=(数据类型)变量名1; // 小容器

2.1、一次转换

如果大容器强制转换到小容器,数据没有超出小容器范围,那么正常转换

package com.example.chapter2;

public class Demo_6 {

    public static void main(String[] args) {

        // int类型
        int i = 12;

        // 转换成byte类型
        byte b = (byte)i;// int类型的12没有超出byte范围,那么数据不会丢失

        System.out.println(b);// 12

    }
}

2.2、二次转换

如果大容器强制转换到小容器,数据超出了小容器范围,那么需要再一次进行转换

package com.example.chapter2;

public class Demo_7 {

    public static void main(String[] args) {

        int i = 6666;

        byte b = (byte)i;

        System.out.println(b);// 10

        // i十进制转换二进制:00000000 00000000 00011010 00001010
        // byte是1字节,1字节等于8bit,以上四个8bit,那么会从最低位开始取值,结果为:00001010
        // 00001010二进制转换十进制为10

    }
}

以上当int转换二进制后,byte取得二进制转换十进制在范围之内,如果不在范围之内,那么需要再一次转换

package com.example.chapter2;

public class Demo_8 {

    public static void main(String[] args) {

        int i = 666;

        byte b = (byte)i;

        System.out.println(b);// -102

        // i十进制转换二进制:00000000 00000000 00000010 10011010
        // byte取得最低为八位为:10011010
        // 转换后:154  超出范围,那么需要再一次转换
        // byte范围:-128~127
        // 如果超出127,那么从-128开始计算,超出一位:-128    超出两位:-127 ....

    }
}

注意事项:
1、强制类型转换只会强制后面的一个,而不是所有
2、一个整数与byte、short相互运算时,在运算之前数据的数据类型会自动提升为int类型

八、运算符

含义:数据之间相互运算时使用的符号

1、算术运算符

符号说明
+相加
-相减
*相乘
/相除
+正数
-负数
+拼接
注意:
1、如果前面没有遇到字符串,那么后面的数据相运算
2、如果前面遇到了字符串,那么后面的数据全部相拼接
3、执行顺序从左往右
%取模
++在前自增1
先自增,后赋值
别人获取的是新值
++在后自增1
先赋值,后自增
别人获取的是旧值
- -在前自减1
- -在后自减1

2、赋值运算符

符号描述
=等号右边赋值给等号左边
+=等号右边运算完(相加)赋值给等号左边
-=等号右边运算完(相减)赋值给等号左边
*=等号右边运算完(相乘)赋值给等号左边
/=等号右边运算完(相除)赋值给等号左边
%=等号右边运算完(取模)赋值给等号左边

注意:
一个变量与另一个数据相加的结果重新赋值给该变量,称之为叠加

3、比较运算符

符号描述
>大于
<小于
>=大于等于
<=小于等于
==双等于

注意:
返回的结果类型只有一种:布尔类型

4、逻辑运算符

符号描述
&
两个条件必须都成立,结果才成立
&&短路与
两个条件必须都成立,结果才成立
^异或
相同为假,相异为真
!
条件结果的反义词

5、条件运算符

名称:条件运算符、三木运算符、三目运算符、三元运算符

语法:

条件表达式?数据1:数据2;

条件表达式返回的结果类型:true、false

数据1:当条件表达式为true时,返回数据1给调用者

数据2:当条件表达式为false时,返回数据2给调用者

注意:
返回的数据要么直接使用要么保存

6、位运算符

符号说明
&二进制位进行&运算,只有1&1时结果是1,否则是0
^相同二进制位进行运算,结果是0;11 = 0,0^0 = 0
不相同二进制位运算结果是1。10 = 1,0^1 = 1
~正数取反,各二进制码按补码各位取反
反数取反,各二进制码按补码各位取反

7、移位运算符

符号说明
<<空位补0,被移除的高位丢弃,空缺位补0
>>被移位的二进制最高位是0,右移后,空缺位补0
最高位是1,空缺位补1
>>>被移位二进制最高位无论是0或者是1,空缺位都用0补。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘程云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值