欢迎来到滚滚小橘猫的博客

夜静海涛三万里,月明飞锡下天风。
返回顶部

Java基础语法

Java基础语法

注释

注释不会被执行,只是方便写代码的人看

Java的注释有三种

  • 单行注释
//这是一个注释
  • 多行注释
/*
这
是
一个多行注释
*/
  • 文档注释
/**
*这是一个文档注释
*文档注释一定具有功能
*/

标识符

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

  • 所有的标识符都应该以字母,美元符或下划线开始

  • **标识符是大小写敏感的 **

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

  • 规范书写,最好用英语


数据类型及拓展

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

    Java、C语言都属于强类型语言。

  • 弱类型语言:变量的使用不需要特别严格符合规定。VB、JB都属于弱类型语言。

Java的数据类型

  • 基本类型(primitive type)

    浮点类型即小数

  • 引用类型(reference type)

  public class HelloWorld {
      public static void main(String[] args) {
          //八大基本数据类型
          int num1=100000;     //最常用
          byte num2=20;
          short num3=30;
          long num4=10000000000000L;//long类型要在数字后加个L
  
          //小数,浮点数
          float num5 = 0.2F;//float类型要在数字后加个F
          double num6=3.12342341234;
  
          //字符
          char name='亲';
          //字符串,String不是关键字,是类
          String name1="哒哒哒";
  
          //布尔值:是非
          boolean a=true;
  
      }
  }
  

*字节

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

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

  • 1B=8bit

  • 字符:是指计算机中使用的字母、数字、字和符号

    1bit表示1位

    1Byte表示一个字节 1B=8b

    1024B=1kb

    1024kb=1024M

    1024M=1G

    1024G=1TB

*变量

  • 变量,即可以变化的量。

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

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

  • type  varName   [=value][{,varName[=value]}];
    //数据类型 变量名 = 值   可以用逗号隔开来声明多个同类型变量
    
  • 注意事项:

    • 每个变量都有类型,类型可以是基本类型或引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

*拓展

  • 整数拓展(进制)

    • 二进制 0 1
    • 八进制 0~7
    • 十六进制 0~9 A~F
  • 浮点数拓展

    floot 有限 离散 舍入误差 大约 接近但不等于

    最好完全避免使用浮点数进行比较

    银行业务不用浮点数,一般用 BigDecimal 这样一个数学工具

  • 字符拓展

    char c1='a';
    char c2='中';
    

    所有的字符本质上还是数字,每一个字符都对应一个编码

    • 转义字符

      例如:\t 空格 \n 换行

  • 布尔值拓展

    boolean flag = true;
    if (flag=true){}  //新手代码
    if (flag){}       //简化代码(老手)
    
    • 代码要精简易读!

类型转换

  • 由于Java属于强类型语言,所以要进行有些运算的时候,需要用到类型转换。

    低----------------->高
    byte,short,char => int => long => float => double
    

高到低需要强制转换

高到低则自动转换

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

    int i=128;
    byte b=(byte)i
    

  • 强制转换

    (类型)+ 变量名

  • 注意点:

    • 不能把布尔值进行转换

    • 不能把对象类型转换为不相干类型

    • 在把高容量转换到低容量的时候,强制转换

    • 转换的时候可能存在内存溢出,或者精度问题

    • 操作比较大的数的时候,注意溢出问题

- **图中的变量money和years都属于int类型,而两者作运算得出的结果也默认会的int类型,而money*years得出的结果明显超出int字节范围,即内存溢出。**

- **改变其中一个变量的类型即可解决此问题**

> JDK新特性,数字之间可以用下划线
>
> ```java
> int i=200_0000_0000
> ```

变量、常量、作用域

  • 变量即可以变化的量

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

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

  • type varName [=value][{,varName[=value]}];
    //数据类型   变量名 = 值;可以用逗号隔开,来声明多个同类型变量。
    
  • 注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结 束

变量作用域

  • 变量作用域分为类变量、实例变量和局部变量
public class Variable{
    Static int i=123;  //类变量,即静态变量,独立于方法之外的变量,用Static修饰。
    String str="helloworld";//实例变量
    
