Java基础笔记(一)基础语法

1. 1.1 标识符命名规则

  1. 标识符命名规则
    • 所有标识符都以字母(A-Z或者a-z)、美元符号($)或者下滑线(_)开始
    • 首字符后可以使字母(A-Z或者a-z)、美元符号($、下滑线(_)或者数字
    • 不能使用关键字作为变量名或方法名

1.1.2 数据类型

  1. 数据类型
  • byte占1个字节

  • short占2个字节

  • int占4个字节

  • long占8个字节(定义时数字后加L,不要用小写l,可能会误认为是数字1)

  • float占4个字节(定义时数字后加F)

  • double占8个字节

  • char占2个字节

  • boolean占1位

  • 字符只能有一位

  • String是类,不是关键字

  1. 基本类型
  • byte,short,int,long,float,double,char,boolean
  1. 引用类型
  • 类,接口类型,数组类型,枚举类型,注解类型,字符串类型

1.1.3数据类型拓展

  • 整数拓展
二进制十进制八进制十六进制
0b开头0开头0x开头
  • 浮点数

    银行业务不能用浮点数,得用BigDecimal类

  • 字符

    Unicode编码(0-65536)

    char c1 = '\u0061';//a
    
    String s1 = new String("hello");
    String s2 = new String("hello");
    System.out.println(s1==s2);//false
    System.out.println(s1.equals(s2));//true
    String s3 = "hello";
    String s4 = "hello";
    System.out.println(s3==s4);//true
    System.out.println(s3.equals(s4));//true
    
    1. ==:比较引用类型比较的是地址值是否相同

    2. equals:比较引用类型默认也是比较地址值是否相同,注意:String类重写了equals()方法,比较的是内容是否相同。

1.1.4 类型转换

//优先级:低 --------------------------------> 高
byte,short,char->int->long->float->double   
//强制转换	(类型)变量名	高->低
//自动转换				 低->高
int i = 128;
byte b = (byte)i;//内存溢出
System.out.println(i);//128
System.out.println(b);//-127
  • 注意点:
    1. 不能对布尔类型进行转换
    2. 不能把对象类型转换为不相干的类型
    3. 在转换的时候可能存在内存溢出或者精度问题
//在不同类型数据计算时,需要先转换类型再计算
int years = 20;
int money = 10_0000_0000;//JDK7新特性,数字之间可以用下划线分隔
int total_0 = money*years;//-1474836480 溢出了
int total = money*((long)years);//200_0000_0000

1.1.5 变量和常量

  • 类变量

  • 实例变量

  • 局部变量

    如果不初始化,数值型的默认值为0(0.0),布尔类型的默认值为false,除了基本类型,其他的默认值为null

public class Main {
    /**/
    static int salary=2500;		//类变量				
    int age;					//实例变量
    public static void main(String[] args) {
        Main m = new Main();
        System.out.println(m.age);
    }
    public void method(){
        int i = 0;				//局部变量
    }
}
/*实例变量必须用new来实例化一个对象才能使用,而类变量则不用
  局部变量的作用域为当前方法,局部变量必须声明和初始化
  */
  • 常量

    常量名最好用大写字母和下划线

//(final)修饰符,不存在先后顺序
static final double PI = 3.14;

1.1.6 运算符

  • 判断相等用“==”

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

  • 不同类型的整数相加:

    • 有Long为Long
    • 其余为int
  • 不同类型的小数相加:

  • 有double为double

  • 位运算

    • 与(&)或(|)非(~)异或(^)
    • 左移(<<)右移(>>)
  • 幂运算

    double pow = Math.pow(3,2);
    System.out.println(pow);//8
    
  • 字符连接符(+)

    int a = 10;
    int b = 20;
    System.out.println(""+a+b);//1020
    System.out.println(a+b+"");//30
    
  • 三元运算符(? : )

    int score = 50;
    String type = score < 60 ?"不及格":"及格";//不及格
    

1.1.7 JavaDoc

  • @author 作者
  • @version 版本号
  • @param 参数名
  • @return 返回值
  • @throws 异常抛出
  • @exception 异常类名
  • @since 开发时JDK版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值