java基础语法

java基础语法

所有笔记基础狂神说的视频, 感兴趣得点击下面狂神说,各种学习视频等都是免费的,再此也要感谢狂神!!!

狂神说

养成写笔记和注释的习惯,代码规范

注释

单行注释:

//

多行注释:

/* */

文档注释:

/**

*内可写参数

*/

标识符

关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xHGZqfIN-1610460490168)(https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.bubuko.com%2Finfo%2F201711%2F20180111005438093971.png&refer=http%3A%2F%2Fimage.bubuko.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613014737&t=091fab7fca588e0de2a28c4ffbd54bb1)]

标识符规范

java基础语法_第1张图片

数据类型

八大基本数据类型

  • 数值型

    • 整数型

      • byte:占一个字节,范围为-128~127
      • short:占两个字节,范围为-32768~32737
      • int:占四个字节,范围为-2147483648~2147483647
      • long:占八个字节,范围为-9223372036854775808~9223372036854775807
    • 浮点型

      • float:占4个字节
      • double:八个字节
    • 字符型

      • char
  • 布尔类型

    • boolean:占一个位,值为true或者false;

1bit表示1位,1Byte表示一个字节 1Byte=8bit、1024B=1KB、1024KB=1M、1024M=1G、1024G=1TB.

整数扩展:二进制0b、十进制、八进制0、十六进制0x 0~9 A~F;

#这里详细说一下给大家大概演示一下十六进制
 0x1~9=1~9
 0xA~F=10-15
 0x10=16   
#我想你们应该可以看懂吧!!!

java基础语法_第2张图片

浮点型拓展

float :由以下得知 : 有限 离散 舍入误差 接近但不等于

float a=0.1f;
double b=0.1;
System.out.println(a);//0.1
System.out.println(b);//0.1
System.out.println(a==b);//false 不相等
float a=123456789f;
double b=a+1;		
System.out.println(a);//1.23456792E8 这是它的值 如果你问为什么是这个? 
System.out.println(b);//1.23456792E8 不知道
System.out.println(a==b);//true 相等  重点  b=a+1  然后b==a?

由以上得知最好完全避免使用浮点数进行比较

BigDecimal 数学工具类 用于计算的类


字符拓展

char a='a';
char b='汪';
System.out.println(a);//a
System.out.println((int)a);//97
System.out.println(b);//汪
System.out.println((int)b);//27754
//由此得知所有的字符本质还是数字
//编码 Unicode 查一张表: a=97,A=65 占2字节  0~65536, Excel表格 2^16=65536

引用数据类型

  • 接口
  • 数组

类型转换

  • 强制转换 (类型)变量名 由高到低
  • 自动转换 由低到高
  • 不能对布尔型进行转换
  • 不能吧对象类型转换为不相干的类型
  • 转换的时候可能存在内存溢出、或者精度问题!

变量

可以变化的量

变量的概念

  • 内存中的一个存储区域

  • 该区域有自己的名称(变量名)和类型(数据类型)和值

  • Java中每个变量必须先声明,再赋值,然后才能使用

  • 该区域的数据可以在同一类型范围内不断变化

  • Java 中的变量有四个基本属性:变量名,数据类型,存储单元和变量值

常量

不变化的量

作用域

  • 类变量:独立于方法之外的变量,用 static 修饰。
    • 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
    • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
    • 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
    • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
    • 静态变量在第一次被访问时创建,在程序结束时销毁。
    • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
    • 默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
    • 静态变量可以通过:ClassName.VariableName的方式访问。
    • 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。
  • 实例变量:独立于方法之外的变量,不过没有 static 修饰。
    • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
    • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
    • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
    • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
    • 实例变量可以声明在使用前或者使用后;
    • 访问修饰符可以修饰实例变量;
    • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
    • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
    • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。
  • 局部变量:类的方法中的变量。
    • 局部变量声明在方法、构造方法或者语句块中;
    • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
    • 访问修饰符不能用于局部变量;
    • 局部变量只在声明它的方法、构造方法或者语句块中可见;
    • 局部变量是在栈上分配的。
    • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

常量and变量命名规范

java基础语法_第3张图片

运算符java基础语法_第4张图片

int a=3;
int b=a++;//先给b赋值,在自增
int c=++a;//先自增,再给c复制

位运算符

A = 1010 0011;
b = 0000 1111;

A&B = 0000 0011 //全是1才得1
A|B = 1010 1111 //有1得1
A^B = 1010 1100 //相同为0反之得1
 ~B = 1111 0011 //
    
// <<  左移*2   >> 右移/2    基于二进制
    
0000 0000 0   
0000 0001 1      
0000 0010 2  
0000 0011 3 
0000 0100 4     
0000 1000 8 
0001 0000 16     

字符串链接符演示

int a=1;
int b=2;
System.out.print(a+b)// 3
System.out.print(""+a+b) //12  +字符串连接符
System.out.print(a+b+"") //3

三元运算符

x ? y : z
//如果x为ture,则输出y,否则输出z

java基础语法_第5张图片

你可能感兴趣的:(笔记,java,javase)