    public void method(){
        int a=234;    //局部变量    
    }  
}
  • 局部变量

    局部变量必须声明和初始化值

    public class wenjian{
        public static void main(){
            int i=12;
            
        }
    }
    
  • 实例变量

    实例变量从属于对象;如果不自行初始化,则输出这个类型的默认值

    • 不同变量的默认值
      • 数值型变量默认值是0
      • 布尔值的默认值是flase
      • 除了基本类型,其余默认值都是null
  • 类变量 static

    用static关键字修饰的变量

常量

  • 常量(Constant):初始化后不能再改变值,即不会变动的值。

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

  • final 常量名=值
    final double PI=123
    
  • 常量名一般使用大写字符。

变量的命名规范

  • 所有变量、方法、类名:要具有可读性、易读性
  • 类成员变量:首字母小写和驼峰原则。例:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线。例:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符

  • java语言支持如下运算符:
    • 算数运算符:+ - * / % ++ --
    • 赋值运算符:=
    • 关系运算符:> < >= <= == (等于) !=instanceof(不等于)
    • 逻辑运算符:&&(且) ||(或) !(非)
    • 位运算符:& | ^ ~ >> << >>>
    • 条件运算符: ? :
    • 扩展赋值运算符: += -= *= /=

算数运算

  • 同类型变量之间进行算数运算时,算出结果默认为相同类型

  • 不同的类型放一起运算时,得出结果的类型如下:

  • 按照数据类型转换优先级,在运算的变量中只有byte、short、int这三种中的两种,则计算结果默认为int类型。当参与运算的变量中有long、float、double时,运算结果类型默认为优先级较高的类型。

  • 而当运算结果超过默认类型字节范围,即内存溢出时,需要强制转换一个变量为优先级更高的类型,才能得出正常结果。

  • 算数运算符号%意为取余数

  • ++ -- 自增 自减

    a++ 和 ++a 都相当于a=a+1,但是两者的执行顺序不同。——相同

  • 幂运算

    在java中并没有有关幂运算,可以用Math数学工具来完成。很多运算,我们会使用一些工具来操作。

拓展:Idea接收变量的三种快捷方式

例如:double pow = Math.pow(3, 2);

在输入Math.pow(3,2);后,有三种方法:

  • alt+enter
  • Ctrl+alt+v
  • math.pow(3,2)后面加.var 然后回车

关系运算

关系运算返回结果只有true和flase两个值,即布尔值。

拓展


        boolean a=true;
        boolean b=false;
        System.out.println("a&&b" + (b&&a));
       //在执行此段代码时,由于先检测到b为flase,则不会再运算a

实验如下

位运算

  • 位运算,即直接对二进制位进行操作。
/*
A=0011 1100
B=0000 1101

A&B=0000 1100  
A|B=0011 1101
A^B=0011 0001
~B=1111 0010
*/

A&B 即按位与(A且B),同为1则取1,其他情况取0

A|B 即按位或(A或B),有1取1,没1取0

A^B 即按位异或运算,同位取0,不同取1

~B 即按位非(取反),1变为0 , 0变为1

  • 位运算中还有>>(右移)和<<(左移)两种运算

    >>  /2    左移相当于乘以2
    <<  *2    右移相当于除以2
        以上为在正整数的前提下
    

    例如:快速计算2*8

扩展运算符

  • java中的扩展运算符为+=、-=、/=、%=、*=

    例:a+=b 等同与a=a+b

    其他扩展运算符同理

  • 字符串连接符 +

    字符串可以将字符拼接起来

条件运算符

X ? Y : Z 如果X为真,则结果为Y,否则为Z


包机制

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

  • 包语句的语法格式为:

    package pkg1[.pkg2[.kkg3……]]
    
  • 一般利用公司域名倒置作为包名

    例:百度 命名方式:com.baidu.www

  • 导入包语法格式

    import package1[.package2……].(classname|*);
    
  • 通配符

  • 《阿里巴巴Java开发手册》


JavaDoc

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

  • 参数信息

    @author 作者名

    @version 版本号

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

    @param 参数名

    @return 返回值情况

    @throws 异常抛出情况

如何生成API文档

方法一

方法二

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

路漫漫其修远兮,吾将上下而求索!

posted on 2021-02-25 16:35  滚滚小橘猫  阅读(92)  评论(0)    收藏  举报

导航