欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础--初学时记

程序员文章站 2022-04-28 07:56:48
...

Java基础

注释

单行注释

//注释

多行注释

/* */

文档注释

/** */

标识符

关键字

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short statuc super
switch synchronized this throw throws
transient try void volatile while

标识符注意点

  • 所有标识符都应该以字母,美元符或者下划线开始
  • 首字符之后可以任意使用字母,美元符,下划线或者数字
  • 不能使用关键字当作变量名或者方法名
  • 标识符是大小写敏感的

数据类型

强类型语言

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

基本类型

基本类型比较值

数值类型

整数类型
  • byte 占一个字节,范围:-128–127

  • short占两个字节,范围:-32768–32767

  • int占四个字节,范围: -2147483648 (-2的31次方)–2147483647 (2的31次方-1)

  • long占八个字节,范围:-9223372036854775808 (-2的63次方)–9223372036854775807 (2的63次方-1)[数字后面加L]

    二进制0b 0b10=2

    十进制 10=10

    八进制0 010=8

    十六进制0x 0x10=16

浮点类型

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

银行使用BigDecimal数学工具类,不使用float

  • float占四个字节[数字后面加F]
  • double占八个字节
字符、

所有字符本质还是数字

  • 字符类型char占两个字节
  • 转义字符\t 制表符(table)\n 换行符
Boolean类型
  • 占一位,值为ture或false

引用类型

引用类型相比较比较内存地址

接口

数组

字节

1bit表示1位

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

1024B=1KB

1024KB=1M

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

字节

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

1B(byte,字节)=8bit(位)

字符

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

类型转换

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

  • 不能对布尔值进行强制转换
  • 不能将对象转换为不相干类型
  • 高容量转换低容量需要强制转换,强制转换可能存在内存移除或者精度问题

强制转换

高–>低

int i = 20;

byte b = (byte)i;

自动转换

低–>高

int i =20;

double b = i;

变量

  • 变量:可变化的量

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

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

    注意事项:

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

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

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

变量作用域

类变量

static int allClicks = 0 ;

static用于提升作用域,常用于单例模式

实例变量

String st = "hello world";

局部变量

public void method(){
    int i = 0 ;
}

变量命名规范

  • 所有变量、方法、类名要见名知意
  • 类成员变量:首字母小写和驼峰原则
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字幕和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则

常量

  • 常量(Constant):初始化后不能在改变值

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

  • 常量名一般使用大写

    final double PI = 3.14;

    final为修饰符。

    当用final修饰一个类时,表明这个类不能被继承

    在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的

    final详解:final

运算符

  • 算数运算符:+,-,*,/,%,++,–
  • 复制运算符:=
  • 关系运算符:>,<,<=,>=,==,!=instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符 ? :
  • 扩展复制运算符:+=,-=,*=,/=

自增运算符

++,–

a++ :a=a+1 先赋值再自增

++a:先自增再赋值

a-- :a=a-1 先赋值再自减

–a:先自减再赋值

幂运算

2^3 2x2x2 =8

double pow = Math.pow(2,3);//2^3

逻辑运算

  • 与(and):&& ,或(or):||,非(取反):!

    boolean a = ture;
    boolean b = false;
    
    a&&b=false
    a||b=ture
    !a&&b=ture
    

位运算

位运算例子

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=16:2<<3=16

    << =*2 ,>>=/2

    0000 0010

    0001 0000

三元运算

字符串连接符

字符串链接符:“+”

int a = 10;
int b = 20;

System.out.println(""+a+b);//输出1020
System.out.println(a+b+"");//输出30
//输出语句中,遇到字符串之后的"+"用作拼接而不是计算

三元运算符

? :

x ? y : z;

当x结果为true时,结果为y,否则为z

包机制

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

  • 包语句语法:

    package pkg1.pkg2.pkg3…

  • 导入包

    import package1.package2.classname

JavaDoc

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

参数信息

  • @author 作者名
  • @version版本号
  • @since指明需要最早使用的jdk版本
  • @param参数名
  • @return返回值情况
  • @throws异常抛出情况