Java基础语法

Java基础语法


注释

书写注释是一个非常好的习惯

平时写代码一定要注意规范

  • 单行注释 //

  • 多行注释 /* 注释 */

  • 文档注释 /** 注释 */

标识符

  • 关键字

    1、abstract - 表明类或者成员方法具有抽象属性

    2、assert - 断言,用来进行程序调试

    3、boolean - 基本数据类型之一,声明布尔类型的关键字

    4、break - 提前跳出一个块

    5、byte - 基本数据类型之一,字节类型

    6、case - 用在switch语句之中,表示其中的一个分支

    7、catch - 用在异常处理中,用来捕捉异常

    8、char - 基本数据类型之一,字符类型

    9、class - 声明一个类

    10、const - 保留关键字,没有具体含义

    11、continue - 回到一个块的开始处

    12、default - 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现

    13、do - 用在do-while循环结构中

    14、double - 基本数据类型之一,双精度浮点数类型

    15、else - 用在条件语句中,表明当条件不成立时的分支

    16、enum - 枚举

    17、extends - 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口

    18、final - 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,

    用来定义常量

    19、finally - 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块

    20、float - 基本数据类型之一,单精度浮点数类型

    21、for - 一种循环结构的引导词

    22、goto - 保留关键字,没有具体含义

    23、if - 条件语句的引导词

    24、implements - 表明一个类实现了给定的接口

    25、import - 表明要访问指定的类或包

    26、instanceof - 用来测试一个对象是否是指定类型的实例对象

    27、int - 基本数据类型之一,整数类型

    28、interface - 接口

    29、long - 基本数据类型之一,长整数类型

    30、native - 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的

    31、new - 用来创建新实例对象

    32、package - 包

    33、private - 一种访问控制方式:私用模式

    34、protected - 一种访问控制方式:保护模式

    35、public - 一种访问控制方式:共用模式

    36、return - 从成员方法中返回数据

    37、short - 基本数据类型之一,短整数类型

    38、static - 表明具有静态属性

    39、strictfp - 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范

    40、super - 表明当前对象的父类型的引用或者父类型的构造方法

    41、switch - 分支语句结构的引导词

    42、synchronized - 表明一段代码需要同步执行

    43、this - 指向当前实例对象的引用

    44、throw - 抛出一个异常

    45、throws - 声明在当前定义的成员方法中所有需要抛出的异常

    46、transient - 声明不用序列化的成员域

    47、try - 尝试一个可能抛出异常的程序块

    48、void - 声明当前成员方法没有返回值

    49、volatile - 表明两个或者多个变量必须同步地发生变化

    50、while - 用在循环结构中

  • 标识符

    • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

    • 所有的标识符都应该以字母(A - Z 或者 a - z),美元符 ($) 、下划线 ( _ ) 开始

    • 首字符之后可以是字母(A - Z 或者 a - z),美元符 ($) 、下划线 ( _ ) 或数字的任何字符组合

    • 不能使用关键字作为变量名或方法名

    • 标识符是大小写敏感

    • 合法标识符举例:age、getAge、$salary、_value、__1_value

    • 非法标识符举例:123abc、-salary、#abc

    • 可以使用中文命名,但不建议使用!

数据类型

  • 强类型语言

    • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

    • 安全性高

    • 速度慢

  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本类型(primitive type)

    • 引用类型(reference type)

 

  • 字节

    • 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。

    • 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示

    • 1B = 8 bit

    • 字符:是指计算机中使用的字母、数字、字和符号,一个汉字占两个字节

    • 1024B = 1KB

    • 1024KB = 1M

    • 1024M = 1G

public class Demo01 {
    public static void main(String[] args) {
        // 整数拓展:        进制  二进制0b     十进制     八进制0      十六进制
int i1 = 10;
        int i2 = 0b10;
        int i3 = 010;
        int i4 = 0x10;
​
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
        System.out.println("================");
​
        //  浮点数拓展?  银行业务怎么表示?钱
        //  BigDecimal  数学工具类
        //  float    有限  离散  舍入误差  大约  接近但不等于
        //  double
        //  最好完全使用浮点数进行比较
float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);  //false
float d1 = 23153212132132f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);  //true
double dd = 0.1 + 0.2;
        System.out.println(dd);  //0.30000000000000004
        System.out.println("==================");
​
        //字符拓展
        char c1 = 'a';
        char c2 = '中';
​
        System.out.println(c1);
        System.out.println((int)c1);  //强制转换
        System.out.println(c2);
        System.out.println((int)c2);
​
        //所有的字符本质还是数字
        //编码  Unicode 表:(97 = a, 65 = A) 2字节  0 - 65536
        //Excel  2的16次方 = 65536
//U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);
​
        //转义字符
        // \t   制表符
        // \n   换行
        // \"   "
//布尔值拓展
        boolean flag = false;
        if (flag){  //  Less is More!   代码要精简易读
​
        }
    }
}

类型转换

  • 运算中,不同类型的数据线转化为同一类型,然后进行运算

  • 自动类型转换(隐式转换)

  • 强制类型转换

注意点

  1. 注意内存溢出问题和精度问题

  2. 不能把布尔值进行转换

  3. 不能把对象类型转换为不相干的类型

变量

  • 变量就是可以变化的量!

  • Java是一种强类型语言,每个变量都必须声明其类型。

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

注意:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域

  • 类变量:static 修饰,从属于类

  • 实例变量:写在类里面、方法外面,从属于对象

如果不自行初始化,则赋值这个类型的默认值 0 0.0

布尔值:默认是false

除了基本类型,其他的默认值都是null

  • 局部变量:必须声明和初始化,写在方法内或代码块内

常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值,用 final 修饰。

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

  • 常量名一般使用大写字符

final MIN_VALUE = 10;
final static MAX = 9999;    // 静态常量

变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:People, GoodMan

  • 方法名:首字母小写和驼峰原则:run(), getAge()

运算符

  • 算数运算符:+,-,*,/,%,++,--

  • 赋值运算符:==

  • 关系运算符:>,<,>=,<=,!=

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>

  A   = 0011 1100
 B   = 0000 1101
--------------------
A & B = 0000 1100  
A | B = 0011 1101
A ^ B = 0011 0001  //异或相等为0,不同为1
 ~ B = 1111 0010  //取反  
     
问题:咋样最快计算2*8   2*2*2*2
     2<<3
      <<  *2
      >>  /2
  • 条件运算符:? :

    c = x ? a : b;

    如果x==true, 则c = a; 否则c = b

  • 扩展赋值运算符:+=,-=,*=,/=

包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

  • 一般利用公司域名倒置作为包名

  • 为了能够使用某一个包的成员,外面需要在Java程序中明确导入该包。使用import语句导入包。

JavaDoc

  • javadoc命令是用来生成自己的API文档的

  • 参数信息

    • @author 作者名

    • @version版本号

    • @since 指明需要最早使用的jdk版本

    • @param 参数名

    • @return 返回值情况

    • @throws 异常抛出情况

 

posted @ 2022-04-13 22:51  Tombro  阅读(45)  评论(0)    收藏  举报